«Единственная красота, которую я знаю, - это здоровье»
Блог о Здоровье и Саморазвитии

About_Properties

Татьяна Андреева
16.07.2023
Травы

Содержание:
  • Подробное описание
  • Свойства объекта
  • Значения свойств
  • Статические свойства
  • Перечисление доступа к членам
  • Примеры
  • См. также
  • Текст описывает, как в 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 мы предлагаем возможность совместного реализации проектов.

    Участвуйте в коллективных разработках и делитесь своими идеями с сообществом на этой открытой площадке для разработки и управления кодом.

    Источник предоставленного материала доступен на GitHub, где пользователи имеют возможность создавать, просматривать ошибки и требования для включения изменений. Для получения более подробной информации рекомендуем ознакомиться с нашими инструкциями для участников проекта.

    С вами была Татьяна Андреева

    0 комментариев Оставить комментарий