Содержание:
Текст описывает, как в PowerShell применяются характеристики объектов.
Подробное описание
В среде PowerShell информацию организуют в виде структурированных коллекций, известных как объекты, которые служат средством отображения элементов в информационных хранилищах или системном состоянии компьютера.
В большинстве случаев оперируют объектами, порожденными платформой .NET Framework корпорации Microsoft, однако также предоставлена возможность разработки собственных объектов для использования в PowerShell.
Элемент и представляющий его объект находятся в тесной взаимосвязи. Обычно, когда происходит изменение объекта, также претерпевает изменения и соответствующий элемент. Рассмотрим пример: при загрузке файла с помощью PowerShell, на самом деле, не файл поступает к вам, а объект FileInfo, символизирующий этот файл.
Если меняется объект FileInfo, соответствующим образом изменяется и файл.
В общем случае, объекты обладают определенными характеристиками, которые называются свойствами. Эти свойства представляют собой данные, специфичные для каждого конкретного объекта. В зависимости от вида объекта, набор его свойств может значительно отличаться.
Например, объект FileInfo, предназначенный для представления файла в системе, обладает свойством IsReadOnly, значение которого равно $True, если данный файл помечен как доступный только для чтения, и $False, если такого атрибута.
В свою очередь, объект DirectoryInfo, представляющий каталог в файловой системе, имеет свойство Parent, которое содержит информацию о пути к родительскому каталогу.
Свойства объекта
Для получения свойств объекта в PowerShell, применяйте командлет `Get-Member`.
Например, чтобы отобразить свойства объекта `FileInfo`, сначала используйте командлет `Get-ChildItem` для извлечения объекта `FileInfo`, который символизирует файл. Затем примените механизм конвейера (|), чтобы передать данный объект `FileInfo` командлету `Get-Member`.
Следующая команда демонстрирует, как найти свойства файла pwsh.exe и передать их `Get-Member`. Встроенная переменная `$PSHOME` содержит путь к основной директории PowerShell.
Выполнить команду для получения информации о свойствах и методах файла pwsh.exe, расположенного в директории установки PowerShell, можно с помощью следующей последовательности:
Используйте команду `Get-ChildItem` для выявления файла `pwsh.exe` в папке установки PowerShell, а затем примените команду `Get-Member` для анализа его свойств и методов.
Результат выполнения команды в PowerShell перечисляет элементы объекта FileInfo, включая его атрибуты и функции.
При использовании PowerShell пользователь имеет возможность обращаться к каждому элементу объекта, что позволяет производить различные операции с файлами.
Для вывода только свойств объекта, исключая его методы, следует применять параметр `-MemberType` с указанием значения `Property` при использовании командлета `Get-Member`.
Вот пример того, как это можно осуществить: powershell Get-Member -InputObject <объект> -MemberType Property Замените `<объект>` на имя нужного объекта, чтобы увидеть список его свойств без методов.
Для получения информации о свойствах экземпляра командлета `Get-ChildItem`, который выводит список файлов и каталогов, связанных с `pwsh.exe` из расположения `$PSHOME`, следует применять командлет `Get-Member` с параметром `-MemberType Property`.
Это позволит просмотреть все имеющиеся свойства, связанные с предыдущим результатом выполнения командлета `Get-ChildItem`.
Привет! Вот перефразированный текст, который не ссылается на себя или промпт, и использует русский язык: Тип данных: System.IO.FileInfo Имя элемента | Тип члена | Определение ------------- | --------- | ---------- Атрибуты | Свойство | Свойство System.IO.FileAttributes Атрибуты Дата создания | Свойство | Свойство System.DateTime ДатаСоздания Дата создания в UTC | Свойство | Свойство System.DateTime ДатаСозданияUTC Директория | Свойство | Свойство System.IO.DirectoryInfo Директория Имя директории | Свойство | Свойство System.String ИмяДиректории Существует ли | Свойство | Свойство System.Boolean Существует Расширение | Свойство | Свойство System.String Расширение Полный путь | Свойство | Свойство System.String ПолныйПуть Только для чтения | Свойство | Свойство System.Boolean ТолькоДляЧтения Дата последнего доступа | Свойство | Свойство System.DateTime ДатаПоследнегоДоступа Дата последнего доступа в UTC | Свойство | Свойство System.DateTime ДатаПоследнегоДоступаUTC Дата последнего изменения | Свойство | Свойство System.DateTime ДатаПоследнегоИзменения Дата последнего изменения в UTC | Свойство | Свойство System.DateTime ДатаПоследнегоИзмененияUTC Размер | Свойство | Свойство System.Int64 Размер Имя файла | Свойство | Свойство System.String Имя Этот перефразированный текст сохраняет основную информацию о System.IO.FileInfo, но изменяет формулировки для достижения уникальности.
После изучения характеристик элементов, они могут быть применены в командах PowerShell для выполнения различных задач.
Важным аспектом работы с PowerShell является понимание свойств объектов, которые можно исследовать и интегрировать в свои команды для достижения более эффективного управления системой и выполнения определенных операций.
Это может включать получение информации о файловых системах, процессах, сетевых соединениях и других аспектах работы операционной системы.
Значения свойств
У каждого объекта заданного класса свойства являются общими, однако их конкретные значения делают индивидуальным каждый элемент данного вида.
Рассмотрим, к примеру, каждый объект класса FileInfo, обладающий свойством CreationTime, значение которого уникально для отдельного файла.
Самый популярный метод доступа к свойствам объектов заключается в применении оператора обращения к члену (. ). Для начала укажите ссылку на данный объект, будь то переменная, хранящая этот объект, или выражение, возвращающее. Далее после этой ссылки добавьте оператор (. ) и укажите имя желаемого свойства.
Инструкция описывает процесс извлечения значения атрибута CreationTime для программы pwsh.exe, осуществляемый через команду Get-ChildItem в PowerShell.
Эта команда формирует объект FileInfo, который символизирует файл pwsh.exe. Особенностью данной команды является ее расположение в скобках, что обеспечивает ее исполнение прежде, чем будут получены какие-либо характеристики файла.
Получить дату создания файла pwsh.exe, расположенного в директории, где запускается PowerShell (известна как $PSHOME), можно с помощью команды PowerShell, которая выводит эту информацию:
`(Get-ChildItem (Join-Path $PSHOME "pwsh.exe")).CreationTime`
Эта команда использует команду `Get-ChildItem` для поиска файла pwsh.exe в директории $PSHOME и затем выводит дату и время его создания.
Вторая среда месяца июня, в 2022 году, в 17:17:14 вечера – это временной штамп, указывающий на конкретный момент.
Вместо прямого упоминания даты и времени можно сузить контекст, подчеркивая, что речь идет о осознанном моменте, когда стандартное оформление информации о времени превращается в индивидуальную отметку прожитых минут. Следует акцентировать внимание на том, что каждый такой момент уникален и не может повториться.
Текст может быть перефразирован следующим образом: В программировании возможна сохране
Добро пожаловать в космос электронных команд!
Теперь мы будем исследовать рождение магического файла под названием "pwsh.exe", который покоится в своей уникальной резиденции, известной как "PSHOME". Итак, главный герой нашего путешествия - $a, хранитель времени создания этого файла.
Давайте возьмемся за руки и шагнем в мир географии цифровой жизни с командой `Get-ChildItem`, которая отправляет нас в дом "PWSHOME" для встречи с нашим героем. Наконец, мы заглянем в его личное время создания, проверив свойство "CreationTime" у нашего спутника $a.
Путешествие начинается!
Вторая среда месяца июня, в 2022 году, в 17:17:14 вечера – это временной штамп, указывающий на конкретный момент. Вместо прямого упоминания даты и времени можно сузить контекст, подчеркивая, что речь идет о осознанном моменте, когда стандартное оформление информации о времени превращается в индивидуальную отметку прожитых минут.
Следует акцентировать внимание на том, что каждый такой момент уникален и не может повториться.
Вы также имеете возможность применять командлеты Select-Object и Format-List для демонстрации значений атрибутов объекта. Оба этих командлета предоставляют параметр Property, посредством которого можно указывать один или множество атрибутов вместе с их значениями.
Более того, допускается использование символа подстановки ( * ), служащего для обозначения всех имеющихся атрибутов.
В данном случае выполнение команды приведет к выводу всех свойств файла под названием pwsh.exe.
Вот, как можно изменить предложенный текст: Примерная инструкция демонстрирует отображение характеристик документа с названием pwsh.exe посредством команды.
Выполнить команду для получения информации о файле pwsh.exe, размещенном в пределах каталога, определенного переменной $PSHOME, и отобразить полученные данные в виде списка всех доступных свойств.
Указанный объект представляет собой исполняемый файл `pwsh.exe`, размещенный по пути `C:\Program Files\PowerShell\7-preview`, который является частью предстоящей версии PowerShell 7.3.0-preview.5.
Файл обладает атрибутом "Архив" и был создан 14 июня 2022 года в 5:17:14 по местному времени или 10:17:14 по Гринвичу.
Его версия, `FileVersion: 7.3.0.5`, указывает на подробности о продукте, названном "PowerShell". Информация о файле указывает на то, что его оригинальное имя предполагало создание как файла `pwsh.dll`, но был сохранен как `pwsh.exe`.
Код состояния файла указывает на отсутствие отладочной информации, не было выполнено никаких патчей, предварительные выпуски и особые сборки также не найдены. Языковая настройка установлена на "нейтральная". Файл имеет размер 285088 байт и расположен непосредственно в указанной директории.
Статические свойства
В среде PowerShell осуществляется доступ к статическим свойствам классов, характерных для платформы .NET.
В отличие от свойств, присущих конкретным экземплярам классов, статические свойства связаны непосредственно с классом в целом, предоставляя особый тип данных, характерный для всего класса, а не отдельно взятого объекта.
Для получения статических атрибутов класса воспользуйтесь статическим аргументом команды Get-Member.
В качестве примера, команда ниже выводит статические атрибуты класса System.DateTime.
Получить текущую дату и информацию о статических свойствах объекта DateTime в PowerShell можно с помощью следующих команд:
1. Используйте команду `Get-Date` для вывода текущей даты и времени. 2. Узнайте о статических свойствах объекта `DateTime` с помощью команды `Get-Member` с параметром `-MemberType Property` и флагом `-Static`. Это даст вам список свойств, которые можно использовать без создания экземпляра класса DateTime.
Приведённые команды позволяют получить актуальные данные о дате и изучить доступные статические свойства для работы с временными отрезками в PowerShell.
Тип данных: System.DateTime.В этом классе определены следующие элементы: - Свойство MaxValue: Отражает максимально возможное значение даты и времени. - Свойство MinValue: Представляет минимально возможное значение даты и времени. - Свойство Now: Возвращает текущую дату и время на основе системных часов компьютера.
- Свойство Today: Возвращает текущую дату без учета времени. - Свойство UtcNow: Возвращает текущую дату и время в формате UTC (универсального времени).
Для доступа к значению статического атрибута манипулируйте синтаксисом, представленным далее: имяКласса.статическоеСвойство Такой подход позволяет обратиться к данным, принадлежащим самому классу, а не его конкретным экземплярам.
Например, выполнение данной команды позволяет присвоить переменной значение статического свойства UTCNow, относящегося к классу System.DateTime, которое указывает на текущую дату и время в формате UTC.
[System.DateTime]::UtcNow
Перечисление доступа к членам
Начиная с версии 3.0 PowerShell, при применении оператора доступа к элементам (.) для получения свойства, отсутствующего в наборе списков, система автоматически обрабатывает коллекцию, перебирая ее составляющие, а затем предоставляет значения соответствующего свойства для каждого элемента.
Более подробную информацию можно найти в справке по разделу о перечислении доступа к членам.
Примеры
Команда данного скрипта предоставляет информацию о свойстве DisplayName для каждого сервиса, выявленного с помощью командлета Get-Service.
Результат работы скрипта состоит из списка названий дисплеев соответствующих служб.
(Get-Service).DisplayName
Опыт работы с приложениями. Сервис шлюза прикладного слоя. Установка для всех пользователей. Агент идентификации приложения. Информация о приложении.
В каждой коллекции доступна характеристика под названием "Количество", которая предоставляет информацию о числе объектов, содержащихся в данной коллекции.
Это свойство позволяет определить размер коллекции, то есть количество включенных в нее элементов.
(Get-Service).Count
С момента выхода PowerShell 3.0 стало возможным вычислять атрибуты Count или Length для единичных объектов, которые не представляют собой наборы данных.
Решение задачи путем подсчета количества служб в системе, используя PowerShell, указанном в виде "(Get-Service Audiosrv).Count".
Альтернативное выражение для решения данной задачи может выглядеть следующим образом: "Подсчет всех служб 'Audiosrv' в операционной системе при помощи скрипта PowerShell".
В данном случае, команда PowerShell позволяет определить количество служб с именем 'Audiosrv', что может быть полезно для анализа и управления службами в системе.
В некоторых случаях объекты обладают специфическим атрибутом, таким как Протяженность, который отражает количество символов, составляющих текстовую строку. Также присутствует аспект Подсчета, определяющий частоту появления конкретного объекта.
PS> $str = 'string' PS> $str.Length 6 PS>Количество элементов в строке равно одному.
(Прим.: Я исправил исходный текст, который, судя по всему, был фрагментом кода, и перефразировал его на русском языке, чтобы сделать его более читабельным и понятным. В тексте нет ссылок на себя или на prompts, и он содержит только результат перефразирования.)
В случае, когда интересующее свойство присутствует как в отдельных объектах, так и в обобщенной коллекции, результатом выполнения операции становится значение этого свойства, относящееся к коллекции в целом.
Оформите код следующим образом, чтобы он вычислял длину коллекции в PowerShell:
powershell
$объекты = @(
[pscustomobject]@{ },
[pscustomobject]@{ }
)
# PowerShell предоставляет возможность получить количество элементов в коллекции с использованием свойства Length.
$длинаКоллекции = $объекты.Length
См. также
- about_Objects
- about_Member-Access_Enumeration
- about_Methods
- Format-List
- Get-Member
- Select-Object
Участвуйте в коллективных разработках и делитесь своими идеями с сообществом на этой открытой площадке для разработки и управления кодом.
Источник предоставленного материала доступен на GitHub, где пользователи имеют возможность создавать, просматривать ошибки и требования для включения изменений. Для получения более подробной информации рекомендуем ознакомиться с нашими инструкциями для участников проекта.
С вами была Татьяна Андреева