Команда Get-Item возвращает заданные элементы из назначенных местоположений. Как и Child Item, Get-ltem может применяться для навигации по различным типам хранилищ данных. В отличие от Get-Childltem, Get-ltem не имеет местоположения по умолчанию, поэтому вы должны всегда предоставлять как минимум одно местоположение с помощью параметра — Path. Хотя сам параметр и нужен, указывать его имя не требуется. Например, вот простая команда, которая использует «точку» для возвращения информации о текущем каталоге (в данном случае корневая папка Н):

Get-ltem.

Команда Get-ltem позволяет задействовать групповой символ * для возвращения всего содержимого ты. Команда Get-Item возвращает объекты System. 10. Directory 1 nfo, которые содержат несколько методов и свойств, которые вы можете использовать. Чтобы увидеть эти методы и свойства, можно передать результаты команды Get-ltem в команду Get-Member. Если вы хотите увидеть эти свойства, можете запустить такую команду:

Get-ltem. I Get-Member — MemberType Property

Следующая команда возвращает весь контент текущего каталога (в данном случае корневого каталога Н). Точка и символ звездочки могут быть использованы как компоненты в пути файла, но вы должны еще указать косую черту как разделитель папок:

Get-ltem.*

Важно понимать, что команды PowerShell, включая Get-Item, возвращают объек-Например, если вы хотите выяснить, когда к текущему каталогу был осуществлен доступ в последний раз, вы запускаете команду: (Get-ltem.).LastAccessTime Заметим, что в этой команде вызов Get-ltem заключен в круглые скобки и что между закрывающей круглой скобкой и LastAccessTime стоит точка. Круглые скобки вокруг вызова Get-Item нужны для того, чтобы возвращенные объекты сохранялись в памяти и вы могли выполнять с ними дополнительные операции. В этом случае операцией является поиск возвращаемого значения свойства LastAccessTime объекта. В PowerShell вы используете символ точки для получения доступа к ряду свойств объекта и методов. Вот почему следует вставить точку между закрывающейся скобкой и LastAccessTime.

Существует коллекция специальных свойств, которая называется NotePropcrty. Вы можете применять ее для того, чтобы сузить выводимые результаты для определенного типа объекта. Вы можете использовать Get-Member с параметром — MemberType NotePropcrty, чтобы узнать о специальных свойствах этой коллекции:

Get-ltem. I Get-Member-MemberType NoteProperty Если вы запустите эту команду, то обнаружите, что коллекция возвращает шесть свойств: PSChildName, PSDrive, PSIsContainer, PSParentPath, PSPath и PSProvider. Свойство PSIsContainer коллекции NotePropcrty показывает, является ли объект контейнером (папкой). Свойство возвращает True, когда объект является папкой, и False, когда он является файлом. Вы можете использовать это свойство для ограничения вывода Get-ltem папками:

Get-ltem С:* I Where-Object {$_.PSIsContainer)

Давайте обсудим эту команду подробнее. Вы передаете по конвейеру весь контент корневого каталога С команде Where-Object, которая позволяет отфильтровать объекты. В этом случае вы используете PSIsContainer из NotePropcrty для фильтрации выходных данных, и, таким образом, возвращаются только каталоги. Автоматическая переменная $_ представляет каждый файловый объект, как только он передается команде по конвейеру.

Как и в случае с Get-Childltem, вы можете обращаться к Get-Item по дополнительному имени. У Get-ltem есть одно встроенное дополнительное имя: gi.

Предыдущая статьяРабота с MicrosoftSQLServer с помощью PowerShell
Следующая статьяСбор сведений из заголовка подписки