Поделиться через


Get-Item

Получает элемент в указанном расположении.

Синтаксис

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 получает элемент в указанном расположении. Он не получает содержимое элемента в расположении, если вы не используете подстановочный знак (*) для запроса всего содержимого элемента.

Этот командлет используется поставщиками PowerShell для навигации по различным типам хранилищ данных.

Примеры

Пример 1. Получение текущего каталога

В этом примере возвращается текущий каталог. Точка ('.') представляет элемент в текущем расположении (а не его содержимое).

Get-Item .

Directory: C:\

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

Пример 2. Получение всех элементов в текущем каталоге

В этом примере возвращаются все элементы в текущем каталоге. Подстановочный знак (*) представляет все содержимое текущего элемента.

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

Пример 3. Получение текущего каталога диска

В этом примере возвращается текущий C: каталог диска. Извлекаемый объект представляет только каталог, но не его содержимое.

Get-Item C:

Пример 4. Получение элементов на указанном диске

В этом примере возвращаются элементы на C: диске. Подстановочный знак (*) представляет все элементы в контейнере, а не только контейнер.

Get-Item C:\*

В PowerShell используйте одну звездочку (*) для получения содержимого вместо традиционного *.*. Формат интерпретируется буквально, поэтому *.* не будет извлекать каталоги или имена файлов без точки.

Пример 5. Получение свойства в указанном каталоге

В этом примере возвращается свойство C:\WindowsLastAccessTime каталога. LastAccessTime — это только одно свойство каталогов файловой системы. Чтобы просмотреть все свойства каталога, введите (Get-Item <directory-name>) | Get-Member.

(Get-Item C:\Windows).LastAccessTime

Пример 6. Отображение содержимого раздела реестра

В этом примере показано содержимое раздела реестра Microsoft.PowerShell . Этот командлет можно использовать с поставщиком реестра PowerShell для получения разделов и подразделов реестра, но для получения значений и данных реестра необходимо использовать Get-ItemProperty командлет .

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

Пример 7. Получение элементов в каталоге с исключением

В этом примере возвращаются элементы в каталоге Windows с именами, которые содержат точку (.), но не начинаются с w*. Этот пример работает только в том случае, если путь содержит подстановочный знак (*) для указания содержимого элемента.

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

Пример 8. Получение сведений о жесткой ссылке

В PowerShell 6.2 было добавлено альтернативное представление для получения сведений о жесткой ссылке. Чтобы получить сведения о жесткой ссылке, передайте выходные данные в 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

Свойство Mode идентифицирует жесткую ссылку l с помощью в la---

Пример 9. Выходные данные для операционных систем, отличных от Windows

В PowerShell 7.1 в системах Get-Item Unix командлет предоставляет выходные данные, подобные Unix:

PS> Get-Item /Users

Directory: /

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

Новые свойства, которые теперь являются частью выходных данных:

  • UnixMode — это разрешения файла, представленные в системе Unix.
  • Пользователь является владельцем файла
  • Группа является владельцем группы
  • Size — это размер файла или каталога, представленный в системе Unix.

Примечание

Эта функция была перенесена из экспериментальной в основную версию PowerShell 7.1.

Параметры

-Credential

Примечание

Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить уровень учетных данных при выполнении этого командлета, используйте Invoke-Command.

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

-Exclude

Указывает в качестве массива строк элемент или элементы, которые этот командлет исключает в операции. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt. Можно использовать подстановочные знаки. Параметр Exclude действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое C:\Windows каталога.

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

-Filter

Указывает фильтр для указания параметра Path . Поставщик FileSystem — это единственный установленный поставщик PowerShell, который поддерживает фильтры. Фильтры более эффективны, чем другие параметры. Поставщик применяет фильтр, когда командлет получает объекты, а не powerShell фильтрует объекты после их извлечения. Строка фильтра передается в API .NET для перечисления файлов. API поддерживает * только подстановочные знаки и ? .

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

-Force

Указывает, что этот командлет получает элементы, к которым невозможно получить доступ, например скрытые элементы. Применение этого параметра зависит от конкретного поставщика. Дополнительные сведения см. в разделе about_Providers. Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.

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

-Include

Указывает в качестве массива строк элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt. Можно использовать подстановочные знаки. Параметр Include действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое C:\Windows каталога.

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

-LiteralPath

Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется точно так же, как оно введено. Никакие символы не интерпретируются как знаки подстановки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки предписывают PowerShell не интерпретировать какие-либо символы как escape-последовательности.

Дополнительные сведения см. в разделе about_Quoting_Rules.

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

-Path

Определяет путь к элементу. Этот командлет получает элемент в указанном расположении. Можно использовать подстановочные знаки. Этот параметр является обязательным, но имя параметра Path является необязательным.

Используйте точку (.), чтобы указать текущее расположение. Используйте подстановочный знак (*), чтобы указать все элементы в текущем расположении.

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

-Stream

Примечание

Этот параметр доступен только в Windows.

Возвращает указанный альтернативный файловый поток NTFS из файла. Введите имя потока. Поддерживаются подстановочные знаки. Чтобы получить все потоки, используйте звездочку (*). Этот параметр недопустим для папок.

Stream — это динамический параметр, добавляемый поставщиком FileSystem в Get-Item командлет . Этот параметр работает только на дисках с файловой системой.

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

Входные данные

String

В этот командлет можно передать по конвейеру строку, содержащую путь.

Выходные данные

Object

Этот командлет возвращает объекты, которые он получает. Тип определяется типом объектов в пути.

Примечания

У этого командлета нет параметра Recurse , так как он получает только элемент, а не его содержимое. Чтобы получить содержимое элемента рекурсивно, используйте .Get-ChildItem

Для перехода по реестру используйте этот командлет для получения разделов реестра и Get-ItemProperty для получения значений и данных реестра. Параметры реестра являются свойствами раздела реестра.

Этот командлет предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PsProvider. Дополнительные сведения см. в разделе about_Providers.