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


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

Описание

Командлет Get-Item получает элемент в указанном расположении. Он не получает содержимое элемента в расположении, если вы не используете подстановочный знак (*) для запроса всего содержимого элемента.

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

Примеры

Пример 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.
  • Пользователь является владельцем файла
  • Группа является владельцем группы
  • Размер — это размер файла или каталога, представленный в системе Unix.

Примечание

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

Параметры

-CodeSigningCert

Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.

Чтобы получить сертификаты, которые имеют Code Signing значение свойства EnhancedKeyUsageList , используйте параметр CodeSigningCert .

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

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

-Credential

Примечание

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

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

-DnsName

Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.

Указывает доменное имя или шаблон имени для сопоставления со свойством DNSNameList сертификатов, которые получает командлет. Этот параметр может иметь Unicode значение или ASCII. Значения Punycode преобразуются в формат Юникода. Разрешены подстановочные знаки (*).

Этот параметр был вновь введен в PowerShell 7.1

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

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

-DocumentEncryptionCert

Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.

Чтобы получить сертификаты, которые имеют Document Encryption значение свойства EnhancedKeyUsageList , используйте параметр DocumentEncryptionCert .

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

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

-Eku

Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.

Указывает текст или текстовый шаблон для сопоставления со свойством EnhancedKeyUsageList сертификатов, которые получает командлет. Разрешены подстановочные знаки (*). Свойство EnhancedKeyUsageList содержит понятное имя и поля OID EKU.

Этот параметр был вновь введен в PowerShell 7.1

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

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

-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

-ExpiringInDays

Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.

Указывает, что командлет должен возвращать только сертификаты, срок действия которых истекает в течение указанного числа дней или раньше. Значение , равное нулю (0), получает сертификаты, срок действия которых истек.

Этот параметр был вновь введен в PowerShell 7.1

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

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

-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

-SSLServerAuthentication

Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.

Чтобы получить сертификаты, имеющие Server Authentication значение свойства EnhancedKeyUsageList , используйте параметр SSLServerAuthentication .

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

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

-Stream

Это динамический параметр, доступный поставщиком FileSystem . Этот параметр доступен только в Windows.

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

Этот параметр появился в PowerShell 3.0. Начиная с PowerShell 7.2, можно получать альтернативные потоки данных из каталогов и Get-Item файлов.

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

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

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

String

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

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

AliasInfo

Командлет выводит этот тип при доступе к диску Alias: .

X509StoreLocation

X509Store

X509Certificate2

Командлет выводит эти типы при доступе к диску Cert: .

DictionaryEntry

Командлет выводит этот тип при доступе к диску Env: .

DirectoryInfo

FileInfo

Командлет выводит эти типы при доступе к дискам файловой системы.

FunctionInfo

FilterInfo

Командлет выводит эти типы при доступе к дискам Function: .

RegistryKey

Командлет выводит этот тип при доступе к дискам реестра.

PSVariable

Командлет выводит этот тип при доступе к дискам Variable: .

WSManConfigContainerElement

WSManConfigLeafElement

Командлет выводит эти типы при доступе к дискам WSMan: .

Примечания

PowerShell включает следующие псевдонимы для Get-Item:

  • Для всех платформ.
    • gi

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

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

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