Замените Get-WmiObject на Get-CimInstance

Мы просматриваем наш код и пытаемся заменить CmdLets WMI на 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 хотя мы используем тот же протокол соединения.

Есть ли что-то очевидное, что мы здесь упускаем?

0 ответов

Другие вопросы по тегам