Get-WmiObject
Hiermee worden exemplaren opgehaald van WMI-klassen (Windows Management Instrumentation) of informatie over de beschikbare klassen.
Syntaxis
Get-WmiObject
[-Class] <String>
[[-Property] <String[]>]
[-Filter <String>]
[-Amended]
[-DirectRead]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[[-Class] <String>]
[-Recurse]
[-Amended]
[-List]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-DirectRead]
-Query <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Description
Vanaf PowerShell 3.0 is deze cmdlet vervangen door Get-CimInstance
.
De Get-WmiObject
cmdlet haalt exemplaren van WMI-klassen of informatie over de beschikbare WMI-klassen op. Als u een externe computer wilt opgeven, gebruikt u de parameter ComputerName. Als de parameter List is opgegeven, haalt de cmdlet informatie op over de WMI-klassen die beschikbaar zijn in een opgegeven naamruimte. Als de parameter Query is opgegeven, voert de cmdlet een WMI-instructie (WQL) uit.
De cmdlet Get-WmiObject
maakt geen gebruik van externe communicatie van Windows PowerShell om externe bewerkingen uit te voeren.
U kunt de parameter ComputerName van de cmdlet Get-WmiObject
gebruiken, zelfs als uw computer niet voldoet aan de vereisten voor externe communicatie met Windows PowerShell of niet is geconfigureerd voor externe communicatie in Windows PowerShell.
Vanaf Windows PowerShell 3.0 heeft de __Server eigenschap van het object dat Get-WmiObject
retourneert een PSComputerName alias. Hierdoor is het eenvoudiger om de naam van de broncomputer op te nemen in uitvoer en rapporten.
Voorbeelden
Voorbeeld 1: Processen ophalen op de lokale computer
In dit voorbeeld worden de processen op de lokale computer weergegeven.
Get-WmiObject -Class Win32_Process
Voorbeeld 2: Hiermee haalt u services op een externe computer op
In dit voorbeeld worden de services op een externe computer ophaalt. De parameter ComputerName geeft het IP-adres van een externe computer op. Standaard moet het huidige gebruikersaccount lid zijn van de groep Administrators op de externe computer.
Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62
Voorbeeld 3: WMI-klassen ophalen in de hoofd- of standaardnaamruimte van de lokale computer
In dit voorbeeld worden de WMI-klassen opgehaald in de hoofd- of standaardnaamruimte van de lokale computer.
Get-WmiObject -Namespace "root/default" -List
Voorbeeld 4: Een benoemde service ophalen op meerdere computers
In dit voorbeeld wordt de WinRM-service opgehaald op de computers die zijn opgegeven door de waarde van de parameter ComputerName.
Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 |
Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
PSComputerName : SERVER01
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 844
StartMode : Auto
State : Running
Status : OK
PSComputerName : SERVER02
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 932
StartMode : Auto
State : Running
Status : OK
Een pijplijnoperator (|) verzendt de uitvoer naar de cmdlet Format-List
, waarmee de eigenschap PSComputerName wordt toegevoegd aan de standaarduitvoer.
PSComputerName is een alias van de eigenschap __Server van de objecten die Get-WmiObject
retourneert. Deze alias is geïntroduceerd in PowerShell 3.0.
Voorbeeld 5: Een service stoppen op een externe computer
In dit voorbeeld stopt u de WinRM-service op een externe computer.
Get-WmiObject
het exemplaar van het WinRM-serviceobject op Server01 ophaalt. Vervolgens wordt de methode StopService van de WMI-klasse Win32_Service voor dat object aangeroepen.
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
Dit komt overeen met het gebruik van de cmdlet Stop-Service
.
Voorbeeld 6: Het BIOS ophalen op de lokale computer
In dit voorbeeld worden de BIOS-gegevens van de lokale computer opgehaald. De eigenschap parameter van de Format-List
cmdlet wordt gebruikt om alle eigenschappen van het geretourneerde object in een lijst weer te geven. Standaard worden alleen de subset eigenschappen weergegeven die zijn gedefinieerd in het Types.ps1xml
configuratiebestand.
Get-WmiObject -Class Win32_Bios | Format-List -Property *
Status : OK
Name : Phoenix ROM BIOS PLUS Version 1.10 A05
Caption : Phoenix ROM BIOS PLUS Version 1.10 A05
SMBIOSPresent : True
__GENUS : 2
__CLASS : Win32_BIOS
__SUPERCLASS : CIM_BIOSElement
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_BIOS.Name="Phoenix ROM BIOS PLUS Version 1.10
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_BIOSElement, CIM_SoftwareElement, CIM_LogicalElement,
__SERVER : Server01
__NAMESPACE : root\cimv2
__PATH : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
BiosCharacteristics : {7, 9, 10, 11...}
BIOSVersion : {DELL - 15, Phoenix ROM BIOS PLUS Version 1.10 A05}
BuildNumber :
CodeSet :
CurrentLanguage : en|US|iso8859-1
Description : Phoenix ROM BIOS PLUS Version 1.10 A05
IdentificationCode :
InstallableLanguages : 1
InstallDate :
LanguageEdition :
ListOfLanguages : {en|US|iso8859-1}
Manufacturer : Dell Inc.
OtherTargetOS :
PrimaryBIOS : True
ReleaseDate : 20101103000000.000000+000
SerialNumber : 8VDM9P1
SMBIOSBIOSVersion : A05
SMBIOSMajorVersion : 2
SMBIOSMinorVersion : 6
SoftwareElementID : Phoenix ROM BIOS PLUS Version 1.10 A05
SoftwareElementState : 3
TargetOperatingSystem : 0
Version : DELL - 15
Scope : System.Management.ManagementScope
Path : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
Options : System.Management.ObjectGetOptions
ClassPath : \\JUNE-PC\root\cimv2:Win32_BIOS
Properties : {BiosCharacteristics, BIOSVersion, BuildNumber, Caption...}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers : {dynamic, Locale, provider, UUID}
Site :
Container :
Voorbeeld 7: De services op een externe computer ophalen
In dit voorbeeld wordt de parameter Credential van de Get-WmiObject
-cmdlet gebruikt om de services op een externe computer op te halen. De waarde van de parameter Credential is een gebruikersnaam. De gebruiker wordt om een wachtwoord gevraagd.
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Notitie
Referenties kunnen niet worden gebruikt bij het richten van de lokale computer.
Parameters
-Amended
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de objecten die worden geretourneerd door WMI gewijzigde informatie moeten bevatten. Gewijzigde informatie is doorgaans lokaliseerbare informatie, zoals object- en eigenschapsbeschrijvingen, die is gekoppeld aan het WMI-object.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AsJob
Voert de opdracht uit 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 Get-WmiObject
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 de taak-cmdlets bevatten. Gebruik de cmdlet Receive-Job
om de taakresultaten op te halen.
Notitie
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_Requirementsvoor meer informatie.
Zie about_Jobs en about_Remote_Jobsvoor 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. Geldige waarden 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 standaardverificatie voor NTLM of Kerberos 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.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Class
Hiermee geeft u de naam van een WMI-klasse. Wanneer deze parameter wordt gebruikt, haalt de cmdlet exemplaren van de WMI-klasse op.
Type: | String |
Aliassen: | ClassName |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ComputerName
Hiermee geeft u de doelcomputer voor de beheerbewerking. Voer een FQDN (Fully Qualified Domain Name), een NetBIOS-naam of een IP-adres in. Wanneer de externe computer zich in een ander domein bevindt dan de lokale computer, is de volledig gekwalificeerde domeinnaam vereist.
De standaardwaarde is de lokale computer. Als u de lokale computer wilt opgeven, zoals in een lijst met computernamen, gebruikt u localhost, de naam van de lokale computer of een punt (.).
Deze parameter is niet afhankelijk van externe communicatie van Windows PowerShell, die WS-Management gebruikt. U kunt de ComputerName parameter van Get-WmiObject
zelfs als uw computer niet is geconfigureerd voor het uitvoeren van WS-Management externe opdrachten.
Type: | String[] |
Aliassen: | Cn |
Position: | Named |
Default value: | None |
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. Referenties kunnen niet worden gebruikt bij het richten van de lokale computer.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DirectRead
Hiermee geeft u op of directe toegang tot de WMI-provider wordt aangevraagd voor de opgegeven klasse, zonder rekening te houden met de basisklasse of de afgeleide klassen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-EnableAllPrivileges
Hiermee schakelt u alle bevoegdheden van de huidige gebruiker in voordat de opdracht de WMI-aanroep uitvoert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Filter
Hiermee geeft u een Where component te gebruiken als filter. Hiermee wordt de syntaxis van de WMI-querytaal (WQL) gebruikt.
Belangrijk
Neem het trefwoord Where niet op in de waarde van de parameter. Met de volgende opdrachten worden bijvoorbeeld alleen de logische schijven geretourneerd met een DeviceID van 'c:' en services met de naam WinRM zonder het trefwoord Where te gebruiken.
Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "
Get-WmiObject win32_service -filter "name='WinRM'"
Type: | String |
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. De standaardwaarde is meestal ingesteld op imiteren.
- 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: Gemachtigde. 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 |
-List
Hiermee haalt u de namen op van de WMI-klassen in de naamruimte van de WMI-opslagplaats die is opgegeven door de parameter Naamruimte.
Als u de parameter List opgeeft, maar niet de parameter Naamruimte, gebruikt Get-WmiObject
standaard de Root\Cimv2 naamruimte. Deze cmdlet maakt geen gebruik van de standaardnaamruimte registervermelding in de registersleutel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting
om de standaardnaamruimte te bepalen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Locale
Hiermee geeft u de voorkeursinstelling voor WMI-objecten. Voer een waarde in MS_<LCID->-indeling in.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Namespace
Wanneer deze wordt gebruikt met de parameter Klasse, geeft de parameter Naamruimte de naamruimte van de WMI-opslagplaats op waar de opgegeven WMI-klasse zich bevindt. Wanneer deze wordt gebruikt met de parameter List, wordt de naamruimte opgegeven waaruit WMI-klassegegevens moeten worden verzameld.
Type: | String |
Aliassen: | NS |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Property
Hiermee geeft u de WMI-klasse-eigenschappen op waaruit deze cmdlet informatie ophaalt. Voer de eigenschapsnamen in.
Type: | String[] |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Query
Hiermee wordt de opgegeven WMI Query Language-instructie (WQL) uitgevoerd. Deze parameter biedt geen ondersteuning voor gebeurtenisquery's.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Recurse
Zoekt in de huidige naamruimte en alle andere naamruimten naar de klassenaam die is opgegeven door de parameter Class.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ThrottleLimit
Hiermee geeft u het maximum aantal WMI-bewerkingen op dat tegelijkertijd kan worden uitgevoerd. Deze parameter is alleen geldig wanneer de parameter AsJob wordt gebruikt in de opdracht.
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
U kunt invoer niet doorsluisen naar Get-WmiObject
.
Uitvoerwaarden
PSObject or System.Management.Automation.RemotingJob
Wanneer u de parameter AsJob gebruikt, retourneert de cmdlet een taakobject. Anders is het object dat Get-WmiObject
retourneert, afhankelijk van de waarde van de parameter Klasse.
Notities
Voor toegang tot WMI-gegevens op een externe computer moet de cmdlet worden uitgevoerd onder een account dat lid is van de lokale beheerdersgroep op de externe computer. Of het standaardtoegangsbeheer voor de WMI-naamruimte van de externe opslagplaats kan worden gewijzigd om toegangsrechten te verlenen aan andere accounts.
Slechts enkele eigenschappen van elke WMI-klasse worden standaard weergegeven. De set eigenschappen die voor elke WMI-klasse wordt weergegeven, wordt opgegeven in het configuratiebestand Types.ps1xml. Als u alle eigenschappen van een WMI-object wilt ophalen, gebruikt u de cmdlets Get-Member
of Format-List
.