2016-09-19 110 views
1

我有一个文本文件中的服务列表。我正在使用Get-Content中的内容,如下所示。但它从文件服务时不工作。当只使用get-service Service *并使用下面的代码时,它就可以工作。请帮助我修改包含更改的代码。 设置,服务线和如果条件.STATUS并请将.Name没有工作无法获取服务的状态powershell

$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." 
    } 
} 

注:我尝试使用**使字加粗,但没有发生内部代码

回答

2

您可以选择使用Get-Service小命令,以查询状态检索服务实例:

$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." 
    } 
} 
+0

它是确定使用启动服务$ Servi大街ce代替$ serviceInstance.Start() 作为文件有服务需要启动一个接一个的独立服务 – RishuA

+0

是的,你也可以使用Start-Service –

+0

谢谢。我的主要问题是.Status,它解决了。我尝试了同样的事情,但我知道为什么它没有奏效,里面拼错。 – RishuA