检查远程计算机上安装了多少更新的简单脚本:
$computername = "remotePC"
$updatesession = [activator]::CreateInstance([type]::GetTypeFromProgID("Microsoft.Update.Session",$computer))
$updatesearcher = $updatesession.CreateUpdateSearcher()
$updatesearcher.gettotalhistorycount()
这个脚本对我运行正常。但是,如果我将最后一行用作if语句条件,如:
if($updatesearcher.gettotalhistorycount() = 0){ Write-Verbose "no update entries found"}
我得到MissingMemberException
:
"调用gettotalhistorycount时出错。找不到会员。"
我不确定为什么它会在if语句中做任何不同的事情。如果我只有if条件打印成员$updatesearcher
:
if( write-host $($updatesearcher | gm )){}
它列出gettotalhistorycount()
,但为什么不尝试执行它?
答案 0 :(得分:1)
您正在尝试将 0
分配给该方法。相反,您不能使用-eq
比较:
if($updatesearcher.gettotalhistorycount() -eq 0){ Write-Verbose "no update entries found"}