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
: Ongewijzigd0
: Standaard1
: 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 localhost
u 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\User01
of 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.
Verwante koppelingen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor