Powershell:这个命令坚持我的脚本,冻结


0

我正在尝试使用获取可用更新的列表

$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年

什么是错误使用的代码欺骗你的最后一个问题
DavidPostill

我找到了使用以下行的方法:( $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实际上是两行)。并设法获得预期的结果(已安装的更新列表)。现在我发现它是否是今天的最后一个,不起作用
Svart 2016年

我把4号线在我的岗位从链接的脚本
Svart
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.