我正在编写的代码假设使用 CIM 启动当前可用于服务器的任何补丁。由于我的网络需要 DCOM 协议,我必须使用 CIM。
我正在使用 ` 以便于查看
以下 wmi 代码有效:
$ComputerName = 'Foo'
[System.Management.ManagementObject[]] $CMMissingUpdates = @(`
Get-WmiObject -ComputerName $ComputerName `
-Query "SELECT * FROM CCM_SoftwareUpdate WHERE ComplianceState = '0'" `
-Namespace "ROOT\ccm\ClientSDK" `
-ErrorAction Stop)
$null = (Get-WmiObject -ComputerName $ComputerName `
-Namespace "root\ccm\ClientSDK" `
-Class "CCM_SoftwareUpdatesManager" `
-List).InstallUpdates($CMMissingUpdates)
我使用 CIM 所做的不起作用:
$null = (Invoke-CimMethod -CimSession $Computer.CimSession `
-Namespace 'ROOT\ccm\ClientSDK' `
-ClassName 'CCM_SoftwareUpdatesManager' `
-MethodName 'InstallUpdates').InstallUpdates($CMMissingUpdates)
我不仅对我的解决方案感兴趣,Invoke-CimMethod
而且对如何解决它感兴趣。我似乎无法确定如何在 CIM 中查看和实现类的方法。