如果停止,则启动多个Windows服务
我已经尝试了以下几点,我正在尝试创建一个函数以插入到另一个powershell脚本中如果停止,则启动多个Windows服务,windows,powershell,Windows,Powershell,我已经尝试了以下几点,我正在尝试创建一个函数以插入到另一个powershell脚本中 function start-OService{ Get-Service service1|?{$_.Status -eq 'Stopped'}|Start-Service Get-Service service2|?{$_.Status -eq 'Stopped'}|Start-Service } 而这个 function start-OService { $services = 'service1', '
function start-OService{
Get-Service service1|?{$_.Status -eq 'Stopped'}|Start-Service
Get-Service service2|?{$_.Status -eq 'Stopped'}|Start-Service
}
而这个
function start-OService {
$services = 'service1', 'service1'
Get-Service | ? {
$services -contains $_.Name -and $_.Status -eq 'Stopped'
} | Start-Service
}
第一个代码段似乎运行不正确,但我没有收到错误。我可以单独运行每一行,但不能按设置方式运行。
第二个是我最初的尝试,是从另一个SO问题中提取的。Get Service
似乎不喜欢包含多个服务的$services
变量 试试这个:
function start-OService {
$services = 'service1', 'service1'
foreach ($service in $services)
{
if ((Get-Service $service).Status -eq "Stopped")
{
Start-Service $service
}
}
}
试试这个:
function start-OService {
$services = 'service1', 'service1'
foreach ($service in $services)
{
if ((Get-Service $service).Status -eq "Stopped")
{
Start-Service $service
}
}
}
对于启动在给定时间停止的所有服务,下面的脚本将非常有用
$StoppedServices=Get-Service | where {$_.Status -eq "Stopped"}
foreach ($item in $StoppedServices)
{
$Name=$item.Name
Start-Service -Name $Name
}
对于启动在给定时间停止的所有服务,下面的脚本将非常有用
$StoppedServices=Get-Service | where {$_.Status -eq "Stopped"}
foreach ($item in $StoppedServices)
{
$Name=$item.Name
Start-Service -Name $Name
}
一艘班轮:
"service1", "service2" | Get-Service | ?{ $_.Status -eq "Stopped" } | Start-Service
一艘班轮:
"service1", "service2" | Get-Service | ?{ $_.Status -eq "Stopped" } | Start-Service
尝试过这个-似乎什么都没有发生。我两个都“停止”了,但它们都没有启动,或者当我尝试一个“停止”的时候,哦,明白了。我这边的打字错误!一行:“service1”、“service2”|获取服务|?{$|.Status-eq“Stopped”}启动服务只是想保持OP结构,所以他更容易理解并尝试了这一点-似乎什么都没有发生。我两个都“停止”了,但它们都没有启动,或者当我尝试一个“停止”的时候,哦,明白了。我这边的打字错误!一行:“service1”、“service2”|获取服务|?{$|.Status-eq“Stopped”}启动服务只是想保持OP结构,这样他更容易理解