我正在尝试使用获取可用更新的列表
$UpdateSession = New-Object -ComObject 'Microsoft.Update.Session'
Write-Host "[1]"
$UpdateSession.ClientApplicationID = 'MSDN PowerShell Sample'
Write-Host "[2]"
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
Write-Host "[3]"
$SearchResult = $UpdateSearcher.Search("IsInstalled=0 and IsHidden=0")
Write-Host "[4]"
最后一条指令 $SearchResult = $UpdateSearcher.Search("IsInstalled=0 and IsHidden=0")
冻结,什么都不返回,我无法弄清楚原因。
输出:
[1]
[2]
[3]
<running...>
我认为它实际上是在做某事,因为我不能用CTRL + C来阻止它。必须重新启动Powershell。
(W7 SP1,.NET Framework 4.6.1,Powershell 4.0)
任何想法?
编辑:从Get-WindowsUpdates.ps1脚本中获取这些行
这在PS 5.0中适用于我 - 您是否将此脚本作为域管理员运行?政策会阻止您搜索更新吗?
—
SimonS
不我不是。我可以使用get-hotfix获取已安装更新的完整列表。无法工作的东西是如何工作的,他怎么知道哪些更新可用,网络请求还是什么?
—
Svart 2016年
我找到了使用以下行的方法:(
—
Svart 2016年
$listeMAJ = Get-HotFix -ComputerName $ip -Credential $cred | Select-Object description,hotfixid,installedby,@{l="InstalledOn";e={[DateTime]::Parse($_.psbase.properties["installedon"].value,$([System.Globalization.CultureInfo]::GetCultureInfo("en-US")))}} $derMAJ = $listeMAJ | Sort-Object -Property installedon | select-object -last 1
实际上是两行)。并设法获得预期的结果(已安装的更新列表)。现在我发现它是否是今天的最后一个,不起作用
我把4号线在我的岗位从链接的脚本
—
Svart