Powershell,如何获得最后一次Windows更新安装的日期或至少检查更新?

cedebl8k  于 2023-02-25  发布在  Windows
关注(0)|答案(4)|浏览(246)

我正在试图找到一种方法来检索日期/时间的最后windows更新要么安装,或检查。
到目前为止,我已经找到了一个函数,允许列出最近的Windows更新,但它是太多的数据和过于臃肿,这样一个简单的功能。其次,我试图访问注册表,虽然我没有运气检索的值,我后。
我正在Windows 10机器上测试这一点,虽然该软件可能会驻留在Windows Server 2012 R2上。
下面是我尝试过的一些代码的示例:

$key = “SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install” 
$keytype = [Microsoft.Win32.RegistryHive]::LocalMachine 
$RemoteBase = [Microsoft.Win32.RegistryKey]::OpenBaseKey($keytype,"My Machine") 
$regKey = $RemoteBase.OpenSubKey($key) 
$KeyValue = $regkey.GetValue(”LastSuccessTime”) 

$System = (Get-Date -Format "yyyy-MM-dd hh:mm:ss")

另外,尝试使用Get-ChildItem

$hello = Get-ChildItem -Path “hkcu:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\”

foreach ($a in $hello) {

$a

}

我已签入注册表编辑器,但此注册表项不存在。转到“Windows更新”路径仅显示应用程序更新,而不显示Windows更新。
EDIT我似乎更接近我的目标与这句话:获取热修复|其中{$_.安装日期-gt 30}
但是如何只检索最近30天内安装的那些呢?而且即使使用Select $_.InstallDate也没有显示很多结果

kg7wmglp

kg7wmglp1#

一个选项:

gwmi win32_quickfixengineering |sort installedon -desc

另一种替代方法是使用com对象 Microsoft.Update.Session,可在此处找到:https://p0w3rsh3ll.wordpress.com/2012/10/25/getting-windows-updates-installation-history/简称:

$Session = New-Object -ComObject Microsoft.Update.Session 
$Searcher = $Session.CreateUpdateSearcher()
$HistoryCount = $Searcher.GetTotalHistoryCount()
# http://msdn.microsoft.com/en-us/library/windows/desktop/aa386532%28v=vs.85%29.aspx
$Searcher.QueryHistory(0,$HistoryCount) | ForEach-Object {$_}
sshcrbum

sshcrbum2#

下面您将了解如何在Powershell的一行中知道上次Windows更新的日期和时间:

(New-Object -com "Microsoft.Update.AutoUpdate"). Results | fl

您还可以使用以下脚本在Windows Server中进行大规模检查:

$ servers = Get-ADComputer -Filter {(OperatingSystem-like "* windows * server *") -and (Enabled -eq "True")} -Properties OperatingSystem | Sort Name | select -Unique Name

foreach ($ server in $ servers) {
write-host $ server.Name

   Invoke-Command -ComputerName $ server.Name -ScriptBlock {
(New-Object -com "Microsoft.Update.AutoUpdate"). Results}
}

摘自:https://www.sysadmit.com/2019/03/windows-update-ver-fecha-powershell.html

dm7nw8vv

dm7nw8vv3#

Get-HotFix |?{$_.InstalledOn -gt ((Get-Date).AddDays(-30))}

qhhrdooz

qhhrdooz4#

使用PowerShell,您可以获得las Windows更新的日期,如下所示:

$lastWindowsUpdate = (Get-Hotfix | Sort-Object -Property InstalledOn -Descending | Select-Object -First 1).InstalledOn

相关问题