![](/img/trans.png)
[英]Powershell script to check services - start services - return status that it is started
[英]Check Windows Services status using PowerShell
通过在PowerShell中编写脚本,我想确定Windows服务是否正在运行。 为此,我构建了以下脚本:
#Variables
$winupdate = 'Windows Update'
$running = 'Running'
#Function
function CheckServiceStatus {
param($winupdate)
$getservice = Get-Service -Name $winupdate
if($getservice.Status -ne $running){
Start-Service $winupdate
Write-host "Starting" $winupdate "service"|out-file "C:\Users\ArifSohM\Desktop\Stuff for PowerShell\results.txt"
}
}
为了解释,我在这里尝试做的只是创建一个名为“ CheckServiceStatus”的函数。 在该函数中,我创建了一个参数,并将Windows服务名称的变量放在该参数中。 然后,将“ Get-Service” cmdlet放入另一个名为“ $ getservice”的变量中。 然后,我开始执行一个IF语句,该语句应该检查该服务是否正在运行,所以我在这里说的是,如果该服务未运行,请启动该服务,创建一个文本文件并向其中输出一条确认消息。 。
按上述脚本运行后,似乎什么也没有发生。 难道我做错了什么? 我想念什么吗? 任何帮助都感激不尽!
您正在使用服务显示名称而不是服务名称。
Windows更新“ wuauserv”的服务名称更改了winupdate变量部分,你应该很好
$winupdate = 'wuauserv'
函数定义应在调用该函数和函数调用语句之前
完整代码:
function CheckServiceStatus {
param($winupdate)
$getservice = Get-Service -Name $winupdate
if($getservice.Status -ne $running){
Start-Service $winupdate
Write-output "Starting" $winupdate "service"|out-file "C:\Users\ArifSohM\Desktop\Stuff for PowerShell\results.txt"
}
}
#Variables
$winupdate = 'wuauserv'
$running = 'Running'
CheckServiceStatus $winupdate
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.