Get-WmiObject
Hämtar instanser av WMI-klasser (Windows Management Instrumentation) eller information om tillgängliga klasser.
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
Från och med PowerShell 3.0 har denna cmdlet ersatts av Get-CimInstance
.
Cmdleten Get-WmiObject
hämtar instanser av WMI-klasser eller information om tillgängliga WMI-klasser. Om du vill ange en fjärrdator använder du parametern ComputerName . Om parametern List anges hämtar cmdleten information om de WMI-klasser som är tillgängliga i ett angivet namnområde. Om frågeparametern har angetts kör cmdleten en WMI-frågespråksats (WQL).
Cmdleten Get-WmiObject
använder inte Windows PowerShell-fjärrkommunikation för att utföra fjärråtgärder.
Du kan använda parametern ComputerName för cmdleten Get-WmiObject
även om datorn inte uppfyller kraven för Windows PowerShell-fjärrkommunikation eller inte har konfigurerats för fjärrkommunikation i Windows PowerShell.
Från och med Windows PowerShell 3.0 har egenskapen __Server för objektet som Get-WmiObject
returnerar ett PSComputerName-alias . Det gör det enklare att inkludera källdatorns namn i utdata och rapporter.
Exempel
Exempel 1: Hämta processer på den lokala datorn
Det här exemplet hämtar processerna på den lokala datorn.
Get-WmiObject -Class Win32_Process
Exempel 2: Hämtar tjänster på en fjärrdator
Det här exemplet hämtar tjänsterna på en fjärrdator. Parametern ComputerName anger IP-adressen för en fjärrdator. Som standard måste det aktuella användarkontot vara medlem i gruppen Administratörer på fjärrdatorn.
Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62
Exempel 3: Hämta WMI-klasser i den lokala datorns rot- eller standardnamnområde
Det här exemplet hämtar WMI-klasserna i den lokala datorns rot- eller standardnamnområde.
Get-WmiObject -Namespace "root/default" -List
Exempel 4: Hämta en namngiven tjänst på flera datorer
Det här exemplet hämtar WinRM-tjänsten på de datorer som anges av värdet för parametern 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
En pipelineoperator (|
) skickar utdata till cmdleten Format-List
, vilket lägger till egenskapen PSComputerName i standardutdata. PSComputerName är ett alias för egenskapen __Server för de objekt som Get-WmiObject
returneras. Det här aliaset introducerades i PowerShell 3.0.
Exempel 5: Stoppa en tjänst på en fjärrdator
Det här exemplet stoppar WinRM-tjänsten på en fjärrdator. Get-WmiObject
hämtar instansen av WinRM-tjänstobjektet på Server01. Sedan anropas metoden StopService för Win32_Service WMI-klass på objektet.
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
Detta motsvarar att använda cmdleten Stop-Service
.
Exempel 6: Hämta BIOS på den lokala datorn
Det här exemplet hämtar BIOS-informationen från den lokala datorn. Parametern Egenskap för cmdleten Format-List
används för att visa alla egenskaper för det returnerade objektet i en lista. Som standard visas endast den delmängd av egenskaper som definierats i Types.ps1xml
konfigurationsfilen.
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 :
Exempel 7: Hämta tjänsterna på en fjärrdator
I det här exemplet används parametern Credential för cmdleten Get-WmiObject
för att hämta tjänsterna på en fjärrdator. Värdet för parametern Credential är ett användarkontonamn. Användaren uppmanas att ange ett lösenord.
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Kommentar
Autentiseringsuppgifter kan inte användas när du riktar in dig på den lokala datorn.
Parametrar
-Amended
Hämtar eller anger ett värde som anger om de objekt som returneras från WMI ska innehålla ändrad information. Vanligtvis är ändrad information lokal information, till exempel objekt- och egenskapsbeskrivningar, som är kopplad till WMI-objektet.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-AsJob
Kör kommandot som ett bakgrundsjobb. Använd den här parametern för att köra kommandon som tar lång tid att slutföra.
När du använder parametern AsJob returnerar kommandot ett objekt som representerar bakgrundsjobbet och visar sedan kommandotolken. Du kan fortsätta att arbeta i sessionen medan jobbet är klart. Om Get-WmiObject
används med parametern ComputerName skapas jobbet på den lokala datorn och resultatet från fjärrdatorerna returneras automatiskt till den lokala datorn. Om du vill hantera jobbet använder du de cmdletar som innehåller substantivet Job
. Använd cmdleten för att hämta jobbresultatet Receive-Job
.
Mer information om Windows PowerShell-bakgrundsjobb finns i about_Jobs och about_Remote_Jobs.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Authentication
Anger den autentiseringsnivå som ska användas med WMI-anslutningen. Giltiga värden är:
-1
: Oförändrat0
: Standard1
: Ingen (ingen autentisering utförs.)2
: Anslut (Autentisering utförs endast när klienten upprättar en relation med programmet.)3
: Anrop (Autentisering utförs endast i början av varje anrop när programmet tar emot begäran.)4
: Paket (Autentisering utförs på alla data som tas emot från klienten.)5
: PacketIntegrity (Alla data som överförs mellan klienten och programmet autentiseras och verifieras.)6
: PacketPrivacy (egenskaperna för de andra autentiseringsnivåerna används och alla data krypteras.)
Typ: | AuthenticationLevel |
Godkända värden: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Authority
Anger den utfärdare som ska användas för att autentisera WMI-anslutningen. Du kan ange standardautentisering för NTLM eller Kerberos. Om du vill använda NTLM anger du utfärdarinställningen till ntlmdomain:<DomainName>
, där <DomainName>
identifierar ett giltigt NTLM-domännamn. Om du vill använda Kerberos anger du kerberos:<DomainName>\<ServerName>
. Du kan inte inkludera utfärdarinställningen när du ansluter till den lokala datorn.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Class
Anger namnet på en WMI-klass. När den här parametern används hämtar cmdleten instanser av WMI-klassen.
Typ: | String |
Alias: | ClassName |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ComputerName
Anger måldatorn för hanteringsåtgärden. Ange ett fullständigt domännamn (FQDN), ett NetBIOS-namn eller en IP-adress. När fjärrdatorn finns i en annan domän än den lokala datorn krävs det fullständigt kvalificerade domännamnet.
Standard är den lokala datorn. Om du vill ange den lokala datorn, till exempel i en lista över datornamn, använder du localhost
, namnet på den lokala datorn eller en punkt (.
).
När du anger en fjärrdator måste ditt aktuella konto eller det som du anger med parametern Autentiseringsuppgifter ha rätt behörighet för att få åtkomst till informationen.
Den här parametern förlitar sig inte på Windows PowerShell-fjärrkommunikation, som använder WS-Management. Du kan använda parametern Get-WmiObject
ComputerName för även om datorn inte är konfigurerad för att köra fjärrkommandon för WS-Management.
Typ: | String[] |
Alias: | Cn |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standard är den aktuella användaren. Skriv ett användarnamn, till exempel User01
, Domain01\User01
eller User@Contoso.com
. Eller ange ett PSCredential-objekt , till exempel ett objekt som returneras av cmdleten Get-Credential
. När du skriver ett användarnamn uppmanas du att ange ett lösenord. Autentiseringsuppgifter kan inte användas när du riktar in dig på den lokala datorn.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DirectRead
Anger om direkt åtkomst till WMI-providern begärs för den angivna klassen utan hänsyn till basklassen eller dess härledda klasser.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-EnableAllPrivileges
Aktiverar alla behörigheter för den aktuella användaren innan kommandot gör WMI-anropet.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Filter
Anger en Where-sats som ska användas som ett filter. Använder syntaxen för WMI-frågespråket (WQL).
Viktigt!
Ta inte med nyckelordet Where i värdet för parametern. Följande kommandon returnerar till exempel endast de logiska diskar som har ett DeviceID c:
för och tjänster som har namnet "WinRM" utan att använda nyckelordet Where.
Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "
Get-WmiObject win32_service -filter "name='WinRM'"
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Impersonation
Anger den personifieringsnivå som ska användas.
De acceptabla värdena för den här parametern är:
0
: Standard. Läser det lokala registret för standard personifieringsnivån. Standardvärdet är vanligtvis inställt på Personifiera.1
: Anonym. Döljer anroparens autentiseringsuppgifter.2
: Identifiera. Tillåter att objekt frågar efter anroparens autentiseringsuppgifter.3
: Personifiera. Tillåter att objekt använder anroparens autentiseringsuppgifter.4
: Ombud. Tillåter att objekt tillåter att andra objekt använder anroparens autentiseringsuppgifter.
Typ: | ImpersonationLevel |
Godkända värden: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-List
Hämtar namnen på WMI-klasserna i WMI-lagringsplatsens namnområde som anges av parametern Namnområde .
Om du anger parametern List , men inte parametern Namespace , Get-WmiObject
använder du namnområdet Root\Cimv2 som standard. Den här cmdleten använder inte registerposten Standardnamnområde i registernyckeln HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting
för att fastställa standardnamnområdet.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Locale
Anger önskat språk för WMI-objekt. Ange ett värde i MS_<LCID>
format.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Namespace
När den används med parametern Klass anger parametern Namnområde det WMI-lagringsplatsnamnområde där den angivna WMI-klassen finns. När den används med parametern List anger den det namnområde som WMI-klassinformation ska samlas in från.
Typ: | String |
Alias: | NS |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Property
Anger de WMI-klassegenskaper som den här cmdleten hämtar information från. Ange egenskapsnamnen.
Typ: | String[] |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Query
Kör den angivna WMI Query Language-instruktionen (WQL). Den här parametern stöder inte händelsefrågor.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Recurse
Söker i det aktuella namnområdet och alla andra namnområden efter det klassnamn som anges av parametern Klass .
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ThrottleLimit
Anger det maximala antalet WMI-åtgärder som kan köras samtidigt. Den här parametern är endast giltig när parametern AsJob används i kommandot .
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka indata till Get-WmiObject
.
Utdata
PSObject or System.Management.Automation.RemotingJob
När du använder parametern AsJob returnerar cmdleten ett jobbobjekt. I annat fall beror det objekt som Get-WmiObject
returnerar på värdet för parametern Klass .
Kommentarer
Windows PowerShell innehåller följande alias för Get-WmiObject
:
gwmi
För att få åtkomst till WMI-information på en fjärrdator måste cmdleten köras under ett konto som är medlem i den lokala administratörsgruppen på fjärrdatorn. Eller så kan standardåtkomstkontrollen på WMI-namnområdet för fjärrlagringsplatsen ändras för att ge åtkomstbehörighet till andra konton.
Endast vissa av egenskaperna för varje WMI-klass visas som standard. Den uppsättning egenskaper som visas för varje WMI-klass anges i konfigurationsfilen Types.ps1xml
. Om du vill hämta alla egenskaper för ett WMI-objekt använder du Get-Member
cmdletarna eller Format-List
.