Лабораторная работа № 6


Тема:

  Автоматизация управления Windows Server 2016 средствами PowerShell.


Цель:

  Изучить возможности среды PowerShell для администрирования сетей на основе Windows Server 2016.




Задание 1. Изучение особенностей запуска и базовых командлетов PowerShell.

1.1 Самостоятельно изучите назначение PowerShell и особенности запуска оболочки. Выполните все команды из официального справочного руководства Microsoft: https://docs.microsoft.com/ru-ru/powershell/scripting/learn/ps101/01-getting-started?view=powershell-5.1

1.2 Изучите также следующие главы учебника:

Справочная система - https://docs.microsoft.com/ru-ru/powershell/scripting/learn/ps101/02-help-system?view=powershell-5.1

Обнаружение объектов, свойств и методов - https://docs.microsoft.com/ru-ru/powershell/scripting/learn/ps101/03-discovering-objects?view=powershell-5.1

Остальной материал (при желании).

1.3 Исследуйте выполнение следующих простых сетевых команд из оболочки PowerShell:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property IPAddress

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -ExpandProperty IPAddress

Get-WmiObject -Class Win32_PingStatus -Filter "Address='127.0.0.1'" -ComputerName . | Select-Object -Property Address,ResponseTime,StatusCode


Задание 2. Создание сценария для удаления локальных копий профилей с компьютеров-клиентов.

Описание проблемы:

Если за одним компьютером-клиентом в сети работает большое количество пользователей, то со временем это приведет к накоплению их локальных копий профилей по адресу C:\Users. Это повлечет за собой уменьшение объема свободного дискового пространства. Следовательно, содержимое каталога C:\Users периодически необходимо очищать. Однако, если в компьютерах под управлением Windows XP можно просто удалить папки профилей, то на компьютерах с ОС Windows 7 и выше необходимо еще удалять идентификаторы пользователей в системном реестре по адресу: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ (рисунок 2.1). Для одного компьютера эта операция не займет много времени, но для большого числа компьютеров данный процесс целесообразно автоматизировать.


Рисунок 2.1 – Идентификаторы пользователей в системном реестре


2.1 Создайте на компьютере-клиенте сценарий PowerShell. Для этого в строке поиска наберите PowerShell и запустите среду Windows PowerShell ISE от имени Администратора. Разверните область скриптов (если она свернута) и сохраните сценарий, дав ему имя DeleteLocalProfiles.ps1 (рисунок 2.2).


Рисунок 2.2 – Создание скрипта PowerShell


2.2 В окне скрипта введите следующий код:



2.3 Сохраните и закройте скрипт, скопировав предварительно в буфер обмена строку, разрешающую выполнение скриптов PowerShell. Запустите заново PowerShell (или PowerShell ISE) от имени Администратора. В область команд вставьте скопированный фрагмент и нажмите Enter. Появится запрос об изменении политики разрешения выполнения скриптов. Необходимо ответить «Да (Y)». Затем ведите путь к скрипту (например C:\DeleteLocalProfiles.ps1) и нажмите Enter. Результат работы скрипта представлен на рисунке 2.3.


Замечание:

Выполнение командлета Set-ExecutionPolicy Unrestricted -Scope Process будет необходимо каждый раз, когда вы будете запускать на выполнение любой из скриптов PowerShell.


Рисунок 2.3 – Удаление локальных копий профилей средствами PowerShell


Задание 3. Отслеживание активности сетевых пользователей.

3.1 Откройте редактор групповой политики Default Domain Policy. В дереве конфигурации перейдите по пути Конфигурация компьютера - Конфигурация Windows - Параметры безопасности - Конфигурация расширенной политики аудита - Политика аудита - Вход/выход. Настройте параметры «Аудит входа в систему» и «Аудит выхода из системы», установив для них значения «Успех и отказ» (рисунок 3.1). Обновите групповую политику. С этого момента на сервере в журналах безопасности Windows можно отслеживать события, связанные со входом и выходом в систему.


Рисунок 3.1 – Настройка аудита входа в систему и выхода из системы


3.2 Систематизируйте информацию их журналов Windows с помощью PowerShell. Для этого создайте скрипт и присвойте ему имя, например, NetUserHistory.

3.3 В окне скрипта введите следующий код:



3.4 В среде PowerShell запустите скрипт на выполнение. Результаты работы продемонстрируйте преподавателю.


Задание 4. Создание пользователей Active Directory средствами PowerShell.

В лабораторной работе №4 вы познакомились с методом создания учетных записей и профилей пользователей средствами командной строки. Вместе с тем, работать с *.bat-файлами не совсем удобно, так как зачастую возникают проблемы с кодировкой кириллицы, и подготовка *.bat-файлов занимает определенное время.

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

4.1 Подготовьте файл users.csv, содержащий следующие поля:

SurName – фамилия пользователя;

FirstName – имя пользователя;

Patronymic – отчество пользователя;

samAccountName – имя входа пользователя;

Password – пароль пользователя.

В файле должны содержаться записи минимум для 30 новых пользователей! Примерный вид файла представлен на рисунке 4.1.


Рисунок 4.1 – Содержимое файла users.csv


Замечание:

Вы можете использовать другие названия полей вместо предложенных. При этом не забудьте изменить соответствующие переменные в скрипте PowerShell. Можно также при необходимости добавить другие поля, например: адрес, телефон и т.д. Для этого укажите их в качестве значений соответствующих параметров команды New-ADUser.

4.2 Создайте скрипт PowerShell AddUser.ps1. Добавьте в скрипт следующий код:



Замечание:

Обратите внимание на место расположения файла users.csv. При необходимости измените путь на нужный вам.


4.3 Запустите скрипт на выполнение. Результат работы скрипта представлен на рисунке 4.2.


Рисунок 4.2 – Результат работы скрипта AddUser.ps1


Задание 5 (творческий уровень). Смена владельца и изменение разрешений на папки «Documents» и «Desktop», созданные в результате перенаправления соответствующих папок из каталогов Profile.v2 и Profile.v6 (выполняется по желанию на оценку).

В лабораторной работе №5 вы реализовали перенаправление папок «Мои документы» и «Рабочий стол» в каталоги \\profiles\%username%. Однако, поскольку перенаправленные папки создает система, то администратору на сервере будет отказано в доступе к этим папкам. Для восстановления доступа необходимо изменить текущего владельца перенаправленных папок на TESTDOMAIN\Администраторы. Но вместе с тем, в результате смены владельца «слетают» все свойства безопасности. Следовательно, пользователи при входе в систему не получат доступ к своему рабочему столу и документам.


Так как изменять владельца и настраивать заново свойства безопасности трудоемкий процесс, а для уважающего себя администратора не должно быть запретов на собственном сервере, то вам предлагается автоматизировать назначение разрешений на все перенаправленные папки с помощью PowerShell. Скрипт должен заменить владельцев подконтейнеров и объектов внутри каталогов \\profiles\%username%, а также заменить все записи разрешений дочерних объектов, наследуемых от объекта \\profiles\%username%.