Get-WmiObject

Hiermee haalt u exemplaren van WMI-klassen (Windows Management Instrumentation) op of informatie over de beschikbare klassen.

Syntax

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, krijgt de cmdlet informatie over de WMI-klassen die beschikbaar zijn in een opgegeven naamruimte. Als de queryparameter is opgegeven, voert de cmdlet een WMI-querytaal -instructie (WQL) uit.

De Get-WmiObject cmdlet gebruikt geen externe Windows PowerShell externe bewerkingen uit te voeren. U kunt de parameter ComputerName van de Get-WmiObject cmdlet gebruiken, zelfs als uw computer niet voldoet aan de vereisten voor Windows PowerShell externe toegang 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. Dit maakt het gemakkelijker 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 opgeslagen. 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 Format-List cmdlet, waarmee de eigenschap PSComputerName wordt toegevoegd aan de standaarduitvoer. PSComputerName is een alias van de eigenschap __Server van de objecten die Get-WmiObject worden geretourneerd. Deze alias is geïntroduceerd in PowerShell 3.0.

Voorbeeld 5: Een service stoppen op een externe computer

In dit voorbeeld wordt de WinRM-service op een externe computer gestopt. Get-WmiObject haalt het exemplaar van het WinRM-serviceobject op Server01 op. Vervolgens wordt de StopService-methode van de Win32_Service WMI-klasse op dat object aangeroepen.

(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()

Dit komt overeen met het gebruik van de Stop-Service cmdlet.

Voorbeeld 6: het BIOS ophalen op de lokale computer

In dit voorbeeld worden de BIOS-gegevens opgehaald van de lokale computer. De eigenschapsparameter 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 in het Types.ps1xml configuratiebestand zijn gedefinieerd.

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 referentieparameter van de Get-WmiObject cmdlet gebruikt om de services op een externe computer op te halen. De waarde van de referentieparameter 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 instellen 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
Accept pipeline input:False
Accept wildcard characters:False
-AsJob

Voert de opdracht uit als achtergrondtaak. Gebruik deze parameter om opdrachten uit te voeren die lang duren.

Wanneer u de parameter AsJob gebruikt, retourneert de opdracht een object dat de achtergrondtaak vertegenwoordigt en wordt vervolgens de opdrachtprompt weergegeven. U kunt blijven werken in de sessie terwijl de taak is voltooid. Als Get-WmiObject deze 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 bevatten. Gebruik de Receive-Job cmdlet 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 behulp van de optie Uitvoeren als administrator 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
Accept pipeline input:False
Accept wildcard characters: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
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Authority

Hiermee geeft u de instantie die moet worden gebruikt om de WMI-verbinding te verifiëren. U kunt standaard NTLM- of Kerberos-verificatie opgeven. Als u NTLM wilt gebruiken, stelt u de instantie-instelling ntlmdomain:<DomainName>in op , waarbij <DomainName> een geldige NTLM-domeinnaam wordt geïdentificeerd. 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
Accept pipeline input:False
Accept wildcard characters: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
Aliases:ClassName
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters: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.

Standaard is dit de lokale computer. Als u de lokale computer wilt opgeven, zoals in een lijst met computernamen, gebruikt localhostu de naam van de lokale computer of een punt (.).

Deze parameter is niet afhankelijk van Windows PowerShell externe communicatie, die gebruikmaakt van WS-Management. U kunt de computernaamparameter gebruiken, Get-WmiObject zelfs als uw computer niet is geconfigureerd voor het uitvoeren van WS-Management externe opdrachten.

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Standaard is dit 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. Referenties kunnen niet worden gebruikt bij het instellen van de lokale computer.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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
Accept pipeline input:False
Accept wildcard characters: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
Accept pipeline input:False
Accept wildcard characters:False
-Filter

Hiermee geeft u een Where-component op die moet worden gebruikt als filter. Gebruikt de syntaxis van de WMI-querytaal (WQL).

Belangrijk

Neem niet het trefwoord Where 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
Accept pipeline input:False
Accept wildcard characters:False
-Impersonation

Hiermee geeft u het imitatieniveau op dat moet worden gebruikt.

De aanvaardbare waarden voor deze parameter zijn:

  • 0: standaard. Leest het lokale register voor het standaard-imitatieniveau. De standaardwaarde is meestal ingesteld op imiteren.
  • 1: Anoniem. Hiermee worden de referenties van de beller verborgen.
  • 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 de referenties van de aanroeper te gebruiken.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-List

Hiermee haalt u de namen van de WMI-klassen op 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 u Get-WmiObject standaard de root\Cimv2-naamruimte . Deze cmdlet gebruikt niet de registervermelding Default Namespace in de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting registersleutel om de standaardnaamruimte te bepalen.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Locale

Hiermee geeft u de voorkeursinstelling voor WMI-objecten. Voer een waarde in indeling in MS_<LCID> .

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Namespace

Wanneer deze wordt gebruikt met de klasseparameter , 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 , geeft deze de naamruimte op waaruit WMI-klassegegevens moeten worden verzameld.

Type:String
Aliases:NS
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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
Accept pipeline input:False
Accept wildcard characters: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
Accept pipeline input:False
Accept wildcard characters:False
-Recurse

Zoekt in de huidige naamruimte en alle andere naamruimten naar de klassenaam die is opgegeven door de klasseparameter.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ThrottleLimit

Hiermee geeft u het maximum aantal WMI-bewerkingen op dat gelijktijdig kan worden uitgevoerd. Deze parameter is alleen geldig wanneer de AsJob-parameter wordt gebruikt in de opdracht.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 wordt geretourneerd afhankelijk van de waarde van de klasseparameter .

Notities

Voor toegang tot WMI-informatie 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 op de WMI-naamruimte van de externe opslagplaats kan worden gewijzigd om toegangsrechten te verlenen aan andere accounts.

Standaard worden slechts enkele eigenschappen van elke WMI-klasse weergegeven. De set eigenschappen die voor elke WMI-klasse worden weergegeven, wordt opgegeven in het Types.ps1xml configuratiebestand. Als u alle eigenschappen van een WMI-object wilt ophalen, gebruikt u de Get-Member of Format-List cmdlets.