Вы говорите, что файлы справки не дают вам то, что вам нужно?
Invoke-CimMethod
# Get specifics for a module, cmdlet, or function
(Get-Help -Name Invoke-CimMethod).Parameters
(Get-Help -Name Invoke-CimMethod).Parameters.Keys
<#
# Results
ClassName
ResourceUri
CimClass
Query
QueryDialect
InputObject
ComputerName
CimSession
Arguments
MethodName
Namespace
OperationTimeoutSec
Verbose
Debug
ErrorAction
WarningAction
InformationAction
ErrorVariable
WarningVariable
InformationVariable
OutVariable
OutBuffer
PipelineVariable
WhatIf
Confirm
#>
Get-Help -Name Invoke-CimMethod -Examples
# Results
Invoke-CimMethod –Query ꞌselect * from Win32_Process where name like "notepad%"ꞌ –MethodName "Terminate"
$x = Get-CimInstance -Query ꞌSelect * from Win32_Process where name like "notepad%"ꞌ
Invoke-CimMethod -InputObject $x -MethodName "GetOwner"
Invoke-CimMethod –ClassName Win32_Process –MethodName "Create" –Arguments @{ Path = "notepad.exe" }
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ CommandLine = ꞌnotepad.exeꞌ; CurrentDirectory = "C:\windows\system32" }
$c = Get-CimClass –ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" –Arguments @{ CommandLine = ꞌnotepad.exeꞌ }
Get-Help -Name Invoke-CimMethod -Full
Get-Help -Name Invoke-CimMethod -Online
Итак, все вещи, рассмотренные выше. Попробуйте что-то вроде (это не проверено, так как у меня нет среды для проверки)
Invoke-CimMethod -MethodName Put -InputObject (
Get-CimONstance -Class win32_printer |
ForEach-Object {$PSItem.WorkOffline = $false}
)