3

我们正在审查我们的代码并尝试用 CIM 替换 WMI CmdLets。以下代码工作正常:

$Query = "SELECT InstalledLocation,ProductVersion,ProductName FROM SMS_R_System
JOIN
    SMS_G_SYSTEM_Installed_Software on SMS_R_System.ResourceID =
    SMS_G_SYSTEM_Installed_Software.ResourceID
WHERE SMS_R_SYSTEM.Name=""$C"" "

Get-WmiObject -ComputerName $SCCMServer -Namespace $SCCMNameSpace -Query $Query

因为 WMI 默认使用 DCOM,所以我们认为它就像使用以下代码一样简单:

$CimSessionOption = New-CimSessionOption –Protocol DCOM
$CimSession = New-CimSession -ComputerName $SCCMServer -SessionOption $CimSessionOption
Get-CimInstance -CimSession $CimSession -Namespace $SCCMNameSpace -Query $Query

New-CimSession : Access denied但是尽管我们使用相同的连接协议,但我们收到了错误。

我们这里有什么明显的遗漏吗?

4

0 回答 0