Get-Item

Ruft das Element an der angegebenen Position ab.

Syntax

Path (Default) - FileSystem provider

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-Stream <string[]>]
    [<CommonParameters>]

LiteralPath - FileSystem provider

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-Stream <string[]>]
    [<CommonParameters>]

Path (Default) - Certificate provider

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

LiteralPath - Certificate provider

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

Path (Default) - All providers

Get-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [<CommonParameters>]

LiteralPath - All providers

Get-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [<CommonParameters>]

Beschreibung

Das Get-Item Cmdlet ruft das Element an der angegebenen Position ab. Der Inhalt des Elements wird nicht an der Position abgerufen, es sei denn, Sie verwenden ein Wildcardzeichen (*), um den gesamten Inhalt des Elements anzufordern.

Dieses Cmdlet wird von PowerShell-Anbietern verwendet, um durch verschiedene Datentypen von Datenspeichern zu navigieren.

Beispiele

Beispiel 1: Abrufen des aktuellen Verzeichnisses

In diesem Beispiel wird das aktuelle Verzeichnis zurückgegeben. Der Punkt ('.') stellt das Element an der aktuellen Position (nicht dessen Inhalt) dar.

Get-Item .
Directory: C:\

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

Beispiel 2: Abrufen aller Elemente im aktuellen Verzeichnis

In diesem Beispiel werden alle Elemente im aktuellen Verzeichnis abgerechnet. Das Wildcardzeichen (*) stellt den gesamten Inhalt des aktuellen Elements dar.

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

Beispiel 3: Abrufen des aktuellen Verzeichnisses eines Laufwerks

In diesem Beispiel wird das aktuelle Verzeichnis des C: Laufwerks abruft. Das abgerufene Objekt stellt nur das Verzeichnis dar, nicht dessen Inhalt.

Get-Item C:

Beispiel 4: Abrufen von Elementen im angegebenen Laufwerk

In diesem Beispiel werden die Elemente auf dem C: Laufwerk angezeigt. Das Wildcardzeichen (*) stellt alle Elemente im Container dar, nicht nur den Container.

Get-Item C:\*

Verwenden Sie in PowerShell ein einzelnes Sternchen (*) zum Abrufen von Inhalten anstelle der herkömmlichen *.*. Das Format wird buchstäblich interpretiert, sodass *.* keine Verzeichnisse oder Dateinamen ohne punkt abgerufen werden.

Beispiel 5: Abrufen einer Eigenschaft im angegebenen Verzeichnis

In diesem Beispiel wird die Eigenschaft LastAccessTime des Verzeichnisses C:\Windows. LastAccessTime ist nur eine Eigenschaft von Dateisystemverzeichnissen. Geben Sie ein, (Get-Item <directory-name>) | Get-Memberum alle Eigenschaften eines Verzeichnisses anzuzeigen.

(Get-Item C:\Windows).LastAccessTime

Beispiel 6: Anzeigen des Inhalts eines Registrierungsschlüssels

Dieses Beispiel zeigt den Inhalt des Microsoft. PowerShell Registrierungsschlüssel. Sie können dieses Cmdlet mit dem PowerShell-Registrierungsanbieter verwenden, um Registrierungsschlüssel und Unterschlüssel abzurufen, aber Sie müssen das Get-ItemProperty Cmdlet verwenden, um die Registrierungswerte und -daten abzurufen.

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

Beispiel 7: Abrufen von Elementen in einem Verzeichnis mit einem Ausschluss

In diesem Beispiel werden Elemente im verzeichnis Windows mit Namen, die einen Punkt (.) enthalten, aber nicht mit w* beginnen. Dieses Beispiel funktioniert nur, wenn der Pfad ein Wildcardzeichen (*) enthält, um den Inhalt des Elements anzugeben.

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

Beispiel 8: Abrufen von Hardlinkinformationen

In PowerShell 6.2 wurde eine alternative Ansicht hinzugefügt, um Hardlinkinformationen abzurufen. Um die Hardlinkinformationen abzurufen, führen Sie die Ausgabe an 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

Die Mode Eigenschaft identifiziert die Hardlinks durch das l In la---

Beispiel 9: Ausgabe für Nicht-Windows Betriebssysteme

In PowerShell 7.1 auf Unix-Systemen bietet das Get-Item Cmdlet Unix-ähnliche Ausgabe:

PS> Get-Item /Users
    Directory: /

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

Die neuen Eigenschaften, die jetzt Teil der Ausgabe sind, sind:

  • UnixMode sind die Dateiberechtigungen, wie sie in einem Unix-System dargestellt werden
  • Benutzer- ist der Dateibesitzer
  • Gruppe ist der Gruppenbesitzer
  • Size ist die Größe der Datei oder des Verzeichnisses, wie auf einem Unix-System dargestellt

Note

Dieses Feature wurde von experimentell in PowerShell 7.1 in den Mainstream verschoben.

Parameter

-CodeSigningCert

Dies ist ein dynamischer Parameter, der vom anbieter Certificate zur Verfügung gestellt wird. Dieser Parameter und der Anbieter Certificate sind nur für Windows verfügbar.

Verwenden Sie den Code Signing, um Zertifikate abzurufen, die in ihrem EnhancedKeyUsageList-Eigenschaftswert enthalten sind.

Weitere Informationen findest du unter about_Certificate_Provider.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Credential

Note

Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie Invoke-Command-, um die Identität eines anderen Benutzers zu imitieren oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.

Parametereigenschaften

Typ:PSCredential
Standardwert:Current user
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-DnsName

Dies ist ein dynamischer Parameter, der vom anbieter Certificate zur Verfügung gestellt wird. Dieser Parameter und der Anbieter Certificate sind nur für Windows verfügbar.

Gibt einen Domänennamen oder ein Namensmuster an, das mit der DNSNameList Eigenschaft von Zertifikaten übereinstimmt, die das Cmdlet abruft. Der Wert dieses Parameters kann entweder Unicode oder ASCIIsein. Punycode-Werte werden in Unicode konvertiert. Wildcardzeichen (*) sind zulässig.

Dieser Parameter wurde in PowerShell 7.1 erneut eingeführt.

Weitere Informationen findest du unter about_Certificate_Provider.

Parametereigenschaften

Typ:DnsNameRepresentation
Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-DocumentEncryptionCert

Dies ist ein dynamischer Parameter, der vom anbieter Certificate zur Verfügung gestellt wird. Dieser Parameter und der Anbieter Certificate sind nur für Windows verfügbar.

Verwenden Sie den Document Encryption", um Zertifikate abzurufen, die in ihrem EnhancedKeyUsageList-Eigenschaftswert enthalten sind.

Weitere Informationen findest du unter about_Certificate_Provider.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Eku

Dies ist ein dynamischer Parameter, der vom anbieter Certificate zur Verfügung gestellt wird. Dieser Parameter und der Anbieter Certificate sind nur für Windows verfügbar.

Gibt Text oder ein Textmuster an, das mit der Eigenschaft EnhancedKeyUsageList der Zertifikate, die das Cmdlet abruft, übereinstimmen soll. Wildcardzeichen (*) sind zulässig. Die Eigenschaft EnhancedKeyUsageList enthält den Anzeigenamen und die OID-Felder der EKU.

Dieser Parameter wurde in PowerShell 7.1 erneut eingeführt.

Weitere Informationen findest du unter about_Certificate_Provider.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Exclude

Gibt als Array von Zeichenfolgen ein Element oder Elemente an, die dieses Cmdlet im Vorgang ausschließt. Der Wert dieses Parameters qualifiziert den parameter Path. Geben Sie ein Pfadelement oder Muster ein, z. B. *.txt. Platzhalterzeichen sind zulässig. Der Exclude Parameter ist nur wirksam, wenn der Befehl den Inhalt eines Elements enthält, z. B. C:\Windows\*, wobei das Wildcardzeichen den Inhalt des C:\Windows Verzeichnisses angibt.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ExpiringInDays

Dies ist ein dynamischer Parameter, der vom anbieter Certificate zur Verfügung gestellt wird. Dieser Parameter und der Anbieter Certificate sind nur für Windows verfügbar.

Gibt an, dass das Cmdlet nur Zertifikate zurückgeben soll, die innerhalb oder vor der angegebenen Anzahl von Tagen ablaufen. Ein Wert von Null (0) ruft Zertifikate ab, die abgelaufen sind.

Dieser Parameter wurde in PowerShell 7.1 erneut eingeführt.

Weitere Informationen findest du unter about_Certificate_Provider.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Filter

Gibt einen Filter an, der den parameter Path qualifizieren soll. Der FileSystem--Anbieter ist der einzige installierte PowerShell-Anbieter, der Filter unterstützt. Filter sind effizienter als andere Parameter. Der Anbieter wendet Filter an, wenn das Cmdlet die Objekte abruft, anstatt dass PowerShell die Objekte nach dem Abrufen filtert. Die Filterzeichenfolge wird an die .NET-API übergeben, um Dateien aufzählen zu können. Die API unterstützt nur * und ? Wildcards.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Force

Gibt an, dass dieses Cmdlet Elemente abruft, auf die andernfalls nicht zugegriffen werden kann, z. B. ausgeblendete Elemente. Die Implementierung variiert von Anbieter zu Anbieter. Weitere Informationen finden Sie unter über_Anbieter. Selbst bei Verwendung des parameters Force kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Include

Gibt als Zeichenfolgenarray ein oder mehrere Elemente an, die dieses Cmdlet in den Vorgang einbezieht. Der Wert dieses Parameters qualifiziert den parameter Path. Geben Sie ein Pfadelement oder Muster ein, z. B. *.txt. Platzhalterzeichen sind zulässig. Der Include Parameter ist nur wirksam, wenn der Befehl den Inhalt eines Elements einbezieht, wie zum Beispiel C:\Windows\*, wobei das Wildcard-Zeichen den Inhalt des C:\Windows-Verzeichnisses angibt.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-LiteralPath

Gibt einen Pfad zu einem oder mehreren Speicherorten an. Der Wert LiteralPath- wird genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen signalisieren PowerShell, dass keine Zeichen als Escapesequenzen interpretiert werden sollen.

Weitere Informationen finden Sie unter über_Zitierregeln.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:PSPath, EP

Parametersätze

LiteralPath
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Path

Gibt den Pfad zu einem Element an. Dieses Cmdlet ruft das Element an der angegebenen Position ab. Platzhalterzeichen sind zulässig. Dieser Parameter ist erforderlich, der Parametername "Path " ist jedoch optional.

Verwenden Sie einen Punkt (.), um die aktuelle Position anzugeben. Verwenden Sie das Wildcardzeichen (*), um alle Elemente an der aktuellen Position anzugeben.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

Path
Position:0
Obligatorisch.:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-SSLServerAuthentication

Dies ist ein dynamischer Parameter, der vom anbieter Certificate zur Verfügung gestellt wird. Dieser Parameter und der Anbieter Certificate sind nur für Windows verfügbar.

Verwenden Sie den Server Authentication, um Zertifikate abzurufen, die in ihrem EnhancedKeyUsageList-Eigenschaftswert enthalten sind.

Weitere Informationen findest du unter about_Certificate_Provider.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Stream

Dies ist ein dynamischer Parameter, der vom FileSystem Provider zur Verfügung gestellt wird. Dieser Parameter ist nur unter Windows verfügbar.

Ruft den angegebenen alternativen Datenstrom aus der Datei ab. Geben Sie den Datenstromnamen ein. Platzhalter werden unterstützt. Um alle Datenströme abzurufen, verwenden Sie ein Sternchen (*). Dieser Parameter ist für Verzeichnisse gültig, beachten Sie jedoch, dass Verzeichnisse standardmäßig keine Datenströme enthalten.

Dieser Parameter wurde in PowerShell 3.0 eingeführt. Ab PowerShell 7.2 Get-Item können alternative Datenströme aus Verzeichnissen und Dateien abgerufen werden.

Weitere Informationen finden Sie unter about_FileSystem_Provider.

Parametereigenschaften

Typ:

String[]

Standardwert:No alternate file streams
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

String

Sie können eine Zeichenfolge weiterleiten, die einen Pfad zu diesem Cmdlet enthält.

Ausgaben

AliasInfo

Das Cmdlet gibt diesen Typ aus, wenn auf das Alias: Laufwerk zugegriffen wird.

X509StoreLocation

X509Store

X509Certificate2

Das Cmdlet gibt diese Typen aus, wenn es auf das Laufwerk Cert: zugreift.

DictionaryEntry

Das Cmdlet gibt diesen Typ aus, wenn auf das Env: Laufwerk zugegriffen wird.

DirectoryInfo

FileInfo

Das Cmdlet gibt diese Typen beim Zugriff auf die FileSystem-Laufwerke aus.

FunctionInfo

FilterInfo

Das Cmdlet gibt diese Typen aus, wenn es auf die Function: Laufwerke zugreift.

RegistryKey

Das Cmdlet gibt diesen Typ beim Zugriff auf die Registrierungslaufwerke aus.

PSVariable

Das Cmdlet gibt diesen Typ aus, wenn auf die Variable: Laufwerke zugegriffen wird.

WSManConfigContainerElement

WSManConfigLeafElement

Das Cmdlet gibt diese Typen aus, wenn es auf die WSMan: Laufwerke zugreift.

Hinweise

PowerShell enthält die folgenden Aliase für Get-Item:

  • Alle Plattformen:
    • gi

Dieses Cmdlet verfügt nicht über einen Recurse-Parameter , da es nur ein Element abruft, nicht dessen Inhalt. Um den Inhalt eines Elements rekursiv abzurufen, verwenden Sie Get-ChildItem.

Um durch die Registrierung zu navigieren, verwenden Sie dieses Cmdlet zum Abrufen von Registrierungsschlüsseln und zum Get-ItemProperty Abrufen von Registrierungswerten und -daten. Die Registrierungswerte werden als Eigenschaften des Registrierungsschlüssels betrachtet.

Dieses Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden. Geben Sie Get-PSProviderein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter über_Anbieter.