PowerShell错误:"找不到会员"仅在条件

时间:2017-05-17 13:53:53

标签: powershell powershell-v5.0

检查远程计算机上安装了多少更新的简单脚本:

$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(),但为什么不尝试执行它?

1 个答案:

答案 0 :(得分:1)

您正在尝试 0分配给该方法。相反,您不能使用-eq 比较

if($updatesearcher.gettotalhistorycount() -eq 0){ Write-Verbose "no update entries found"}