![](/img/trans.png)
[英]Start and stop windows service on a Azure VM using powershell
[英]Powershell script to Stop and start windows Service using S.no
我在文本文件中列出了我的 Windows 服務名稱,我添加了代碼以通過在名稱前面添加 S.no 來顯示它,
Listofservices.txt 包含
打印后台處理程序
Windows 更新
遠程桌面服務
Get-Content 'C:\Services\Listofservices.txt' | ForEach-Object { $i = 1 } { "$i.$_" ; $i++ }
結果
現在我想停止,只輸入 S.no 來啟動服務,我不想輸入確切的全名
$userinput = read-host -prompt "Enter the S.no to Stop/Start"
Stop-Service -Name "$userinput" -Force -Confirm
例如,如果我輸入數字 1,Print Spooler 服務將停止
這是您可以按照已有代碼執行此操作的一種方法,但如評論中所述,使用Out-GridView -PassThru
執行此操作要簡單得多。 另請注意,對於這些服務,PowerShell 進程很可能需要提升。
$file = Get-Content path\to\file.txt
$file | ForEach-Object { $i = 1 } { "$i.$_" ; $i++ }
$userinput = Read-Host "Enter the S.no to Stop/Start"
try {
$choice = $file[-1 + $userinput]
if(-not $choice) {
throw 'Invalid selection..'
}
$service = Get-Service $choice
if('Running' -eq $service.Status) {
$service.Stop()
"$($service.Name) has been stopped.."
return # end the script here
}
$service.Start()
"$($service.Name) has been started.."
}
catch {
if($_.Exception.InnerException.InnerException.NativeErrorCode -eq 5) {
return "Process needs to be elevated."
}
"An error ocurred: $_"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.