无法获取服务PowerShell的状态

时间:2016-09-19 11:22:14

标签: windows powershell window powershell-v2.0 powershell-v3.0

我在文本文件中有一个服务列表。我正在使用Get-Content中的那个,如下所示。但它从文件服务时不起作用。当只使用get-service Service *并使用下面的代码时,它可以工作。请帮我修改代码并进行更改。 设置服务行和 if条件 .Status和.Name 无法正常工作

$TEST= Get-Content "Somelocation\service.txt"

foreach ($service in $TEST )
{

    if($**service.Status** -eq "Stopped")
    {
              Set-Service $**service.Name** -StartupType Manual
              "Starting  $service"
              start-service $service -WarningAction SilentlyContinue

    }
    else
    {
        "$service was already started."
    }
}

注意:我尝试使用**使单词加粗,但不会发生在代码

1 个答案:

答案 0 :(得分:2)

您必须使用Get-Service cmdlet检索服务实例才能查询状态:

$TEST= Get-Content "Somelocation\service.txt"

foreach ($service in $TEST )
{
    $serviceInstance = Get-Service $service
    if($serviceInstance.Status -eq "Stopped")
    {
              Set-Service $service -StartupType Manual
              "Starting  $service"
              $serviceInstance.Start()
    }
    else
    {
        "$service was already started."
    }
}