当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息

作者:精品下载站 日期:2024-12-14 07:26:09 浏览:17 分类:玩电脑

PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息


使用 WSUS,您可以记录计算机的更新状态。但是如果没有可用的 WSUS 怎么办?在本文中,我介绍如何使用 PowerShell 获取所有域计算机的所有已安装更新的列表。

获取修补程序

使用这个有用的命令,您可以显示本地主机上所有已安装的更新。


Get-Hotfix

[玩转系统] PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息

要仅显示您正在查找的修补程序,您可以使用Where-Object 限制结果。


Get-Hotfix | Where-Object HotfixID -like KB31*

[玩转系统] PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息


Get-Hotfix | Where-Object HotfixID -eq "KB3186568"

[玩转系统] PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息

获取所有域计算机上所有已安装修补程序的列表

为此,我们需要按名称列出所有域计算机的列表。我们可以通过使用 Get-ADComputer 来实现这一点。注意:此方法的缺点是我们不知道计算机是否已打开。如果您想知道哪些计算机无法访问,请删除参数 ErrorAction SilentlyContinue。为了使其更加用户友好,我建议使用 Out-GridView。


Invoke-Command -ComputerName (Get-ADComputer -Filter *).Name {Get-HotFix} -ErrorAction SilentlyContinue | Select-Object PSComputername, HotfixID, InstalledOn | Out-GridView

[玩转系统] PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息

查找尚未安装特殊修补程序的计算机

确保所有计算机均已打开。要查找所有未安装修补程序 KB4444 的计算机,请运行


(Get-ADComputer -Filter *).Name | Foreach-Object {If (!(Get-Hotfix -ID "KB4444" -ComputerName $_ -ErrorAction SilentlyContinue)) {Add-Content $_ -Path C:\Temp\missing4444.txt}}

[玩转系统] PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息

完成后运行记事本并查看您的列表。

[玩转系统] PowerShell:收集有关所有域计算机上已安装的更新(修补程序)的信息

相关链接

在 Microsoft 文档中查找有关 Get-Hotfix 的更多信息:https://docs.microsoft.com/de-de/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-5.1

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯