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. Получение свойства в указанном каталоге
В этом примере возвращается свойство C:\Windows
LastAccessTime каталога. 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
помощью in 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.
Тип: | 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 содержит понятное имя и поля OID для EKU.
Этот параметр был повторно введен в PowerShell 7.1
Дополнительные сведения см. в about_Certificate_Provider.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-Exclude
Указывает как строковый массив, элемент или элементы, которые этот командлет исключает в операции. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt
. Можно использовать подстановочные знаки. Параметр Exclude действует только в том случае, если команда включает содержимое элемента, например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 . Поставщик FileSystem — единственный установленный поставщик 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 не интерпретировать какие-либо символы как escape-последовательности.
Дополнительные сведения см. в about_Quoting_Rules.
Тип: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-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
Это динамический параметр, доступный поставщиком FileSystem . Этот параметр доступен только в 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