2016-09-19 109 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