Мы проверяем наш код и пытаемся заменить WMI CmdLets на CIM.Следующий код работает нормально:
$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
хотя мы используем один и тот же протокол соединения.
Есть ли что-то очевидное, чего нам здесь не хватает?