Get-Item
Возвращает элемент в указанном расположении.
Синтаксис
Path (Default) - FileSystem provider
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-Stream <string[]>]
[<CommonParameters>]
LiteralPath - FileSystem provider
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-Stream <string[]>]
[<CommonParameters>]
Path (Default) - Certificate provider
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
LiteralPath - Certificate provider
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
Path (Default) - All providers
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[<CommonParameters>]
LiteralPath - All providers
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 |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Credential
Замечание
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.
Свойства параметра
Тип: | PSCredential |
Default value: | Current user |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-DnsName
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Указывает доменное имя или шаблон имени, которые должны соответствовать свойству DNSNameList сертификатов, получаемых командлетом. Значение этого параметра может быть Unicode
или ASCII
. Значения Punycode преобразуются в Юникод. Разрешены подстановочные символы (*
).
Этот параметр был повторно введен в PowerShell 7.1
Для получения дополнительной информации см. about_Certificate_Provider.
Свойства параметра
Тип: | DnsNameRepresentation |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-DocumentEncryptionCert
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Чтобы получить сертификаты, имеющие Document Encryption
в значении свойства EnhancedKeyUsageList, используйте параметр DocumentEncryptionCert.
Для получения дополнительной информации см. about_Certificate_Provider.
Свойства параметра
Тип: | SwitchParameter |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Eku
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Задает текст или текстовый шаблон, соответствующий свойству EnhancedKeyUsageList сертификатов, которые получает командлет. Разрешены подстановочные символы (*
).
Свойство EnhancedKeyUsageList содержит понятное имя и поля идентификатора EKU.
Этот параметр был повторно введен в PowerShell 7.1
Для получения дополнительной информации см. about_Certificate_Provider.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Exclude
Указывает как строковый массив, элемент или элементы, которые этот командлет исключает в операции. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt
. Разрешено использование подстановочных символов. Параметр Исключить действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*
, где подстановочный знак указывает содержимое каталога C:\Windows
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-ExpiringInDays
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Указывает, что командлет должен возвращать только сертификаты, срок действия которых истекает в течение или до указанного числа дней. Значение ноль (0
) используется для получения сертификатов, срок действия которых истек.
Этот параметр был повторно введен в PowerShell 7.1
Для получения дополнительной информации см. about_Certificate_Provider.
Свойства параметра
Тип: | Int32 |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Filter
Указывает фильтр для квалификации параметра Path. Поставщик файловой системы является единственным установленным поставщиком PowerShell, поддерживающим фильтры. Фильтры более эффективны, чем другие параметры. Поставщик применяет фильтр, когда командлет получает объекты, вместо того чтобы PowerShell фильтровал объекты после их получения. Строка фильтра передается API .NET для перечисления файлов. API поддерживает только подстановочные знаки *
и ?
.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Force
Указывает, что этот командлет получает элементы, к которым в противном случае невозможно получить доступ, например, скрытые элементы. Реализация зависит от поставщика к поставщику. Дополнительные сведения см. в разделе о поставщиках. Даже при использовании параметра Force командлет не может обойти ограничения безопасности.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Include
Указывает, как строковый массив, элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt
. Разрешено использование подстановочных символов. Параметр Include действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*
, где подстановочный знак указывает содержимое каталога C:\Windows
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Дополнительную информацию см. в разделе about_Quoting_Rules.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | PSPath, LP |
Наборы параметров
LiteralPath
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Path
Указывает путь к элементу. Этот командлет извлекает элемент в указанном расположении. Разрешено использование подстановочных символов. Этот параметр является обязательным, но имя параметра path является необязательным.
Используйте точку (.
), чтобы указать текущее расположение. Используйте подстановочный знак (*
) для указания всех элементов в текущем расположении.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
Path
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-SSLServerAuthentication
Это динамический параметр, доступный поставщиком сертификатов . Этот параметр и поставщик сертификатов доступны только в Windows.
Чтобы получить сертификаты с Server Authentication
в значении свойства EnhancedKeyUsageList, используйте параметр SSLServerAuthentication.
Для получения дополнительной информации см. about_Certificate_Provider.
Свойства параметра
Тип: | SwitchParameter |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Stream
Это динамический параметр, доступный поставщиком файловой системы
Возвращает указанный альтернативный поток данных из файла. Введите имя потока. Поддерживаются подстановочные знаки. Чтобы получить все потоки, используйте звездочку (*
). Этот параметр действителен для каталогов, но обратите внимание, что каталоги не имеют потоков данных по умолчанию.
Этот параметр появился в PowerShell 3.0. По состоянию на PowerShell 7.2 Get-Item
могут получать альтернативные потоки данных из каталогов, а также файлов.
Дополнительные сведения см. в about_FileSystem_Provider.
Свойства параметра
Тип: | String[] |
Default value: | No alternate file streams |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Можно передать строку, содержащую путь к этому командлету.
Выходные данные
AliasInfo
Командлет выводит этот тип при доступе к диску Alias:
.
X509StoreLocation
X509Store
X509Certificate2
Командлет выводит эти типы при доступе к диску Cert:
.
DictionaryEntry
Командлет выводит этот тип при доступе к диску Env:
.
DirectoryInfo
FileInfo
Командлет выводит эти типы при доступе к дискам FileSystem.
FunctionInfo
FilterInfo
Командлет выводит эти типы при доступе к Function:
дискам.
RegistryKey
Командлет выводит этот тип при доступе к реестровым дискам.
PSVariable
Командлет выводит этот тип при доступе к дискам Variable:
.
WSManConfigContainerElement
WSManConfigLeafElement
Командлет выводит эти типы при доступе к WSMan:
дискам.
Примечания
PowerShell включает следующие псевдонимы для Get-Item
:
- Все платформы:
gi
Этот командлет не имеет параметра Recurse, так как он получает только элемент, а не его содержимое.
Чтобы получить содержимое элемента рекурсивно, используйте Get-ChildItem
.
Чтобы просматривать реестр, используйте этот командлет, чтобы получить ключи реестра, и Get-ItemProperty
, чтобы получить значения и данные. Значения реестра считаются свойствами раздела реестра.
Этот командлет предназначен для работы с данными, предоставляемыми любым провайдером. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider
. Дополнительные сведения см. в разделе о поставщиках.