繁体   English   中英

重新启动服务并通过PowerShell在远程服务器上检查状态

[英]Restarting a service and check for status on a remote server via PowerShell

我是PowerShell的新手。 我想创建一个脚本,该脚本将停止正在运行的服务,然后将其启动并显示该服务的状态,但是在合并它们时遇到了麻烦。 目前,我可以使用“获取服务”来启动和停止服务以及分别检查其状态。 有什么方法可以将它们组合成一个脚本。 理想情况下,脚本将检查服务是打开还是关闭并执行if / else函数。 (例如,如果该服务已关闭,请使其保持关闭状态;如果已关闭,则将其打开;等等)

$servers = Get-Content -Path "C:\Scripts\Servers.txt
$services = Get-COntent -Path "C:\Scripts\Services.txt   

foreach($server in $servers){
    foreach($service in $services){
        (Get-Service -computername $Servers -name $service).Stop()
        (Get-Service -computername $Servers -name $service).Start()    
         Write-Host (Get-Service -ComputerName S$Servers -Name $service).Status
    } 
}
  • 您可以选择使用.stop()方法或
  • 将服务通过管道传输到Start-Service cmdlet。

未经测试

$servers = Get-Content -Path "C:\Scripts\Servers.txt"
$services = Get-COntent -Path "C:\Scripts\Services.txt"   

foreach($server in $servers){
    foreach($service in $services){
        (Get-Service -computername $Server -name $service).Stop()
        (Get-Service -computername $Server -name $service).Start()    
         Write-Host (Get-Service -ComputerName $Server -Name $service).Status
    } 
}

$servers = Get-Content -Path "C:\Scripts\Servers.txt"
$services = Get-COntent -Path "C:\Scripts\Services.txt"   

foreach($server in $servers){
    foreach($service in $services){
        Get-Service -ComputerName $Server -Name $service | Stop-Service
        Get-Service -ComputerName $Server -Name $service | Start-Service    
         Write-Host (Get-Service -ComputerName $Server -Name $service).Status
    } 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM