Invoke-CimMethod
Roept een methode van een CIM-klasse aan.
Syntaxis
Invoke-CimMethod
[-ClassName] <String>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ClassName] <String>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
De Invoke-CimMethod cmdlet roept een methode van een CIM-klasse of CIM-exemplaar aan met behulp van de naam-waardeparen die zijn opgegeven door de parameter Argumenten.
Als de parameter InputObject niet is opgegeven, werkt de cmdlet op een van de volgende manieren:
- Als noch de parameter ComputerName noch de parameter CimSession is opgegeven, werkt deze cmdlet op lokale Windows Management Instrumentation (WMI) met behulp van een COM-sessie (Component Object Model).
- Als de parameter ComputerName of de parameter CimSession is opgegeven, werkt deze cmdlet tegen de CIM-server die is opgegeven door de parameter ComputerName of de parameter CimSession.
Als de parameter InputObject is opgegeven, werkt de cmdlet op een van de volgende manieren:
- Als de parameter ComputerName noch de parameter CimSession is opgegeven, gebruikt deze cmdlet de CIM-sessie of computernaam van het invoerobject.
- Als de parameter ComputerName of de parameter CimSession is opgegeven, gebruikt deze cmdlet de parameterwaarde CimSession of de parameterwaarde ComputerName. Opmerking: Dit is niet erg gebruikelijk.
Voorbeelden
Voorbeeld 1: Een methode aanroepen
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
Met deze opdracht wordt de methode met de naam Terminate aangeroepen op de CIM-klasse met de naam Win32_Process. De CIM-klasse wordt opgehaald door de query 'Select * from Win32_Process where name like 'kladblok%''.
Voorbeeld 2: Een methode aanroepen met behulp van het CIM-exemplaarobject
$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner
Met deze set opdrachten wordt het CIM-exemplaarobject opgehaald en opgeslagen in een variabele met de naam $x met behulp van de cmdlet Get-CimInstance. De inhoud van de variabele wordt vervolgens gebruikt als het InputObject voor de cmdlet Invoke-CimMethod en de Methode GetOwner wordt aangeroepen voor de CimInstance.
Voorbeeld 3: Een statische methode aanroepen
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ Path = "notepad.exe" }
Met deze opdracht wordt de statische methode Maken aangeroepen voor de klasse met de naam Win32_Process, met de argumenten die zijn opgegeven door de parameter Argumenten.
Voorbeeld 4: Een methode aanroepen met behulp van argumenten
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32" }
Met deze opdracht wordt de methode Create aangeroepen met behulp van de parameter Argumenten.
Voorbeeld 5: Validatie aan clientzijde
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }
Met deze set opdrachten wordt validatie aan de clientzijde uitgevoerd voor de methode met de naam xyz door een CimClass-object door te geven aan de Invoke-CimMethod cmdlet.
Parameters
-Arguments
Hiermee geeft u de parameters die moeten worden doorgegeven aan de aangeroepen methode. Geef de waarden voor deze parameter op als naam-waardeparen die zijn opgeslagen in een hash-tabel. De volgorde van de ingevoerde waarden is niet belangrijk.
Type: | IDictionary |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-CimClass
Hiermee geeft u een CIM-klasseobject op dat een CIM-klassedefinitie op de server vertegenwoordigt. Gebruik deze parameter bij het aanroepen van een statische methode van een klasse.
U kunt de cmdlet Get-CimClass gebruiken om een klassedefinitie op te halen van de server.
Het gebruik van deze parameter resulteert in betere schemavalidaties aan de clientzijde.
Type: | CimClass |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-CimSession
Voert de opdracht uit met behulp van de opgegeven CIM-sessie. Voer een variabele in die de CIM-sessie bevat of een opdracht waarmee de CIM-sessie wordt gemaakt of ophaalt, zoals de New-CimSession of Get-CimSession cmdlets. Zie about_CimSessionsvoor meer informatie.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ClassName
Hiermee geeft u de naam van de CIM-klasse waarvoor de bewerking moet worden uitgevoerd. Deze parameter wordt alleen gebruikt voor statische methoden. OPMERKING: U kunt tabvoltooiing gebruiken om door de lijst met klassen te bladeren, omdat Windows PowerShell een lijst met klassen ophaalt van de lokale WMI-server om een lijst met klassenamen op te geven.
Type: | String |
Aliassen: | Class |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ComputerName
Hiermee geeft u de naam van de computer waarop u de CIM-bewerking wilt uitvoeren. U kunt een FQDN (Fully Qualified Domain Name), een NetBIOS-naam of een IP-adres opgeven.
Als u deze parameter opgeeft, maakt de cmdlet een tijdelijke sessie naar de opgegeven computer met behulp van het WsMan-protocol.
Als u deze parameter niet opgeeft, voert de cmdlet de bewerking uit op de lokale computer met behulp van Component Object Model (COM).
Als er meerdere bewerkingen op dezelfde computer worden uitgevoerd, kunt u beter verbinding maken met een CIM-sessie.
Type: | String[] |
Aliassen: | CN, ServerName |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u een CIM-exemplaarobject op dat moet worden gebruikt als invoer om een methode aan te roepen.
Deze parameter kan alleen worden gebruikt om exemplaarmethoden aan te roepen. Als u statische klassemethoden wilt aanroepen, gebruikt u de klasseparameter of de CimClass-parameter.
Type: | CimInstance |
Aliassen: | CimInstance |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-MethodName
Hiermee geeft u de naam van de CIM-methode die moet worden aangeroepen. Deze parameter is verplicht en mag niet null of leeg zijn.
Als u een statische methode van een CIM-klasse wilt aanroepen, gebruikt u de klassenaam of de CimClass-parameter.
Type: | String |
Aliassen: | Name |
Position: | 2 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Namespace
Hiermee geeft u de naamruimte voor de CIM-bewerking.
De standaardnaamruimte is root/cimv2. U kunt tabvoltooiing gebruiken om door de lijst met naamruimten te bladeren, omdat PowerShell een lijst met naamruimten ophaalt van de lokale WMI-server om de lijst met naamruimten op te geven.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-OperationTimeoutSec
Hiermee geeft u de hoeveelheid tijd op die de cmdlet wacht op een reactie van de computer.
De waarde is standaard 0, wat betekent dat de cmdlet de standaardtime-outwaarde voor de server gebruikt.
Als de parameter OperationTimeoutSec is ingesteld op een waarde die kleiner is dan de robuuste time-out voor opnieuw proberen van 3 minuten, kunnen netwerkfouten die meer duren dan de waarde van de parameter OperationTimeoutSec niet herstellen, omdat er een time-out optreedt voordat de client opnieuw verbinding kan maken.
Type: | UInt32 |
Aliassen: | OT |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Query
Hiermee geeft u een query die moet worden uitgevoerd op de CIM-server. Er wordt een methode aangeroepen voor de exemplaren die zijn ontvangen als gevolg van de query.
U kunt het querydialect opgeven met behulp van de parameter QueryDialect.
Als de opgegeven waarde dubbele aanhalingstekens ("), enkele aanhalingstekens (')of een backslash (\) bevat, moet u deze tekens escapen door ze te voorzien van het backslashteken (\). Als de opgegeven waarde gebruikmaakt van de WQL LIKE-operator, moet u de volgende tekens ontsnappen door deze tussen vierkante haken ([]): percentage (%), onderstrepingsteken (_) of vierkante haken openen ([).
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-QueryDialect
Hiermee geeft u de querytaal op die wordt gebruikt voor de queryparameter. De acceptabele waarden voor deze parameter zijn: WQL of CQL.
De standaardwaarde is WQL.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ResourceUri
Hiermee geeft u de resource uniform resource identifier (URI) van de resourceklasse of het exemplaar. De URI wordt gebruikt om een specifiek type resource, zoals schijven of processen, op een computer te identificeren.
Een URI bestaat uit een voorvoegsel en een pad naar een resource. Bijvoorbeeld:
https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Als u deze parameter niet opgeeft, wordt standaard de DMTF-standaardresource-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
gebruikt en wordt de klassenaam eraan toegevoegd.
ResourceURI kan alleen worden gebruikt met CIM-sessies die zijn gemaakt met het WSMan-protocol of wanneer u de parameter ComputerName opgeeft, waarmee een CIM-sessie wordt gemaakt met behulp van WSMan. Als u deze parameter opgeeft zonder de parameter ComputerName op te geven of als u een CIM-sessie opgeeft die is gemaakt met het DCOM-protocol, krijgt u een foutmelding omdat het DCOM-protocol de parameter ResourceURI niet ondersteunt.
Als zowel de parameter ResourceUri als de filterparameter zijn opgegeven, wordt de filterparameter genegeerd.
Type: | Uri |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
CIM class
Deze cmdlet accepteert een CIM-klasse als invoerobject.
CIM instance
Deze cmdlet accepteert een CIM-exemplaar als invoerobject.
Uitvoerwaarden
Met deze cmdlet wordt een object geretourneerd.