НОУ ИНТУИТ | Лекция | Задачи по администрированию

Foreach-object, group-object и measure-object

Для манипулирования объектами доступны другие командлеты. Рассмотрим, например, три лучших продукта:

Вы можете запустить код PowerShell для каждого объекта в конвейере с помощью команды ForEach-Object.

ForEach-Object { блок сценария }

Группа-объект

Что означает значение свойства:

Group-Object PropertyName


Если запустить его с параметром -NoElement, можно узнать количество элементов в группах.

В конвейере Measure-Object группирует различные суммарные параметры в соответствии со значениями полей объекта (вычисляет сумму и определяет минимальное, максимальное или среднее значение):

Measure-Object -Property PropertyName -Minimum -Maximum -Average -Sum

Рассматриваемые командлеты обычно используются в интерактивном режиме, при этом обычно пишутся скрипты.

с блоками Begin, Process и End.

Wmi или adsi?

WMI имеет некоторые преимущества перед ADSI, что делает его более
удобным для работы со сценариями.

Ассоциирование

С помощью WMI выбираются объекты и свойства, связанные с любым числом
элементов, а не только объект ADSI, к которому осуществляется
подключение. Это позволяет создавать более мощные сценарии,
воздействующие на несколько компонентов IIS.

Вкладка help (справка)

Вкладка Help (Справка) содержит подробные справочные сведения о
пользовательском веб-интерфейсе. Ее структура аналогична обычному файлу
справки.

Вкладка maintenance (обслуживание)

Во вкладке Maintenance (Обслуживание) находятся опции мониторинга и
обслуживания сервера. Вы можете также напрямую подключиться к серверу.

Date/Time (Дата/Время). Позволяет настроить дату и время на сервере,
указать временной пояс, настроить автоматический переход на зимнее и
летнее время.

Logs (Журналы). Позволяет просматривать журналы приложения,
безопасности и веб-администрирования. Дает возможность локально
сохранять файлы журналов и очищать их. В области Properties (Свойства)
устанавливаются параметры максимального размера и перезаписи файлов
журналов.

Alert E-mail (Оповещение по электронной почте). Устанавливает адрес
электронной почты и адрес сервера SMTP для отправки уведомлений.
Уведомления подразделяются на три категории, вы можете выбрать любую
категорию: уведомление о критической ошибке, предупреждение и
информационное сообщение. Если служба SMTP не установлена, то при
попытке использования опции появится соответствующее сообщение об
ошибке.

Shutdown (Отключение). Позволяет отключить или перезагрузить данный
сервер. Здесь назначается отключение или перезагрузка сервера в
определенное время. Событие можно назначить максимум на 27 дней вперед
от текущей даты, либо на определенный день и время на неделю вперед от
текущего момента времени.

Remote Desktop (Удаленный рабочий стол). Реализует подключение к
серверу через протокол RDP (Протокол служб терминала для удаленного
рабочего стола). Здесь используется элемент управления RDP ActiveX,
который раньше назывался Terminal Services Advanced Client.

Язык. изменяет язык, на котором написан веб-сайт.

Вкладка network (сеть)

Во вкладке Network (Сеть) настраиваются некоторые параметры сервера, в
основном связанные с процессом администрирования и разрешения имен.
Некоторые из имеющихся параметров используют те же окна, что и опции во
вкладке Welcome (Добро пожаловать).

Identification (Идентификация). Открывает то же окно, что и опция Set
Server Name (Установка имени сервера) во вкладке Welcome (Добро
пожаловать).

Interfaces (Интерфейсы). Настраивает сетевые интерфейсы на данном
сервере. Можно указать IP-адрес, маску подсети, шлюз по умолчанию,
параметры DNS и WINS для каждого адаптера.

Вкладка sites (узлы)

Вкладка Sites (Узлы) позволяет создавать, изменять, удалять,
приостанавливать, останавливать и запускать веб-сайты на данном
сервере. Если вы создали сайт при помощи веб-интерфейса, то его также
можно изменить и удалить при помощи этой вкладки. Если веб-сайт создан
без помощи веб-интерфейса, то сайт здесь можно лишь приостанавливать,
останавливать и запускать.

Создание сайта посредством веб-интерфейса. Веб-интерфейс позволяет
создавать сайты. При работе с ним настраивается меньшее число
параметров, чем в консоли MMC, тем не менее, веб-интерфейс содержит все
основные опции для создания сайта. В интерфейс консоли MMC можно
вернуться позже для настройки пулов приложений, SSL, фильтров
интерфейса прикладного программирования ISAPI и т.д. Для создания сайта
выполните следующие действия.

  1. Нажмите на кнопку Create (Создать).
  2. В поле Site Identifier (Идентификатор сайта) введите идентификатор
    или дружественное имя сайта.
  3. Каталог будет заполнен автоматически; при необходимости его можно
    изменить.
  4. Выберите создание учетной записи для данного сайта или используйте
    существующую учетную запись.
  5. Откройте вкладку Site Identities.
  6. Выберите IP-адрес сайта либо укажите All Unassigned (Все незанятые).
  7. Выберите порт TCP, используемый данным сайтом.
  8. Если нужно, укажите имя заголовка узла для сайта.
  9. Откройте вкладку Application Settings.
  10. Выберите уровень разрешений на выполнение, устанавливаемый для
    сайта.
  11. Выберите имя страницы по умолчанию: примите одно из имеющихся имен,
    добавьте свое собственное имя и измените порядок поиска имен файлов.
  12. Укажите инструмент для администрирования содержимого веб-сайта:
    FrontPage или FTP. Если серверные расширения FrontPage и FTP не
    установлены, то соответствующие опции будут недоступны.
  13. Укажите разрешение анонимного доступа к сайту.
  14. Нажмите на кнопку OK.

Вкладка status (состояние)

Вкладка Status (Состояние) отображает текущее состояние и любые
оповещения для данного сервера. При первой инсталляции данного сайта
предполагается установка нового сертификата. Хотя сертификат по
умолчанию пригоден к работе, но, как и для всех сертификатов, не
соответствующих сайту, мастер отобразит предупреждение при доступе к
данному сайту.

Если данный сайт находится в зоне Trusted Sites
(Доверенные сайты) в Internet Explorer, сообщение отображаться не
будет. Для устранения этой ошибки добавьте рассматриваемый сайт в
список Trusted Sites (Доверенные сайты) или получите от бюро
сертификатов корректно подписанный сертификат, соответствующий данному
сайту.

:/>  Как проверить оперативную память на ошибки на компьютере с Windows 10

Вкладка web server (веб-узел)

Во вкладке Web Server (Веб-узел) настраиваются параметры для
веб-серверов и для серверов FTP. Эти параметры применяются глобально, а
не для каждого узла по отдельности.

Web Master Settings (Параметры веб-мастера). Настраивает параметры по
умолчанию для новых веб-сайтов. Укажите корневой каталог по умолчанию,
интервал ожидания по умолчанию сценария ASP, максимальное число
подключений, разрешенное на сайте, а также включите (отключите)
серверные расширения FrontPage.

Web Log Settings (Параметры журнала). Изменяет параметры ведения
журналов веб-сайтов. Параметры журналов идентичны соответствующим
параметрам консоли IIS MMC. Здесь настраиваются все параметры,
присутствующие во вкладке General (Общие) консоли MMC.

FTP Messages (Сообщения FTP). Устанавливает приветственные сообщения,
сообщения выхода и сообщения, отображаемые при достижении максимального
числа подключений, для всех FTP-сайтов. Здесь можно изменить любое из
сообщений (или все три).

Web Execute Permissions (Разрешения на выполнение). Устанавливает
разрешения на выполнение по умолчанию для веб-сайтов. Можно применить
этот параметр к уже имеющимся сайтам: ко всем сайтам, использующим
текущее значение по умолчанию (которым является None [Нет]) либо ко
всем веб-сайтам, независимо от установленных текущих значений.

FTP Master Settings (Основные параметры FTP). Настраивает параметры по
умолчанию FTP-сайтов. Можно указать стиль отображения каталога,
максимальное число подключений и время простоя соединения. Изменение
одного из этих значений применится как к новым FTP-сайтам, так и ко
всем существующим. Можно включить FTP-сайт “Web Site Content”, который
позволяет управлять содержимым веб-сайта через FTP.

FTP Log Settings (Настройка журнала FTP). Изменяет параметры журнала
FTP. Как и в случае с журналом WWW, данный параметр воздействует на все
FTP-сайты. Здесь можно изменять все основные настройки журналов FTP.

Вкладка welcome (добро пожаловать)

Вкладка Welcome (Добро пожаловать) содержит набор мастеров для
настройки основных параметры данного сайта поддержки.

Take a Tour (Справка). Отображает файл со справочными данными по работе
с сайтом. Содержит общую информацию о различных опциях, имеющихся на
сайте удаленного администрирования.

Выделение объектов и их частей

С помощью параметров -First и -Last команды Select-Object можно выбрать определенное количество объектов в начале или в конце трубопровода. Вы можете выбирать отдельные объекты или конкретные свойства, а также добавлять новые. Для понимания простоты работы командлета воспользуемся наглядными примерами.

Следующая команда (WS property) выводит список процессов, использующих наибольшее количество оперативной памяти:

Get-Process | Sort-Object WS -Descending | Select-Object -First 10

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Можно выбирать только определенные свойства объектов, движущихся по конвейеру, и создавать новые:

Get-Process | Select-Object ProcessName, Id -First 1

После завершения конвейера мы получим совершенно новый объект, структура которого будет отличаться от структуры ответа командлета Get-Process. Давайте воспользуемся командлетом Get-Member, чтобы убедиться в этом:

Get-Process | Select-Object ProcessName, Id -First 1 | Get-Member

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Команда Select-Object возвращает один объект (First 1) с двумя полями; эти поля были переданы конвейеру командлетом GetProcess. PowerShell использует команду Select-Object для создания объектов.

$obj = Get-Process | Select-Object ProcessName, Id -First 1
$obj.GetType()

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Select-Object позволяет наделять объекты, которые должны быть представлены в виде хэшей, вычисляемыми свойствами. Значение первого ключа – это имя свойства, а значение второго ключа – это значение свойств для текущего элемента трубопровода:

Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}}

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Как выглядит конвейерная лента, когда по ней движутся предметы?

Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}} | Get-Member

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Вызов статических методов


Экземпляры некоторых классов .NET Core создать невозможно: к их числу относятся System.Environment и System.Math. Они являются

Доступ к свойствам с помощью wmi

Ниже приведен код, реализующий просмотр комментария веб-сайта по
умолчанию с использованием обоих методов подключения. Сначала
используем прямой доступ к свойству:

Теперь применим тот же самый код, только с использованием SQL-запроса.
Результат будет тем же самым; это лишь альтернативный способ доступа к
коду.

Преимуществом SQL-запросов является то, что можно выбирать несколько
значений и несколько объектов. Например, для отображения списка,
состоящего из имен веб-сайтов и комментариев для всех сайтов
рассматриваемого сервера, используется следующий сценарий:

Использование провайдера adsi

ADSI позволяет подключаться к различным компонентам сервера Windows с
помощью базы данных и изменять свойства объекта. Как правило, это
реализуется с помощью VBScript. Параметры объекта можно изменять с
помощью любого языка, совместимого с моделью компонентных объектов
(COM) или технологией .NET. В данной лекции мы будем использовать язык
VBScript.

Использование утилит vbscript, имеющихся в iis

IIS содержит несколько утилит VBScript, которые используются для
конфигурирования IIS из командной строки. Большая их часть выполняется
при помощи интерпретатора cscript.exe, а не wscript.exe.

Они готовы к
использованию, поэтому вам не придется создавать свои собственные
сценарии VBScript для управления IIS (если, конечно, нет
соответствующего желания). Данные утилиты написаны таким образом, что
позволяют осуществлять администрирование локальных и удаленных
компьютеров.

Оговоренные сценарии располагаются в папке %systemroot%System32. Ниже
приведен их перечень.

  • IISAPP.VBS Позволяет просматривать любые рабочие процессы,
    выполняющиеся в данный момент. Отображает их по идентификаторам
    процессов и идентификаторам пулов приложений.
  • IISBACK.VBS Позволяет архивировать и восстанавливать файлы метабазы и
    схемы IIS.
  • IISCNFG.VBS Позволяет копировать, импортировать и экспортировать
    конфигурацию IIS на другие компьютеры или с других компьютеров.
    Реализуется посредством копирования файлов схемы и метабазы.
  • IISEXT.VBS Позволяет включать и отключать расширения веб-служб, а также
    добавлять, удалять и осуществлять управление расширениями веб-служб.
  • IISFTP.VBS Позволяет создавать, удалять, останавливать, запускать и
    выполнять другие действия с FTP-сайтами, а также устанавливает изоляцию
    пользователей FTP.
  • IISFTP.VBS Позволяет создавать и удалять виртуальные каталоги на
    FTP-сайтах, а также отображает перечень виртуальных каталогов.
  • IISVDIR.VBS Позволяет создавать и удалять виртуальные каталоги на
    веб-сайтах, а также отображает перечень виртуальных каталогов.
  • IISWEB.VBS Позволяет создавать, удалять, останавливать, запускать и
    выполнять другие действия с веб-сайтами, а также отображает перечень
    веб-сайтов, имеющихся на компьютере.
:/>  Не удается проверить цифровую подпись драйверов: что делать

Методы iis adsi

Методы IIS ADSI предназначены для выполнения действий на связанной службе.
Используются следующие стандартные методы ADSI.

Объекты iis adsi

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

Объекты в powershell

Объект – это, по сути, набор полей данных (свойств и событий), к которым применяются методы обработки. Вы можете работать с объектами COM, CAME (WMI) и WIM; каждый из них определяется типом, который обычно основан на классах, используемых в платформе unified. NET Core.

(pipeline) Каждая команда в конвейере передает свой вывод, объект за объектом, следующей команде. Вы можете компилировать командлеты и создавать свои собственные.

Сортировать и группировать объекты конвейера, используя различные манипуляции. Необязательно знать, какая информация необходима при передаче данных в такой форме.

Поддержка запросов

Для выбора объектов и свойств в WMI используется структурированный язык
запросов SQL. Это серьезное преимущество, поскольку этот язык позволяет
создавать детализированный запрос, с помощью которого выбираются только
нужные данные.

Поддержка пользовательского интерфейса

В компании Microsoft разработана программа WMI Object Browser. Она
доступна в виде компонента WMI SDK версии 1.0. Object Browser полезен
при поиске определенных объектов для создания сценария, поскольку эта
программа позволяет при помощи графического интерфейса перейти к
искомому элементу.

При работе с ADSI осуществляется поиск метабазы для
нахождения имен ключей, однако этим все и ограничивается. В ADSI трудно
узнать методы, используемые для объекта, в то время как все это
отображается в программе WMI Object Browser (см. рис. 9.2).

Подключение к провайдеру adsi

Для подключения к провайдеру создайте объект с помощью ADsPath. ADsPath
для каждой службы располагается в области “Location” (“Расположение”)
ключа. Например, местом расположения IIsWebService является /LM/W3SVC.

Для соединения с объектом посредством ADSI начните с создания объекта в
VBScript. ADSI использует для запросов протокол LDAP, поэтому на каждом
межсетевом экране, расположенном по маршруту, необходимо открыть порт
389. Кроме того, для работы с ADSI необходимо быть ее администратором.
Ниже приведен код создания объекта веб-сайта по умолчанию:

Теперь к объекту веб-сайта по умолчанию можно обратиться при помощи
переменной MyDefaultWebSiteObj.

Просмотр структуры объектов

В качестве иллюстрации воспользуемся командлетом Get-Process, который позволяет узнать больше о процессах, которые в данный момент активны в системе:

Он покажет некоторые форматированные текстовые данные, но не предоставит никакой информации о методах и свойствах возвращаемых объектов. Командлет Get-Member позволит нам проанализировать вывод более подробно:

Get-Process | Get-Member

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Здесь мы уже видим тип и структуру объекта, а с помощью дополнительных параметров мы можем ограничить отображение только его свойствами.

Get-Process | Get-Member -MemberType Property

Это может быть полезно, если вы хотите написать собственные сценарии или выполнить задачи администрирования в интерактивном режиме, например, узнать об остановленных процессах на свойстве Responding.

Работа с провайдером wmi

WMI представляет собой нечасто используемый метод администрирования
Microsoft. Тем не менее, все новые продукты Microsoft имеют встроенную
поддержку WMI. WMI использует так называемую общую информационную
модель (Common InformationModel, CIM), а также расширения Microsoft,
предназначенные для этой модели. WMI создает хранилище информации,
доступ к которому осуществляется с помощью простого интерфейса APICOM/DCOM.

Работа со сценариями в wmi

Рассмотрим несколько задач по работе со сценариями в WMI. Для начала
создадим объект и подключимся к провайдеру WMI. Ниже приведены строки
кода, реализующие работу с веб-сайтом по умолчанию.

После подключения можно просмотреть любые свойства этого веб-сайта и
применить к нему любой из поддерживаемых методов. Подключиться к сайту
для просмотра свойств можно либо с помощью прямого доступа к свойству,
либо посредством создания запроса SQL с последующей обработкой его
результатов.

Свойства iis adsi

Свойства IIS ADSI соответствуют свойствам в метабазе. Доступ к
свойствам объекта осуществляется с помощью запроса определенных
параметров этого объекта. Например, IIsWebServer имеет свойство ServerComment.

Создание объектов .net и com (new-object)

В System. Diagnostics,EventLog системными журналами можно управлять непосредственно из Windows PowerShell. Чтобы создать экземпляр класса New-Object, нам нужен командлет, определяющий TypeName. Существует множество программ с. NET Core и COM-интерфейсами, которые будут полезны системным администраторам для работы в Интернете.

New-Object -TypeName System.Diagnostics.EventLog

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Полученный экземпляр класса не содержит данных, поскольку мы не указали конкретный журнал событий. Чтобы изменить это, необходимо вызвать уникальный метод конструктора с параметром -ArgumentList. Строка “Application” должна быть передана в конструктор, если мы хотим получить доступ к журналу приложений.

$AppLog = New-Object -TypeName System.Diagnostics.EventLog -ArgumentList Application
$AppLog

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Обратите внимание, что вывод команды был сохранен в переменной $AppLog. Хотя при написании сценариев часто возникает необходимость сохранения ссылки, конвейеры часто используются в интерактивном режиме. Пространство имен System содержит библиотеку. NET Core:

:/>  Что такое частота обновления монитора? Как поменять частоту монитора в Windows 7, 10? | - Решение проблем с ПК, советы и мнение экспертов.

Для работы с журналом регистрации можно использовать соответствующие методы:

$AppLog | Get-Member -MemberType Method

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Он очищается методом Clear(), если у пользователя есть права доступа, предполагая, что они есть.

$AppLog.Clear()

C OM предназначен для работы с командлетом New-Object. Windows может поставляться с помощью сценариев доставки, приложений ActiveX или серверных сценариев. Установка параметра -ComObject с идентификатором программы нужного класса, ProgId, необходима для создания COM-объекта:

New-Object -ComObject WScript.Shell
New-Object -ComObject WScript.Network
New-Object -ComObject Scripting.Dictionary
New-Object -ComObject Scripting.FileSystemObject

New-Object кажется слишком неуклюжим и устаревшим. Мы подробно рассмотрим этот вопрос в последующих статьях. Мы также изучим объекты WMI (WIM) или ADSI в дополнение к. NET и COM.

Создание собственных классов

В PowerShell 5.0 можно задавать точные имена в строке поиска.

Используя синтаксис объектно-ориентированного языка. Для этого используется слово Class, затем в круглых скобках имя класса и описание его тела:

class MyClass
{
    # тело класса
}


Это настоящий тип .NET Core, в теле которого описываются его свойства, методы и другие элементы. Рассмотрим пример определения простейшего класса:

class MyClass 
{
     [string]$Name
     [string]$City
     [string]$Country
}

Цель командлета – создать объект (экземпляр класса).

Либо литерал типа [MyClass]

New (конструктор по умолчанию) :

$object = New-Object -TypeName MyClass

или

$object = [MyClass]::new()


Проанализируем структуру объекта:

$object | Get-Member

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Литерал класса или ссылка на имя типа не могут быть использованы вне скрипта, модуля или модуля. Функции имеют возможность возвращать экземпляры классов (объекты), которые являются эксклюзивными для модуля или скрипта.

Давайте заполним свойства объекта после его создания.

$object.Name = 'Ivan Danko'
$object.City = 'Moscow'
$object.Country = 'Russia'
$object

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Давайте рассмотрим типы свойств классов по умолчанию.

class Example
{
     [string]$Name = 'John Doe'
}


Описание метода класса напоминает описание функции, но без использования служебного слова function. Как и в функции, в методы при необходимости передаются параметры:

class MyClass 
{
     [string]$Name
     [string]$City
     [string]$Country
     
     #описание метода
     Smile([bool]$param1)
     {
         If($param1) {
            Write-Host ':)'
         }
     }
}

Теперь член нашего класса может гримасничать:

$object = [MyClass]::new()
$object.Smile($true)

Класс также включает в себя обратные функции.

Также одноименные конструкторы. Наследование в PowerShell позволяет одному сценарию или модулю выступать в качестве основы для другого. В качестве основы можно использовать классы NET:

class MyClass2 : MyClass
{
      #тело нового класса, базовым для которого является MyClass
}
[MyClass2]::new().Smile($true)

Мы рассмотрели далеко не все аспекты работы с объектами в PowerShell. В пятой статье, в которой мы рассмотрим сложности интеграции PowerShell со сторонними программными компонентами, мы постараемся дополнить ее реальными примерами. По приведенным ниже ссылкам вы можете найти обновления предыдущих статей.

Сортировка объектов

Часто возникает необходимость сортировки объектов перед их конвейеризацией. Команда Sort-Object возвращает объекты в порядке убывания их значений после получения имен свойств (ключей сортировки). Сортировка вывода активных процессов в соответствии с их использованием ЦП проста:

Get-Process | Sort-Object –Property cpu

Параметр -Property можно не указывать при вызове командлета Sort-Object. Для обратной сортировки используется параметр –Descending:

Get-Process | Sort-Object cpu -Descending

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Тип pscustomobject

В частности, PSCustomObject можно отличить от других типов данных, включая PowerShell. Старым, но уже неэффективным способом создания объекта является командлет New-Object:

$object = New-Object  –TypeName PSCustomObject -Property @{Name = 'Ivan Danko'; 
                                          City = 'Moscow';
                                          Country = 'Russia'}


Посмотрим на структуру объекта:

$object | Get-Member

НОУ ИНТУИТ | Лекция | Задачи по администрированию

PowerShell 3.0 имеет другой синтаксис:

$object = [PSCustomObject]@{Name = 'Ivan Danko'; 
                                          City = 'Moscow';
                                          Country = 'Russia'
}

Вы можете получить доступ к данным одним из следующих эквивалентных способов:

$object.Name

$object.'Name'

$value = 'Name'
$object.$value


Приведем пример преобразования в объект существующей хэштаблицы:

$hash = @{'Name'='Ivan Danko'; 'City'='Moscow'; 'Country'='Russia'}
$hash.GetType()
$object = [pscustomobject]$hash
$object.GetType()

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Еще одним недостатком является то, что порядок свойств этого типа объектов является изменяемым. Для предотвращения этого необходимо использовать атрибут [ordered]:

$object = [PSCustomObject][ordered]@{Name = 'Ivan Danko'; 
                                          City = 'Moscow';
                                          Country = 'Russia'
}

Существуют дополнительные методы создания объекта, например, с помощью командлета.

. Теперь необходимо разобраться с удалением элементов. Для объекта предыдущего примера достаточно просто сделать следующее:

$object | Add-Member –MemberType NoteProperty –Name Age  –Value 33
$object | Get-Member

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Используя командлет Add-Member, вы можете добавить методы, а также свойства к уже созданному объекту $object.

Удаленное администрирование при помощи интерфейса html

Веб-сайт администрирования позволяет конфигурировать веб-сервер через
интерфейсHTML. В отличие от HTML-администрирования в предыдущих
версиях IIS данный сайт используется даже при выполнении
администрирования не на самом сервере.

Утилита веб-администрирования представляет собой компонентIIS и
устанавливается при помощи мастера Add/Remove Windows Components
(Установка и удаление компонентов Windows).

Универсальная поддержка

Как уже говорилось выше, Microsoft обеспечивает поддержку WMI во всех
своих продуктах. WMI открывает доступ к данным и позволяет
администрировать все приложения через один и тот же интерфейс.

Фильтрация объектов

PowerShell может передавать объекты, отвечающие определенным требованиям.

Where-Object { блок сценария }

В операторных скобках должно присутствовать логическое значение. Объект будет передан по конвейеру, если он возвращает true ($true).

Get-Service | Where-Object {$_.Status -eq "Stopped"}

НОУ ИНТУИТ | Лекция | Задачи по администрированию

Хотя это текстовое представление, нетрудно понять внешнюю и внутреннюю структуру объектов, движущихся по конвейерной ленте:

Get-Service | Where-Object {$_.Status -eq "Stopped"} | Get-Member

НОУ ИНТУИТ | Лекция | Задачи по администрированию

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

Adblock
detector