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:\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
с помощью в 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 |
Входные данные
В этот командлет можно передать по конвейеру строку, содержащую путь.
Выходные данные
Командлет выводит этот тип при доступе к диску Alias:
.
Командлет выводит эти типы при доступе к диску Cert:
.
Командлет выводит этот тип при доступе к диску Env:
.
Командлет выводит эти типы при доступе к дискам файловой системы.
Командлет выводит эти типы при доступе к дискам Function:
.
Командлет выводит этот тип при доступе к дискам реестра.
Командлет выводит этот тип при доступе к дискам Variable:
.
Командлет выводит эти типы при доступе к дискам WSMan:
.
Примечания
PowerShell включает следующие псевдонимы для Get-Item
:
- Для всех платформ.
gi
У этого командлета нет параметра Recurse , так как он получает только элемент, а не его содержимое.
Чтобы получить содержимое элемента рекурсивно, используйте .Get-ChildItem
Для навигации по реестру используйте этот командлет для получения разделов реестра и для получения значений Get-ItemProperty
и данных реестра. Параметры реестра являются свойствами раздела реестра.
Этот командлет предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PsProvider
. Дополнительные сведения см. в разделе about_Providers.