Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетУк - ОС - 10 - Использование PowerShell.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
190.46 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра "Программное обеспечение вычислительной техники и автоматизированных систем"

АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ WINDOWS 2003 SERVER R2 С ИСПОЛЬЗОВАНИЕМ POWERSHELL

Методические указания к выполнению лабораторной работы №10 по дисциплине «Операционные системы»

Ростов-на-Дону, 2011 г.

Составитель: к.т.н., доц. Долгов В.В.

Администрирование серверов Windows 2003 Server R2 с использованием PowerShell: методические указания к выполнению лабораторной работы №10 ­– Ростов н/Д: Издательский центр ДГТУ, 2011. – ??? с.

В методической разработке рассматриваются возможности нового языка сценариев PowerShell и его применение для автоматизации задач администрирования серверов. Приведены задания к лабораторной работе помогающие закрепить на практике полученные знания. Методические указания предназначены для студентов специальности 090102 "Компьютерная безопасность".

Печатается по решению методической комиссии факультета «Информатика и вычислительная техника».

Рецензент: к.т.н., доц. Гранков М.В.

Научный редактор: д.т.н., проф. Нейдорф Р.А.

 Издательский центр ДГТУ, 2011

Введение в powershell

Большая часть задач, связанных с управлением локальными вычислительными сетями, представляет собой выполнение рутинных операций, ручная реализация которых может потребовать значительного времени. Решения, позволяющие автоматизировать такие задачи и повышающие производительность работы администраторов, возникли почти сразу же с появлением профессии администратора. Попытки улучшить состояние дел в области управления серверами Windows при помощи консольного интерфейса привели к появлению PowerShell – новой командной оболочки со своим собственным скриптовым языком. В данный момент PowerShell является отдельным приложением, которое можно установить на любую систему, использующую платформу Microsoft .Net Framework 2.0 (Windows XP, Vista, Server 2003), а начиная с Windows Server 2008 и Windows 7 данная оболочка будет поставляться вместе с ОС.

Оболочка PowerShell является объектно-ориентированной, что существенно отличает ее от других командных языков. Результатом выполнения команды в PowerShell является не просто текст, а объект платформы .NET. Этот объект представляет собой собственно данные и имеет набор присущих ему свойств и методов. Для того чтобы ориентироваться во множестве команд (cmdlet, командлет) оболочки и дать ориентир разработчикам новых объектов для них придумано специальное единообразное именование в виде комбинации «глагол-объект». Список наиболее часто используемых «глаголов» приведен в таблице 1. Полный перечень «глаголов» поддерживаемых PowerShell можно найти в [1].

Таблица 1. Часто используемые «глаголы» PowerShell

«Глагол»

Описание

add

Добавляет объект к коллекции или данные к объекту (если это позволяется типом объекта).

clear

Очищает свойства объекта, устанавливая их в начальное значение. При этом сам объект не удаляется из коллекции.

copy

Копирует объект, создавая его полную копию в рамках пространства имен к которому он принадлежит.

export

Экспортирует данные объекта или коллекции объектов в, как правило, текстовые файлы файловой системы ОС.

find

Ищем объект внутри коллекции на основании набора параметров.

get

Запрашивает данные из объекта или коллекции. Параметры командлета зависят от коллекции (пространства имен) с которым производится работа.

new

Создает новый объект указанного типа. Тип и параметры командлета зависят от типа объекта к которому применяется команда.

out

Выводит данные, поступающие на вход команды в указанный (объектом) поток вывода.

remove

Удаляет объект из коллекции (пространства имен) объектов. Удаляемый объект определяется либо непосредственным значением, либо по значению его свойств (множество которых зависит от типа удаляемого объекта).

set

Изменяет (и иногда создает) значение объекта в коллекции.

В состав PowerShell включена довольно обширная справочная система доступная через команду «Get-Help», необязательным параметром которой является имя другой команды, справку по которой мы хотим получить (рис. 1).

Рисунок 1. Вывод справки по команде «add-computer»

Поскольку PowerShell оперирует не текстом, а объектами, при перенаправлении элементом обмена информации является объект, вместе со своей структурой. Такая возможность позволяет оперировать с объектами – отбирать их по заданному фильтру, сортировать, группировать и т. д. Для организации такого конвейера (pipeline) в тексте сценария используется знак вертикальной черты «|». При обнаружении такого знака интерпретатор передает объекты от одного командлета другому в качестве входных параметров. Простейшим примером может служить набор команд, выводящих на экран названия запущенных на компьютере сервисов:

Get-Service | Where-Object { $_.Status -eq "Running" } | Select-Object DisplayName

Большое внимание в новой оболочке уделено безопасности. Так для борьбы с возможной подменой команд для вызова скрипта, путь к которому не совпадает с путями, заданными в системной переменной «Path», необходимо явно указать его расположение. Даже в том случае, когда скрипт расположен в папке, являющейся для оболочки текущей, необходимо указать путь в таком виде «.\имя_файла».

Еще одним механизмом обеспечения безопасности является политика выполнения сценариев. Изначально она настроена так, что даже при правильном вызове сценария его выполнение будет запрещено. Политика выполнения может работать в одном из четырех режимов, описанных в таблице 2.

Таблица 2. Режимы безопасности скриптов

Режим

Описание

Restricted

Запрещен запуск любых сценариев (данный режим является режимом по умолчанию).

AllSigned

Разрешен запуск сценариев, имеющих цифровую подпись надежного издателя; сценарии, созданные пользователем и расположенные на локальном компьютере, также должны быть заверены центром сертификации.

RemoteSigned

Разрешен запуск сценариев, если они не являются доверенными, но созданы локальным пользователем; сценарии, загруженные из Интернета и не имеющие подписи надежного издателя, не исполняются.

Для выполнения лабораторных работ необходимо установить данный режим безопасности.

Unrestricted

Разрешен запуск любых сценариев. Это самый опасный режим, т.к. сценарии могут выполняться даже при посещении вредоносных сайтов.

Текущий режим политики можно узнать, выполнив команду Get-ExecutionPolicy в оболочке. Для изменения режима выполните команду Set-ExecutionPolicy с необходимым названием политики в качестве параметра.