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 для навигации по различным типам хранилищ данных.
Примеры
Пример 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. Получение свойства в указанном каталоге
В этом примере получается свойство LastAccessTime каталога C:\Windows
.
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 на системах Unix командлет Get-Item
предоставляет вывод, как на 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.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Заметка
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.
Тип: | PSCredential |
Position: | Named |
Default value: | Current user |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-DnsName
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Указывает доменное имя или шаблон имени для сопоставления со свойством DNSNameList сертификатов, которые получает командлет. Значение этого параметра может быть Unicode
или ASCII
. Значения Punycode преобразуются в Юникод. Разрешены подстановочные символы (*
).
Этот параметр был повторно введен в PowerShell 7.1
Дополнительные сведения см. в about_Certificate_Provider.
Тип: | DnsNameRepresentation |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-DocumentEncryptionCert
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Чтобы получить сертификаты, имеющие Document Encryption
в значении свойства EnhancedKeyUsageList, используйте параметр DocumentEncryptionCert.
Дополнительные сведения см. в about_Certificate_Provider.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Eku
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Задает текст или текстовый шаблон, соответствующий свойству EnhancedKeyUsageList сертификатов, которые получает командлет. Разрешены подстановочные символы (*
).
Свойство EnhancedKeyUsageList содержит понятное имя и поля идентификатора EKU.
Этот параметр был повторно введен в PowerShell 7.1
Дополнительные сведения см. в about_Certificate_Provider.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-Exclude
Указывает как строковый массив, элемент или элементы, которые этот командлет исключает в операции. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt
. Разрешены подстановочные знаки. Параметр Исключить действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*
, где подстановочный знак указывает содержимое каталога C:\Windows
.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-ExpiringInDays
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Указывает, что командлет должен возвращать только сертификаты, срок действия которых истекает в течение или до указанного числа дней. Значение ноль (0
) используется для получения сертификатов, срок действия которых истек.
Этот параметр был повторно введен в PowerShell 7.1
Дополнительные сведения см. в about_Certificate_Provider.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Filter
Указывает фильтр для квалификации параметра Path. Поставщик файловой системы является единственным установленным поставщиком PowerShell, поддерживающим фильтры. Фильтры более эффективны, чем другие параметры. Поставщик применяет фильтр, когда командлет получает объекты, а не PowerShell фильтрует их после получения. Строка фильтра передается API .NET для перечисления файлов. API поддерживает только подстановочные знаки *
и ?
.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-Force
Указывает, что этот командлет получает элементы, к которым в противном случае невозможно получить доступ, например, скрытые элементы. Реализация зависит от поставщика к поставщику. Дополнительные сведения см. в разделе about_Providers. Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Include
Указывает, как строковый массив, элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt
. Разрешены подстановочные знаки. Параметр Include действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*
, где подстановочный знак указывает содержимое каталога C:\Windows
.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-LiteralPath
Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется точно так, как оно введено. Символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell не интерпретировать какие-либо символы как последовательности экранирования.
Дополнительные сведения см. в about_Quoting_Rules.
Тип: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Path
Указывает путь к элементу. Этот командлет извлекает элемент в указанном расположении. Разрешены подстановочные знаки. Этот параметр является обязательным, но имя параметра path является необязательным.
Используйте точку (.
), чтобы указать текущее расположение. Используйте подстановочный знак (*
) для указания всех элементов в текущем расположении.
Тип: | String[] |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | True |
-SSLServerAuthentication
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Чтобы получить сертификаты с Server Authentication
в значении свойства EnhancedKeyUsageList, используйте параметр SSLServerAuthentication.
Дополнительные сведения см. в about_Certificate_Provider.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Stream
Это динамический параметр, доступный поставщиком файловой системы. Этот параметр доступен только в Windows.
Возвращает указанный альтернативный поток данных из файла. Введите имя потока. Поддерживаются подстановочные знаки. Чтобы получить все потоки, используйте звездочку (*
). Этот параметр действителен для каталогов, но обратите внимание, что каталоги не имеют потоков данных по умолчанию.
Этот параметр появился в PowerShell 3.0. По состоянию на PowerShell 7.2 Get-Item
могут получать альтернативные потоки данных из каталогов, а также файлов.
Дополнительные сведения см. в about_FileSystem_Provider.
Тип: | String[] |
Position: | Named |
Default value: | No alternate file streams |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
Входные данные
Можно передать строку, содержащую путь к этому командлету.
Выходные данные
Командлет выводит этот тип при доступе к диску Alias:
.
Командлет выводит эти типы при доступе к диску Cert:
.
Командлет выводит этот тип при доступе к диску Env:
.
Командлет выводит эти типы при доступе к дискам файловой системы.
Командлет выводит эти типы при доступе к Function:
дискам.
Командлет выводит этот тип при доступе к дискам реестра.
Командлет выводит этот тип при доступе к дискам Variable:
.
Командлет выводит эти типы при доступе к WSMan:
дискам.
Примечания
PowerShell включает следующие псевдонимы для Get-Item
:
- Все платформы:
gi
Этот командлет не имеет параметра Recurse, так как он получает только элемент, а не его содержимое.
Чтобы получить содержимое элемента рекурсивно, используйте Get-ChildItem
.
Чтобы просматривать реестр, используйте этот командлет, чтобы получить ключи реестра, и Get-ItemProperty
, чтобы получить значения и данные. Значения реестра считаются свойствами раздела реестра.
Этот командлет предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PsProvider
. Дополнительные сведения см. в разделе about_Providers.
Связанные ссылки
PowerShell