Udostępnij przez


Get-Item

Pobiera element w określonej lokalizacji.

Składnia

Path (domyślnie)

Get-Item
    [-Path] <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-Stream <String[]>]
    [<CommonParameters>]

LiteralPath

Get-Item
    -LiteralPath <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-Stream <String[]>]
    [<CommonParameters>]

Opis

Polecenie cmdlet Get-Item pobiera element z określonej lokalizacji. Nie pobiera zawartości elementu w lokalizacji, chyba że używasz symbolu wieloznakowego (*), aby zażądać całej zawartości elementu.

To polecenie cmdlet jest używane przez dostawców programu PowerShell do nawigowania po różnych typach magazynów danych.

Przykłady

Przykład 1. Pobieranie bieżącego katalogu

Przykład pobiera bieżący katalog. Kropka ('.') reprezentuje element w bieżącej lokalizacji (a nie jego zawartość).

Get-Item .
Directory: C:\

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

Przykład 2. Pobieranie wszystkich elementów w bieżącym katalogu

Ten przykład pobiera wszystkie elementy z bieżącego katalogu. Symbol wieloznaczny (*) reprezentuje całą zawartość bieżącego elementu.

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

Przykład 3. Pobieranie bieżącego katalogu dysku

Ten przykład pobiera bieżący katalog dysku C:. Pobrany obiekt reprezentuje tylko katalog, a nie jego zawartość.

Get-Item C:

Przykład 4. Pobieranie elementów na określonym dysku

Ten przykład pobiera przedmioty z dysku C:. Symbol wieloznaczny (*) reprezentuje wszystkie elementy w kontenerze, a nie tylko kontener.

Get-Item C:\*

W programie PowerShell użyj jednej gwiazdki (*), aby uzyskać zawartość, zamiast tradycyjnej *.*. Format jest interpretowany dosłownie, więc *.* nie pobiera katalogów ani nazw plików bez kropki.

Przykład 5. Pobieranie właściwości w określonym katalogu

Ten przykład pobiera właściwość LastAccessTime dla katalogu C:\Windows. LastAccessTime jest tylko jedną właściwością katalogów systemu plików. Aby wyświetlić wszystkie właściwości katalogu, wpisz (Get-Item <directory-name>) | Get-Member.

(Get-Item C:\Windows).LastAccessTime

Przykład 6. Wyświetlanie zawartości klucza rejestru

W tym przykładzie przedstawiono zawartość klucza rejestru Microsoft.PowerShell. Można użyć tego polecenia cmdlet za pomocą dostawcy rejestru PowerShell, aby uzyskać klucze rejestru i podklucze, ale należy użyć polecenia cmdlet Get-ItemProperty, aby uzyskać wartości rejestru i dane.

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

Przykład 7. Pobieranie elementów w katalogu z wykluczeniem

Ten przykład pobiera elementy w katalogu systemu Windows z nazwami, które zawierają kropkę (.), ale nie zaczynają się od w*. Ten przykład działa tylko wtedy, gdy ścieżka zawiera symbol wieloznaczny (*) w celu określenia zawartości elementu.

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

Przykład 8. Pobieranie informacji o twardych linkach

W programie PowerShell 6.2 dodano widok alternatywny w celu uzyskania informacji o twardych linkach. Aby uzyskać informacje o twardych linkach, należy przekazać dane wyjściowe do 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

Właściwość Mode identyfikuje hardlink za pomocą l w la---

Przykład 9: dane wyjściowe dla systemów operacyjnych innych niż Windows

W programie PowerShell 7.1 w systemach Unix polecenie cmdlet Get-Item zapewnia dane wyjściowe podobne do systemu Unix:

PS> Get-Item /Users
    Directory: /

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

Nowe właściwości, które są teraz częścią danych wyjściowych, to:

  • UnixMode oznacza uprawnienia do plików reprezentowane w systemie Unix
  • użytkownik jest właścicielem pliku
  • Grupa jest właścicielem grupy
  • rozmiar jest rozmiarem pliku lub katalogu reprezentowanego w systemie Unix

Uwaga / Notatka

Ta funkcja została przeniesiona z eksperymentalnego do głównego nurtu w programie PowerShell 7.1.

Parametry

-Credential

Uwaga / Notatka

Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby podszyć się pod innego użytkownika lub podnieść swoje uprawnienia podczas uruchamiania tego cmdletu, użyj Invoke-Command.

Właściwości parametru

Typ:PSCredential
Domyślna wartość:Current user
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Exclude

Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet wyklucza w operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak *.txt. Symbole wieloznaczne są dozwolone. Parametr Exclude jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*, gdzie symbol wieloznaczny określa zawartość katalogu C:\Windows.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Filter

Określa filtr w celu kwalifikacji parametru ścieżki. Dostawca FileSystem jest jedynym zainstalowanym dostawcą programu PowerShell obsługującym filtry. Filtry są bardziej wydajne niż inne parametry. Dostawca zastosowuje filtr, gdy polecenie cmdlet pobiera obiekty, zamiast pozwalać, by program PowerShell filtrował obiekty po ich pobraniu. Ciąg filtru jest przekazywany do interfejsu API platformy .NET w celu wyliczenia plików. Interfejs API obsługuje tylko symbole wieloznaczne * i ?.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Force

Wskazuje, że to polecenie cmdlet pobiera elementy, do których w przeciwnym razie nie byłoby dostępu, na przykład ukryte elementy. Implementacja różni się od dostawcy do dostawcy. Aby uzyskać więcej informacji, zobacz about_Providers. Nawet, gdy używa się parametru Force, polecenie cmdlet nie jest w stanie zastąpić ograniczeń zabezpieczeń.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Include

Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet zawiera w operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak *.txt. Symbole wieloznaczne są dozwolone. Parametr Include jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*, gdzie symbol wieloznaczny określa zawartość katalogu C:\Windows.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-LiteralPath

Określa ścieżkę do co najmniej jednej lokalizacji. Wartość LiteralPath jest używana dokładnie tak, jak jest typowana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy wskazują programowi PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:PSPath, LP

Zestawy parametrów

LiteralPath
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Path

Określa ścieżkę do elementu. To polecenie cmdlet pobiera element z określonej lokalizacji. Symbole wieloznaczne są dozwolone. Ten parametr jest wymagany, ale nazwa parametru Ścieżka jest opcjonalna.

Użyj kropki (.), aby określić bieżącą lokalizację. Użyj symbolu wieloznakowego (*), aby określić wszystkie elementy w bieżącej lokalizacji.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

Path
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Stream

Uwaga / Notatka

Ten parametr jest dostępny tylko w systemie Windows.

Pobiera określony alternatywny strumień plików NTFS z pliku. Wprowadź nazwę strumienia. Symbole wieloznaczne są obsługiwane. Aby uzyskać wszystkie strumienie, użyj gwiazdki (*). Ten parametr nie jest prawidłowy w folderach.

Stream jest parametrem dynamicznym, który dostawca systemu plików dodaje do polecenia cmdlet Get-Item. Ten parametr działa tylko na dyskach systemu plików.

Właściwości parametru

Typ:

String[]

Domyślna wartość:No alternate file streams
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

String

Możesz przekierować ciąg zawierający ścieżkę do tego cmdletu.

Dane wyjściowe

Object

To polecenie cmdlet zwraca obiekty, które otrzymuje. Typ jest określany przez typ obiektów w ścieżce.

Uwagi

To polecenie cmdlet nie ma parametru Recurse, ponieważ pobiera tylko element, a nie jego zawartość. Aby uzyskać zawartość elementu rekursywnie, użyj Get-ChildItem.

Aby poruszać się po rejestrze, użyj polecenia cmdlet, aby uzyskać klucze rejestru, a Get-ItemProperty, aby uzyskać wartości i dane rejestru. Wartości rejestru są uważane za właściwości klucza rejestru.

Cmdlet jest przeznaczony do pracy z danymi udostępnionymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PsProvider. Aby uzyskać więcej informacji, zobacz about_Providers.