Get-WmiObject

Hiermee worden exemplaren opgehaald van WMI-klassen (Windows Management Instrumentation) 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, haalt de cmdlet informatie op 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 maakt geen gebruik van externe communicatie met Windows PowerShell om 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 externe communicatie met Windows PowerShell of niet is geconfigureerd voor externe communicatie in Windows PowerShell.

Vanaf Windows PowerShell 3.0 heeft de eigenschap __Server van het object dat Get-WmiObject wordt geretourneerd 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 Beheer istrators 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 stopt u de WinRM-service op een externe computer. Get-WmiObject haalt het exemplaar van het WinRM-serviceobject op Server01 op. Vervolgens wordt de StopService-methode van de Win32_Service WMI-klasse voor 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 van de lokale computer opgehaald. 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 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 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 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
Required:False
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 voordat ze zijn voltooid.

Wanneer u de parameter AsJob gebruikt, retourneert de opdracht een object dat de achtergrondtaak vertegenwoordigt en geeft de opdrachtprompt weer. U kunt in de sessie blijven werken terwijl de taak is voltooid. Als Get-WmiObject deze wordt gebruikt met de parameter ComputerName , wordt de taak gemaakt op de lokale computer en worden de resultaten van externe computers automatisch geretourneerd naar de lokale computer. Gebruik de cmdlets die het Job zelfstandig naamwoord bevatten om de taak te beheren. Gebruik de Receive-Job cmdlet om de taakresultaten op te halen.

Zie about_Jobs en about_Remote_Jobs voor meer informatie over Windows PowerShell-achtergrondtaken.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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 met de toepassing tot stand brengt.)
  • 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
Required:False
Accept pipeline input:False
Accept wildcard characters: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 ntlmdomain:<DomainName>in op , waarbij <DomainName> een geldige NTLM-domeinnaam wordt geïdentificeerd. Als u Kerberos wilt gebruiken, geeft u op kerberos:<DomainName>\<ServerName>. U kunt de instantie-instelling niet opnemen wanneer u verbinding maakt met de lokale computer.

Type:String
Position:Named
Default value:None
Required:False
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
Required:False
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 (.).

Wanneer u een externe computer opgeeft, moet uw huidige account of het account dat u opgeeft met de parameter Referentie , over de juiste machtigingen beschikken om toegang te krijgen tot de gegevens.

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

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Required:False
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. U kunt ook een PSCredential-object invoeren, 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
Required:False
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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

Hiermee geeft u een Where-component op die moet worden gebruikt 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
Required:False
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 Imitatie.
  • 1: Anoniem. Verbergt de referenties van de beller.
  • 2: Identificeren. Hiermee kunnen objecten query's uitvoeren op de referenties van de aanroeper.
  • 3: imitatie. 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
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 lijstparameter opgeeft, maar niet de parameter Naamruimte, Get-WmiObject gebruikt u standaard de root\Cimv2-naamruimte. Deze cmdlet maakt geen gebruik van 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Locale

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

Type:String
Position:Named
Default value:None
Required:False
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 , wordt de naamruimte opgegeven waaruit WMI-klassegegevens moeten worden verzameld.

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

Windows PowerShell bevat de volgende aliassen voor Get-WmiObject:

  • gwmi

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 Types.ps1xml configuratiebestand. Als u alle eigenschappen van een WMI-object wilt ophalen, gebruikt u de Get-Member of Format-List cmdlets.