使用 PowerShell 检查 Windows 服务状态
Check Windows Services status using PowerShell
通过在 PowerShell 中编写脚本,我想确定 Windows 服务是否 运行ning 或 运行ning。为此,我构建了以下脚本:
#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 语句,该语句应该检查服务是否为 运行ning,所以我在这里所说的是,如果服务不是 运行ning,则启动服务,创建一个文本文件并向其中输出一条确认消息。
在上面的脚本上点击 运行 后,似乎什么也没有发生。难道我做错了什么?我错过了什么吗?任何帮助将不胜感激!
您正在使用服务显示名称而不是服务名称。
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
通过在 PowerShell 中编写脚本,我想确定 Windows 服务是否 运行ning 或 运行ning。为此,我构建了以下脚本:
#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 语句,该语句应该检查服务是否为 运行ning,所以我在这里所说的是,如果服务不是 运行ning,则启动服务,创建一个文本文件并向其中输出一条确认消息。
在上面的脚本上点击 运行 后,似乎什么也没有发生。难道我做错了什么?我错过了什么吗?任何帮助将不胜感激!
您正在使用服务显示名称而不是服务名称。
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