Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_ЛР_БОС.doc
Скачиваний:
112
Добавлен:
08.05.2019
Размер:
1.15 Mб
Скачать

Удаленный реестр

Для работы с удаленным реестром придется обратиться к .NET.

Вводим команды.

$ServerName = "."

$ServerKey =

[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $ServerName)

Получаем объект, свойства которого можно посмотреть использовав стандартный командлет Get-Member

$ServerKey | Get-Member

На экран выводится список свойств, которые нам могут понадобиться.

CreateSubKey – создать ключ

DeleteSubKey – удалить ключ

DeleteSubKeyTree – удалить дерево ключей

DeleteValue – удалить значение

Среди методов есть OpenSubkey и GetSubKeyNames с помощью которых можно прочитать значения из реестра удаленной системы.

# задаем имя удаленного хоста

$ComputerName = HOST_NAME

$reg =

[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine,$ComputerName)

$key = $reg.OpenSubkey("Software\Microsoft\Windows\CurrentVersion\Uninstall",$false)

$key.GetSubKeyNames()

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

Например, DisplayName и DisplayVersion

$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(‘LocalMachine’, ‘HOST_NAME’)

$key = $reg.OpenSubKey(‘SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall’)

$key.GetSubKeyNames() | ForEach-Object {

$subkey = $key.OpenSubKey($_)

$i = @{}

$i.Name = $subkey.GetValue(‘DisplayName’)

$i.Version = $subkey.GetValue(‘DisplayVersion’)

$i.Date = $subkey.GetValue(‘InstallDate’)

$i.Pubisher = $subkey.GetValue(‘Publisher’)

New-Object PSObject -Property $i

$subkey.Close()

}

$key.Close()

$reg.Close()

Правка реестра

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

# Создаем новый элемент

New-Item -Path HKCU:\Environment\NewKey

# или так

New-Item -type Directory HKCU:\Environment\NewKey-1

# Аналогично будет работать команда md

md HKCU:\Environment\NewKey-2

# переходим в "папку"

Set-Location HKCU:\Environment

# создаем копию созданного ранее ключа

Copy-Item -Path HKCU:\Environment\NewKey .\NewKey2

# переименовываем

Rename-Item -Path HKCU:\Environment\NewKey2 -NewName RenameKey2

# удаляем старый

Remove-Item -Path HKCU:\Environment\NewKey

# Аналогично можно использовать команду del

del HKCU:\Environment\NewKey

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

Последнее что стоит посмотреть это операции с элементами реестра.

# создаем новое значение

New-ItemProperty -itemType String -Path HKCU:\Environment -name NewKey -Value "NewParam"

Допустимые для создания элементы

ItemType

Description

DataType

String

A string

REG_SZ

ExpandString

A string with environment variables that are resolved when invoked

REG_EXPAND_SZ

Binary

Binary values

REG_BINARY

DWord

Numeric values

REG_DWORD

MultiString

Text of several lines

REG_MULTI_SZ

QWord

64-bit numeric values

REG_QWORD

Остается совсем ничего.

# меняем значение у существующего элемента

Set-ItemProperty -Path .\ -name "NewParam" -Value "UpdatedParam"

# переименовываем параметр

Rename-ItemProperty -Path .\ -name "NewParam" -NewName "TestParam"

# Удаляем параметр

Remove-ItemProperty -Path .\ -name newkey

3. Оборудование

Персональный компьютер с установленной операционной системой MS Windows 2000 SP4, XP SP2, Vista или 7.

4. Задание на работу

Используя Windows PowerShell, выполнить последовательность действий, описанных в теоретических положениях данной лабораторной работы:

1. Создать, переименовать, копировать, переместить и удалить файлы и папки на компьютере.

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

3. Реализовать доступ к реестру: поиск, создание и удаление ключей.

5. Оформление отчета

Отчет должен содержать:

  • название и цель работы;

  • краткие теоретические сведения о лабораторной работе;

  • описание последовательности действий, совершенных в ходе выполнения лабораторной работы;

  • скриншоты, иллюстрирующие проделанную работу.

6 Контрольные вопросы

6.1. Какие существуют командлеты для работы с файлами и папками?

6.2. Каким образом можно реализовать фильтрацию информации во время выполнения файловых операцияй?

6.3. Каким образом можно создавать и удалять файлы и папки, используя Windows PowerShell?

6.4. Каким образом осуществляется поиск файлов и папок с использованием Windows PowerShell?

6.5. Каким образом осуществляется доступ к реестру с использованием Windows PowerShell?

6.6. Как реализуется правка реестра с использованием Windows PowerShell?