Invoke-WmiMethod
Roept WMI-methoden aan.
Syntaxis
Invoke-WmiMethod
[-Class] <String>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
-InputObject <ManagementObject>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
-Path <String>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
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-WmiMethod-te gebruiken, kunt u aanroepen-CimMethodhttps://go.microsoft.com/fwlink/?LinkId=227965.
Voorbeelden
Voorbeeld 1: De vereiste volgorde van WMI-objecten weergeven
PS C:\> ([wmiclass]'Win32_Volume').GetMethodParameters('Format')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 6
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ClusterSize : 0
EnableCompression : False
FileSystem : NTFS
Label :
QuickFormat : False
Version : 0
PSComputerName :
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
PS C:\> ([Wmiclass]'Win32_Process').GetMethodParameters('Create')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
CommandLine :
CurrentDirectory :
ProcessStartupInformation :
PSComputerName : PS C:\> Invoke-WmiMethod -Path win32_process -Name create -ArgumentList notepad.exe
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 2
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ProcessId : 11312
ReturnValue : 0
PSComputerName :
Met deze opdracht wordt een exemplaar van Kladblok gestart door de methode Create van de klasse Win32_Process aan te roepen.
De eigenschap ReturnValue wordt gevuld met een 0 en de eigenschap ProcessId wordt gevuld met een geheel getal (het volgende proces-id-nummer) als de opdracht is voltooid.
Voorbeeld 3: De naam van een bestand wijzigen
PS C:\> Invoke-WmiMethod -Path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
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.
Parameters
-ArgumentList
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 cmdlet Invoke-CimCommand 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 'Kan het object van het type System.Byte niet casten om 'System.Array' te typen.'.
Een voorbeeld van een matrix met objecten ($binSD) gevolgd door een null-waarde ($null):
PS C:\>$acl = get-acl test.txt
PS C:\>$binSD = $acl. GetSecurityDescriptorBinaryForm()
PS C:\>invoke-wmimethod -class Win32_SecurityDescriptorHelper -Name BinarySDToSDDL -argumentlist $binSD, $null
Type: | Object[] |
Aliassen: | Args |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AsJob
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 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 de optie Als administrator uitvoeren in Windows Vista en latere versies van Windows. Zie about_Remote_Requirements voor meer informatie.
Zie about_Jobs en about_Remote_Jobs voor meer informatie over Windows PowerShell-achtergrondtaken.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Authentication
Hiermee geeft u het verificatieniveau op dat moet worden gebruikt met de WMI-verbinding. De acceptabele waarden voor deze parameter zijn:
-1: Ongewijzigd
0: Standaard
1: Geen (Geen verificatie uitgevoerd.)
2: Verbinding maken (verificatie wordt alleen uitgevoerd wanneer de client een relatie tot stand brengt met de toepassing.)
3: Aanroep (verificatie wordt alleen aan het begin van elke aanroep uitgevoerd wanneer de toepassing de aanvraag ontvangt.)
4: Pakket (Verificatie wordt uitgevoerd op alle gegevens die van de client worden ontvangen.)
5: PacketIntegrity (alle gegevens die worden overgedragen tussen de client en de toepassing worden geverifieerd en geverifieerd.)
6: PacketPrivacy (de eigenschappen van de andere verificatieniveaus worden gebruikt en alle gegevens worden versleuteld.)
Type: | AuthenticationLevel |
Geaccepteerde waarden: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Authority
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 instelling van de instantie in op ntlmdomain:<DomainName>, waarbij <DomainName> een geldige NTLM-domeinnaam identificeert. Als u Kerberos wilt gebruiken, geeft u kerberos op:<DomainName\ServerName>. U kunt de instantie-instelling niet opnemen wanneer u verbinding maakt met de lokale computer.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Class
Hiermee geeft u de WMI-klasse op die een statische methode bevat die moet worden aangeroepen.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ComputerName
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.
Type: | String[] |
Aliassen: | Cn |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
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 |
-Credential
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\User01 of 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.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-EnableAllPrivileges
Geeft aan dat deze cmdlet alle bevoegdheden van de huidige gebruiker inschakelt voordat de opdracht de WMI-aanroep uitvoert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Impersonation
Hiermee geeft u het imitatieniveau op dat moet worden gebruikt. De acceptabele waarden voor deze parameter zijn:
0: Standaard (leest het lokale register voor het standaard-imitatieniveau, dat meestal is ingesteld op '3: imitatie'.)
1: Anoniem (verbergt de referenties van de beller.)
2: Identificeren (Hiermee kunnen objecten query's uitvoeren op de referenties van de aanroeper.)
3: Imiteren (hiermee kunnen objecten de referenties van de aanroeper gebruiken.)
4: Delegeren (Hiermee kunnen objecten andere objecten toestaan om de referenties van de aanroeper te gebruiken.)
Type: | ImpersonationLevel |
Geaccepteerde waarden: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
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.
Type: | ManagementObject |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Locale
Hiermee geeft u de voorkeursinstelling voor WMI-objecten. Geef de waarde van de parameter Landinstelling op als een matrix in de MS_<LCID->-indeling in de voorkeursvolgorde.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Name
Hiermee geeft u de naam van de methode die moet worden aangeroepen. Deze parameter is verplicht en mag niet null of leeg zijn.
Type: | String |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Namespace
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.
Type: | String |
Aliassen: | NS |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Path
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.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ThrottleLimit
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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
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
None
Deze cmdlet accepteert geen invoer.
Uitvoerwaarden
None
Met deze cmdlet wordt geen uitvoer gegenereerd.