Dela via


Get-WmiObject

Hämtar instanser av WMI-klasser (Windows Management Instrumentation) eller information om tillgängliga klasser.

Syntax

query (Standard)

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>]

list

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>]

WQLQuery

Get-WmiObject
    -Query <String>
    [-Amended]
    [-DirectRead]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [<CommonParameters>]

class

Get-WmiObject
    [-Amended]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [<CommonParameters>]

path

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 den här cmdleten 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 parametern Query anges kör cmdleten en WMI-frågespråksinstrukering (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, som lägger till egenskapen PSComputerName till standardutdata. PSComputerName är ett alias för egenskapen __Server för de objekt som Get-WmiObject returnerar. 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-klassen 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

Anmärkning

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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 Job substantiv. Använd cmdleten Receive-Job för att hämta jobbresultatet.

Mer information om Windows PowerShell-bakgrundsjobb finns i about_Jobs och about_Remote_Jobs.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Authentication

Anger den autentiseringsnivå som ska användas med WMI-anslutningen. Giltiga värden är:

  • -1: oförändrat
  • 0: standard
  • 1: Ingen (ingen autentisering utförs.)
  • 2: Connect (Autentisering utförs endast när klienten upprättar en relation med programmet.)
  • 3: Anropa (Autentisering utförs endast i början av varje anrop när programmet tar emot begäran.)
  • 4: Packet (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.)

Parameteregenskaper

Typ:AuthenticationLevel
Standardvärde:None
Godkända värden:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Class

Anger namnet på en WMI-klass. När den här parametern används hämtar cmdleten instanser av WMI-klassen.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Klassnamn

Parameteruppsättningar

query
Position:1
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
list
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Standardvärdet är den lokala datorn. Om du vill ange den lokala datorn, till exempel i en lista med 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 Credential ha rätt behörighet att komma åt informationen.

Den här parametern förlitar sig inte på Windows PowerShell-fjärrkommunikation, som använder WS-Management. Du kan använda parametern ComputerName för Get-WmiObject även om datorn inte är konfigurerad för att köra WS-Management fjärrkommandon.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Cn

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standardvärdet är den aktuella användaren. Ange ett användarnamn, till exempel User01, Domain01\User01eller User@Contoso.com. Du kan också 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.

Parameteregenskaper

Typ:PSCredential
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

query
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
WQLQuery
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-EnableAllPrivileges

Aktiverar alla behörigheter för den aktuella användaren innan kommandot gör WMI-anropet.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 parameterns värde. Följande kommandon returnerar till exempel endast de logiska diskar som har en DeviceID- av "C:\ 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'"

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

query
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Impersonation

Anger den personifieringsnivå som ska användas.

De godtagbara 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: Delegera. Tillåter att objekt tillåter att andra objekt använder anroparens autentiseringsuppgifter.

Parameteregenskaper

Typ:ImpersonationLevel
Standardvärde:None
Godkända värden:Default, Anonymous, Identify, Impersonate, Delegate
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-List

Hämtar namnen på WMI-klasserna i WMI-lagringsplatsens namnområde som anges av parametern Namespace.

Om du anger parametern List, men inte parametern Namespace använder Get-WmiObjectroot/CIMV2-namnområdet som standard. Den här cmdleten använder inte standardnamnområde registerpost i HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting registernyckel för att fastställa standardnamnområdet.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

list
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Locale

Anger önskat språk för WMI-objekt. Ange ett värde i MS_<LCID> format.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Namespace

När den används med parametern Class anger parametern Namespace den WMI-lagringsplatsnamnrymd 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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:NS

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Property

Anger de WMI-klassegenskaper som den här cmdleten hämtar information från. Ange egenskapsnamnen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

query
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Query

Kör den angivna WMI Query Language-instruktionen (WQL). Den här parametern stöder inte händelsefrågor.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

WQLQuery
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Recurse

Söker i det aktuella namnområdet och alla andra namnområden efter det klassnamn som anges av parametern Class.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

list
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 .

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

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. Annars beror det objekt som Get-WmiObject returnerar på värdet för parametern Class.

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 Types.ps1xml konfigurationsfilen. Om du vill hämta alla egenskaper för ett WMI-objekt använder du cmdletarna Get-Member eller Format-List.