如何让powershell检查我的计算机';的Windows更新已过期超过30天
我正在测试我的电脑的windows更新是否超过30天,如果超过30天,我会弹出一条消息警告用户 有人能帮我测试一下日期吗,因为无论发生什么情况,你的WINDOWS更新都是最新的,这似乎给了我相同的结果 我想我需要更改日期的格式,以便能够根据如何让powershell检查我的计算机';的Windows更新已过期超过30天,powershell,windows-update,Powershell,Windows Update,我正在测试我的电脑的windows更新是否超过30天,如果超过30天,我会弹出一条消息警告用户 有人能帮我测试一下日期吗,因为无论发生什么情况,你的WINDOWS更新都是最新的,这似乎给了我相同的结果 我想我需要更改日期的格式,以便能够根据Get date结果对其进行测试 Get-WmiObject -Class win32_reliabilityRecords -filter "sourcename = 'Microsoft-Windows-WindowsUpdateClient'" -Err
Get date
结果对其进行测试
Get-WmiObject -Class win32_reliabilityRecords -filter "sourcename = 'Microsoft-Windows-WindowsUpdateClient'" -ErrorAction SilentlyContinue |
select -first 1 @{LABEL = "date"; EXPRESSION = {$_.ConvertToDateTime($_.timegenerated)}}, @{LABEL = 'Update'; EXPRESSION = {$_.message}} |
FT -AutoSize -Wrap
$DateTimeNow = Get-Date
$Daysback = "-31"
$Updatedate = $_.ConvertToDateTime
if ($DateTimeNow.AddDays($Daysback) -lt $Updatedate.InstalledOn.Date) {
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("***WARNING***YOUR WINDOWS UPDATES ARE OVER A MONTH OUT OF
DATE. PLEASE CONTACT IT", 0, " Windows Update Check", 0x1)
}
else {
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("YOUR WINDOWS UPDATES ARE IN DATE", 0, " Windows
Update Check", 0x1)
}
这应该起作用:
$LastUpdate = Get-WmiObject -Class win32_reliabilityRecords -filter "sourcename =
'Microsoft-Windows-WindowsUpdateClient'" -ErrorAction SilentlyContinue |
Select -first 1 @{LABEL = "date";EXPRESSION = {$_.ConvertToDateTime($_.timegenerated)}},@{LABEL = 'Update';EXPRESSION = {$_.message}}
$DateTimeNow = Get-Date
$Daysback = -31
if($LastUpdate.Date -lt $DateTimeNow.AddDays($Daysback)){
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("***WARNING***YOUR WINDOWS UPDATES ARE OVER A MONTH OUT OF DATE. PLEASE CONTACT IT",0," Windows Update Check",0x1)
} else {
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("YOUR WINDOWS UPDATES ARE IN DATE",0," Windows Update Check",0x1)
}
更改:
- 您没有返回变量的
调用的结果,而是测试始终为空的Get WmiObject
$Updatedate
- 你的约会逻辑需要颠倒