De Invoke-WmiMethod cmdlet roept de methoden van WMI-objecten (Windows Management Instrumentation) aan.
Nieuwe CIM-cmdlets (Common Information Model), geïntroduceerd in Windows PowerShell 3.0, voeren dezelfde taken uit als de WMI-cmdlets. De CIM-cmdlets voldoen aan WS-Management (WSMan)-standaarden en aan de CIM-standaard, waarmee de cmdlets dezelfde technieken kunnen gebruiken om Windows-computers en andere besturingssystemen te beheren. In plaats van Invoke-WmiMethodte gebruiken, kunt u overwegen Invoke-CimMethod-te gebruiken.
Voorbeelden
Voorbeeld 1: De vereiste volgorde van WMI-methodeparameters weergeven
Met deze opdracht wordt de vereiste volgorde van de objecten weergegeven.
Als u WMI wilt aanroepen in PowerShell 3.0, verschilt van alternatieve methoden. Hiervoor moeten objectwaarden in een specifieke volgorde worden ingevoerd.
Voorbeeld 2: Een exemplaar van een toepassing starten
Met deze opdracht wordt een exemplaar van Kladblok gestart door de Create methode van de Win32_Process klasse aan te roepen.
De eigenschap ReturnValue wordt gevuld met een 0en de eigenschap ProcessId wordt gevuld met een geheel getal (het volgende proces-id-nummer) als de opdracht is voltooid.
Met deze opdracht wordt de naam van een bestand gewijzigd. Hierbij wordt de parameter Path gebruikt om te verwijzen naar een exemplaar van de CIM_DataFile-klasse. Vervolgens wordt de methode Naam wijzigen toegepast op dat specifieke exemplaar.
De eigenschap ReturnValue wordt gevuld met een 0 als de opdracht is voltooid.
Voorbeeld 4: Een matrix met waarden doorgeven met behulp van '-ArgumentList'
Een voorbeeld van een matrix met objecten $binSD gevolgd door een $null waarde.
Hiermee geeft u de parameters die moeten worden doorgegeven aan de aangeroepen methode. De waarde van deze parameter moet een matrix met objecten zijn en ze moeten worden weergegeven in de volgorde die is vereist door de aangeroepen methode. De Invoke-CimCommand-cmdlet heeft deze beperkingen niet.
Als u de volgorde wilt bepalen waarin deze objecten moeten worden weergegeven, voert u de methode GetMethodParameters() uit in de WMI-klasse, zoals geïllustreerd in voorbeeld 1, aan het einde van dit onderwerp.
Belangrijk
Als de eerste waarde een matrix is die meer dan één element bevat, is een tweede waarde van $null vereist. Anders genereert de opdracht een fout, zoals Unable to cast object of type 'System.Byte' to type 'System.Array'.. Zie voorbeeld 4 hierboven.
Geeft aan dat met deze cmdlet de opdracht wordt uitgevoerd als achtergrondtaak. Gebruik deze parameter om opdrachten uit te voeren die lang duren voordat ze zijn voltooid.
Wanneer u de parameter AsJob gebruikt, retourneert de opdracht een object dat de achtergrondtaak vertegenwoordigt en wordt vervolgens de opdrachtprompt weergegeven. U kunt in de sessie blijven werken terwijl de taak is voltooid. Als Invoke-WmiMethod wordt gebruikt op een externe computer, wordt de taak gemaakt op de lokale computer en worden de resultaten van externe computers automatisch geretourneerd naar de lokale computer. Als u de taak wilt beheren, gebruikt u de cmdlets die het Job zelfstandig naamwoord (de taak-cmdlets) bevatten. Gebruik de cmdlet Receive-Job om de taakresultaten op te halen.
Als u deze parameter wilt gebruiken met externe computers, moeten de lokale en externe computers worden geconfigureerd voor externe communicatie. Daarnaast moet u Windows PowerShell starten met behulp van de optie Als administrator uitvoeren in Windows Vista en latere versies van Windows. Zie about_Remote_Requirementsvoor meer informatie.
Hiermee geeft u de instantie op die moet worden gebruikt om de WMI-verbinding te verifiëren. U kunt standaard Windows NT LAN Manager (NTLM) of Kerberos-verificatie opgeven. Als u NTLM wilt gebruiken, stelt u de instantie-instelling in op ntlmdomain:<DomainName>, waarbij <DomainName> een geldige NTLM-domeinnaam identificeert. Als u Kerberos wilt gebruiken, geeft u kerberos:<DomainName>\<ServerName>op. U kunt de instantie-instelling niet opnemen wanneer u verbinding maakt met de lokale computer.
Hiermee geeft u op, als tekenreeksmatrix, de computers waarop deze cmdlet de opdracht uitvoert. De standaardwaarde is de lokale computer.
Typ de NetBIOS-naam, een IP-adres of een volledig gekwalificeerde domeinnaam van een of meer computers. Als u de lokale computer wilt opgeven, typt u de computernaam, een punt (.) of localhost.
Deze parameter is niet afhankelijk van externe communicatie met Windows PowerShell. U kunt de parameter ComputerName gebruiken, zelfs als uw computer niet is geconfigureerd voor het uitvoeren van externe opdrachten.
Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. De standaardwaarde is de huidige gebruiker. Typ een gebruikersnaam, zoals User01, Domain01\User01of User@Contoso.com. Of voer een PSCredential--object in, zoals een object dat wordt geretourneerd door de Get-Credential-cmdlet. Wanneer u een gebruikersnaam typt, wordt u gevraagd om een wachtwoord.
Hiermee geeft u een ManagementObject-object te gebruiken als invoer. Wanneer deze parameter wordt gebruikt, worden alle andere parameters behalve de Flag en Argument parameters genegeerd.
Hiermee geeft u de voorkeursinstelling voor WMI-objecten. Geef de waarde op van de parameter Landinstelling als een matrix in de MS_<LCID>-indeling in de voorkeursvolgorde.
Wanneer deze parameter wordt gebruikt met de parameter Klasse, geeft deze parameter de naamruimte van de WMI-opslagplaats op waar de WMI-klasse of het object waarnaar wordt verwezen zich bevindt.
Hiermee geeft u het WMI-objectpad van een WMI-klasse op of geeft u het WMI-objectpad van een exemplaar van een WMI-klasse op. De klasse of het exemplaar dat u opgeeft, moet de methode bevatten die is opgegeven in de parameter Name.
Hiermee geeft u een vertragingswaarde op voor het aantal WMI-bewerkingen dat tegelijkertijd kan worden uitgevoerd.
Deze parameter wordt samen met de parameter AsJob gebruikt. De beperkingslimiet is alleen van toepassing op de huidige opdracht, niet op de sessie of op de computer.
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.