【问题标题】:Starting multiple Windows services if stopped如果停止则启动多个 Windows 服务
【发布时间】:2016-12-13 09:54:49
【问题描述】:

我已经尝试了以下几位,我正在尝试创建一个函数以插入另一个 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', 'service1'

Get-Service | ? {
$services -contains $_.Name -and $_.Status -eq 'Stopped'
} | Start-Service

}

第一个 sn-p 似乎没有正确运行,但我没有收到错误。我可以单独运行每一行,但不能按照我设置的方式运行。 第二个是我最初的尝试,取自另一个 SO question。 Get-Service 似乎不喜欢包含多个服务的 $services 变量。

【问题讨论】:

    标签: windows powershell


    【解决方案1】:

    试试这个:

    function start-OService {
    $services = 'service1', 'service1'
    
        foreach ($service in $services)
        {
            if ((Get-Service $service).Status -eq "Stopped")
            {
            Start-Service $service
            }
        }
    
    }
    

    【讨论】:

    • 试过这个 - 似乎没有发生任何事情。我都“停止”了,但它们都没有启动,或者当我尝试一个“停止”时
    • 哎呀,明白了。我的错字!
    • 一个班轮:"service1", "service2" |获取服务 | ?{ $_.Status -eq "已停止" } |启动服务
    • 只是想保留OP结构,这样他会更容易理解
    【解决方案2】:

    一个班轮:

    "service1", "service2" | Get-Service | ?{ $_.Status -eq "Stopped" } | Start-Service 
    

    【讨论】:

      【解决方案3】:

      要启动在给定时间停止的所有服务,下面的脚本会很有帮助

      $StoppedServices=Get-Service | where {$_.Status -eq "Stopped"}
      foreach ($item in $StoppedServices)
      {
      $Name=$item.Name
          Start-Service -Name $Name
      }
      

      【讨论】:

        【解决方案4】:
        function start-OService {
        $services = 'service1', 'service1'
        
            $services | % {
                $service =  get-service -name $_;
                if($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Stopped)
                {
                    Write-Output "Starting $_"
                    $service.Start()
                }
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2023-04-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多