Get-Item

Hämtar objektet på den angivna platsen.

Syntax

Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-Stream <string[]>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-Stream <string[]>]
   [<CommonParameters>]
Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [<CommonParameters>]

Description

Cmdleten Get-Item hämtar objektet på den angivna platsen. Det hämtar inte innehållet i objektet på platsen om du inte använder ett jokertecken (*) för att begära allt innehåll i objektet.

Den här cmdleten används av PowerShell-leverantörer för att navigera genom olika typer av datalager. Vissa parametrar är endast tillgängliga för en specifik provider. Mer information finns i about_Providers.

Exempel

Exempel 1: Hämta den aktuella katalogen

Det här exemplet hämtar den aktuella katalogen. Punkten ('.') representerar objektet på den aktuella platsen (inte dess innehåll).

Get-Item .

Directory: C:\

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006  10:01 AM            ps-test

Exempel 2: Hämta alla objekt i den aktuella katalogen

Det här exemplet hämtar alla objekt i den aktuella katalogen. Jokertecknet (*) representerar allt innehåll i det aktuella objektet.

Get-Item *

Directory: C:\ps-test

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006   9:29 AM            Logs
d----         7/26/2006   9:26 AM            Recs
-a---         7/26/2006   9:28 AM         80 date.csv
-a---         7/26/2006  10:01 AM         30 filenoext
-a---         7/26/2006   9:30 AM      11472 process.doc
-a---         7/14/2006  10:47 AM         30 test.txt

Exempel 3: Hämta den aktuella katalogen för en enhet

Det här exemplet hämtar enhetens C: aktuella katalog. Objektet som hämtas representerar bara katalogen, inte dess innehåll.

Get-Item C:

Exempel 4: Hämta objekt på den angivna enheten

Det här exemplet hämtar objekten C: på enheten. Jokertecknet (*) representerar alla objekt i containern, inte bara containern.

Get-Item C:\*

I PowerShell använder du en enda asterisk (*) för att hämta innehåll i stället för den traditionella *.*. Formatet tolkas bokstavligen, så *.* skulle inte hämta kataloger eller filnamn utan en punkt.

Exempel 5: Hämta en egenskap i den angivna katalogen

Det här exemplet hämtar egenskapen LastAccessTime för C:\Windows katalogen. LastAccessTime är bara en egenskap för filsystemkataloger. Om du vill se alla egenskaper för en katalog skriver du (Get-Item <directory-name>) | Get-Member.

(Get-Item C:\Windows).LastAccessTime

Exempel 6: Visa innehållet i en registernyckel

Det här exemplet visar innehållet i Microsoft.PowerShell-registernyckeln . Du kan använda den här cmdleten med PowerShell-registerprovidern för att hämta registernycklar och undernycklar, men du måste använda cmdleten Get-ItemProperty för att hämta registervärden och data.

Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\

Exempel 7: Hämta objekt i en katalog som har ett undantag

Det här exemplet hämtar objekt i Windows-katalogen med namn som innehåller en punkt (.), men som inte börjar med w*. Det här exemplet fungerar bara när sökvägen innehåller ett jokertecken (*) för att ange innehållet i objektet.

Get-Item C:\Windows\*.* -Exclude "w*"

Exempel 8: Hämta hårdlänksinformation

I PowerShell 6.2 har en alternativ vy lagts till för att hämta hårdlänksinformation. Om du vill hämta hårdlänksinformationen kan du skicka utdata till Format-Table -View childrenWithHardlink

Get-Item C:\Windows\System32\ntoskrnl.exe | Format-Table -view childrenWithHardLink

Directory: C:\Windows\System32

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
la---           5/12/2021  7:40 AM       10848576 ntoskrnl.exe

Egenskapen Mode identifierar hårdlänken med l i la---

Exempel 9: Utdata för operativsystem som inte kommer från Windows

I PowerShell 7.1 på Unix-system ger cmdleten Get-Item Unix-liknande utdata:

PS> Get-Item /Users

Directory: /

UnixMode    User  Group   LastWriteTime      Size  Name
--------    ----  -----   -------------      ----  ----
drwxr-xr-x  root  admin   12/20/2019 11:46   192   Users

De nya egenskaperna som nu är en del av utdata är:

  • UnixMode är filbehörigheterna som representeras i ett Unix-system
  • Användaren är filägare
  • Gruppen är gruppens ägare
  • Storleken är storleken på filen eller katalogen som representeras i ett Unix-system

Anteckning

Den här funktionen har flyttats från experimentell till vanlig i PowerShell 7.1.

Parametrar

-CodeSigningCert

Det här är en dynamisk parameter som görs tillgänglig av certifikatprovidern. Den här parametern och certifikatprovidern är endast tillgängliga i Windows.

Om du vill hämta certifikat som har Code Signing i egenskapsvärdet EnhancedKeyUsageList använder du parametern CodeSigningCert .

Mer information finns i about_Certificate_Provider.

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

-Credential

Anteckning

Den här parametern stöds inte av leverantörer som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DnsName

Det här är en dynamisk parameter som görs tillgänglig av certifikatprovidern. Den här parametern och certifikatprovidern är endast tillgängliga i Windows.

Anger ett domännamn eller namnmönster som matchar egenskapen DNSNameList för certifikat som cmdleten hämtar. Värdet för den här parametern kan vara Unicode eller ASCII. Punycode-värden konverteras till Unicode. Jokertecken (*) tillåts.

Den här parametern återinfördes i PowerShell 7.1

Mer information finns i about_Certificate_Provider.

Type:DnsNameRepresentation
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-DocumentEncryptionCert

Det här är en dynamisk parameter som görs tillgänglig av certifikatprovidern. Den här parametern och certifikatprovidern är endast tillgängliga i Windows.

Om du vill hämta certifikat som har Document Encryption i egenskapsvärdet EnhancedKeyUsageList använder du parametern DocumentEncryptionCert .

Mer information finns i about_Certificate_Provider.

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

-Eku

Det här är en dynamisk parameter som görs tillgänglig av certifikatprovidern. Den här parametern och certifikatprovidern är endast tillgängliga i Windows.

Anger text eller ett textmönster som matchar egenskapen EnhancedKeyUsageList för certifikat som cmdleten hämtar. Jokertecken (*) tillåts. Egenskapen EnhancedKeyUsageList innehåller det egna namnet och OID-fälten för EKU:n.

Den här parametern återinfördes i PowerShell 7.1

Mer information finns i about_Certificate_Provider.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

Anger, som en strängmatris, ett objekt eller objekt som denna cmdlet exkluderar i åtgärden. Värdet för den här parametern kvalificerar parametern Path . Ange ett sökvägselement eller mönster, till exempel *.txt. Jokertecken tillåts. Parametern Exkludera gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i C:\Windows katalogen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ExpiringInDays

Det här är en dynamisk parameter som görs tillgänglig av certifikatprovidern. Den här parametern och certifikatprovidern är bara tillgängliga i Windows.

Anger att cmdleten endast ska returnera certifikat som upphör att gälla i eller före det angivna antalet dagar. Värdet noll (0) hämtar certifikat som har upphört att gälla.

Den här parametern återinfördes i PowerShell 7.1

Mer information finns i about_Certificate_Provider.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

Anger ett filter för att kvalificera parametern Path . FileSystem-providern är den enda installerade PowerShell-providern som stöder filter. Filter är effektivare än andra parametrar. Providern använder filter när cmdleten hämtar objekten i stället för att PowerShell filtrerar objekten när de har hämtats. Filtersträngen skickas till .NET API för att räkna upp filer. API:et stöder * endast jokertecken och ? jokertecken.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Anger att den här cmdleten hämtar objekt som annars inte kan nås, till exempel dolda objekt. Implementeringen varierar från leverantör till leverantör. Mer information finns i about_Providers. Även med hjälp av force-parametern kan cmdleten inte åsidosätta säkerhetsbegränsningar.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Path . Ange ett sökvägselement eller mönster, till exempel *.txt. Jokertecken tillåts. Parametern Include gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i C:\Windows katalogen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Anger en sökväg till en eller flera platser. Värdet för LiteralPath används exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den inom enkla citattecken. Enkla citattecken säger till PowerShell att inte tolka några tecken som escape-sekvenser.

Mer information finns i about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Anger sökvägen till ett objekt. Den här cmdleten hämtar objektet på den angivna platsen. Jokertecken tillåts. Den här parametern krävs, men parameternamnet Sökväg är valfritt.

Använd en punkt (.) för att ange den aktuella platsen. Använd jokertecknet (*) för att ange alla objekt på den aktuella platsen.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-SSLServerAuthentication

Det här är en dynamisk parameter som görs tillgänglig av certifikatprovidern. Den här parametern och certifikatprovidern är bara tillgängliga i Windows.

Om du vill hämta certifikat som har Server Authentication i egenskapsvärdet EnhancedKeyUsageList använder du parametern SSLServerAuthentication .

Mer information finns i about_Certificate_Provider.

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

-Stream

Det här är en dynamisk parameter som görs tillgänglig av FileSystem-providern . Den här parametern är endast tillgänglig i Windows.

Hämtar den angivna alternativa dataströmmen från filen. Ange streamnamnet. Jokertecken stöds. Om du vill hämta alla strömmar använder du en asterisk (*). Den här parametern är giltig på kataloger, men observera att kataloger inte har dataströmmar som standard.

Den här parametern introducerades i PowerShell 3.0. Från och med PowerShell 7.2 Get-Item kan du hämta alternativa dataströmmar från kataloger och filer.

Mer information finns i about_FileSystem_Provider.

Type:String[]
Position:Named
Default value:No alternate file streams
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Indata

String

Du kan skicka en sträng som innehåller en sökväg till denna cmdlet.

Utdata

AliasInfo

Cmdleten matar ut den här typen vid åtkomst till Alias: enheten.

X509StoreLocation

X509Store

X509Certificate2

Cmdleten matar ut dessa typer vid åtkomst till Cert: enheten.

DictionaryEntry

Cmdleten matar ut den här typen vid åtkomst till Env: enheten.

DirectoryInfo

FileInfo

Cmdleten matar ut dessa typer vid åtkomst till filsystemenheterna.

FunctionInfo

FilterInfo

Cmdleten matar ut dessa typer vid åtkomst till Function: enheterna.

RegistryKey

Cmdleten matar ut den här typen vid åtkomst till registerenheterna.

PSVariable

Cmdleten matar ut den här typen vid åtkomst till Variable: enheterna.

WSManConfigContainerElement

WSManConfigLeafElement

Cmdleten matar ut dessa typer vid åtkomst till WSMan: enheterna.

Kommentarer

PowerShell innehåller följande alias för Get-Item:

  • Alla plattformar:
    • gi

Denna cmdlet har ingen Recurse-parameter eftersom den bara hämtar ett objekt, inte dess innehåll. Om du vill hämta innehållet i ett objekt rekursivt använder du Get-ChildItem.

Om du vill navigera i registret använder du den här cmdleten för att hämta registernycklar och Get-ItemProperty för att hämta registervärden och data. Registervärdena anses vara egenskaper för registernyckeln.

Den här cmdleten är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över de providrar som är tillgängliga i sessionen skriver du Get-PsProvider. Mer information finns i about_Providers.