Разработка сценария администрирования в командном интерпретаторе PowerShell
Автор: Astilla • Август 5, 2020 • Контрольная работа • 1,013 Слов (5 Страниц) • 334 Просмотры
Домашняя работа
«Разработка сценария администрирования в командном интерпретаторе PowerShell»
СОДЕРЖАНИЕ
Разработка сценария администрирования в командном интерпретаторе PowerShell 3
Задание 3
Выполнение 3
Вывод 10
Список использованных источников 11
Разработка сценария администрирования в командном интерпретаторе PowerShell
Задание
По расписанию выполнять поиск в реестре указанного параметра («Driver») типа DWORD, дописать в файл все найденные записи в формате:
- Дата/время; полный путь к параметру; значение
Выполнение
Само задание можно условно разделить на две подзадачи. Первая – это выполнение поиска, а вторая – выполнение этого поиска по заданному расписанию.
Для работы с содержимым системного реестра используется специальное программное обеспечение – редактор реестра, являющиеся стандартными компонентами операционной системы.
[pic 1] |
Рисунок 1 – Вид окна редактора |
Приведем описание основных разделов реестра системы для того, чтобы понять, в каких из них следует выполнять поиск.
HKEY_CLASSES_ROOT – содержит в себе информацию о всех зарегистрированных в системе расширениях файлов, связи между программами и этими расширениями. Псевдоним этого раздела – HKCR.
HKEY_CURRENT-USER – хранит информацию о пользователе, который работает в системе Windows в текущем сеансе. Кроме того, HKEY_CURRENT-USER содержит информацию о всевозможных настройках системы, которые относятся к текущему пользователю, то есть в данном «ключе» будут храниться настройки рабочего стола, настройки принтеров и экрана, а также параметры используемых программ. Псевдоним – HKCU.
HKEY_LOCAL_MACHINE предназначен для хранения информации о конфигурации – программной и аппаратной, причем в отличие от раздела HKEY_CURRENT-USER, настройки данного раздела распространяются на всех пользователей компьютера. Псевдоним – HKLM.
HKEY_USER предназначен для хранения информации о профилях всех пользователей компьютера. Этот раздел HKEY_CURRENT-USER фактически есть копия подраздела HKU, в котором хранятся сведения о текущем пользователе.
HKEY_CURRENT_CONFIG хранит информацию о настройках оборудования, которое использует ПК в текущем сеансе работы. Данный раздел является копией подраздела
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware-Profiles. Псевдонимом HKCC.
[pic 2] |
Рисунок 2 – Пример результата поиска |
PowerShell (PS) работает с ветка реестра как с дисками. К ним применимы классические команды, такие как cd, dir и т.д.
[pic 3] |
Рисунок 3 – Пример просмотра ветки реестра командой |
Командлет Get-ChildItem возвращает элементы, обнаруженные в одном или нескольких указанных местах. У этой команды есть два алиаса – dir и ls.
[pic 4] |
Рисунок 4 – Пример работы командлета |
У данной команды есть множество различных параметров. Рассмотрим некоторые из них.
Path – задает путь к одному или нескольким местоположениям;
Recurse – получает элементы, содержащиеся в указанных местоположениях и во всех дочерних элементах этих местоположений, т.е. помогает организовать поиск в глубину;
Name – извлекает только имена элементов, содержащихся в соответствующих местоположениях
Include
Exclude
ErrorAction – определяет действие, совершаемое при ошибке выполнения командлета:
- вывести сообщение об ошибке и продолжить выполнение – Continue;
- проигнорировать ошибку и продолжить – SilentlyContinue;
- при первой же ошибке прервать выполнение – Stop;
- при возникновении ошибки вывести вопрос о том, что делать дальше – Inquire.
Напишем сценарий вывода на экран содержимого ветки реестра
#RegRoot - имя ветки реестра $RegRoot = 'HKLM:\HARDWARE\DEVICEMAP\' #$RegPath - путь реестра #Работа с коллекцией #Организация циклического перебора ForEach ($RegPath in Get-ChildItem -Path $RegRoot -Recurse -ErrorAction SilentlyContinue) { Write-Host $RegPath } |
Результат выполнения показан на рисунке
...