[英]Power Shell service restart failing
下面是我重新啟動Windows服務的代碼,我嘗試重新啟動的服務是我已經安裝在計算機中的第三方軟件的服務。
代碼中的else if
部分可以像停止服務時一樣正常工作,它將啟動服務,但是if部分默認情況下會失敗,例如restart命令正在停止服務,但無法再次啟動服務。
任何幫助表示贊賞。
$service = $args[0]
$servstatus = Get-Service $service.status
if ($servstatus = "Started") {
Restart-Service $service -Force
} elseif ($servstatus = "Stopped") {
Start-Service $service -Force
}
您是否查看了事件日志,以查看為什么服務無法啟動? 這不是PowerShell問題,很可能是服務問題。
狀態應為“正在Running
,而不是“已Started
。
資料來源: Get-Service
PS中的AND等於運算符為-eq
not =
。
$service = $args[0]
$servstatus = Get-Service $service.status
if ($servstatus -eq "Started") {
Restart-Service $service -Force
} elseif ($servstatus -eq "Stopped") {
Start-Service $service -Force
}
使用=
您實際上是為$servstatus
分配一個值。
Restart-Service $args[0]
應該足夠了。 它將啟動已停止的服務並重新啟動正在運行的服務。 如果您喜歡更詳細的代碼,則應使用以下命令獲取服務器的狀態(以及sodawillow修復的問題):
$servstatus = (Get-Service $service).status
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.