Pages Menu
Rss
Categories Menu

Опубликовано | Нет комментариев

Работа с реестром в PowerShell

Работать с реестром можно не только с помощью RegEdit или команды REG.EXE, не менее удобно использовать встроенную во все современные версии Windows утилиту PowerShell. Причем основные задачи, такие как прямое или использующее объекты групповой политики, создание и редактирование реестра настроек ПК, PowerShell позволяет автоматизировать.

Для работы с реестром, в PowerShell, доступно много других команд и каждая из них имеет свой собственный синтаксис. Когда PowerShell только появился, в нем было всего лишь 129 команд, в Windows 8, команд и функции стало уже более 2000. Не менее 57 команд, полный список их синтаксиса и возможное использование, вы можете найти на веб-сайте Microsoft MSDN по адресу http://pcs.tv/1x9NW1M.

PowerShell

Один из главных вопросов, с которым сталкиваются многие начинающие изучать PowerShell, является то, что команда (cmdlet) не работает так, как ожидалось. И очень распространенная проблема связана с правильной установкой Set-ExecutionPolicy. Для того, чтобы в тестовой среде виртуальной лаборатории, разрешить тесты ваших сценариев PowerShell, вам нужно в командной консоли с правами администратора, запустить новый PowerShell и в окне командной строки ввести следующую команду:

Get-ExecutionPolicy

Учтите, что в PowerShell, по умолчанию, существуют ограничения, то есть, для того, чтобы запуститься, скрипты должны иметь цифровую подпись. То есть для того, чтобы ваши скрипты работали в тестовой среде эту политику вам необходимо изменить на неограниченную.

Для этого введите следующую команду:

Set-ExecutionPolicy Unrestricted

При запуске командлета, появится предупреждение. Чтобы принять политику установок введите «Y». Эта команда изменит ключ в реестре и разрешит запуск на вашем компьютере сценариев без цифровой подписи.

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

Введите в PowerShell следующую команду:

Get-PSDrive

Вам будет предложен текущий список дисководов, с которыми PowerShell может взаимодействовать. PowerShell имеет доступ к двум ветвям реестра: HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Так же, как и в файловой системе, при помощи PowerShell вы можете перемещаться в структуре реестра.

Попробуйте ввести следующее (не забудьте про двоеточие!):

CD HKCU: DIR

Если вы хотите просмотреть свойства ключа реестра, введите:

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ Microsoft.PowerShell

Здесь вы увидите свойства ключа и это должно соответствовать ранее настроенным параметрам.

Если вы хотите установить значение обратное Remote Signed, вы должны ввести:

Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell -Name "ExecutionPolicy" –Value "RemoteSigned"

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

Значение настроек реестра:

Verb — CMDLETS

Get - Get-GPPrefRegistryValue; Get-GPRegistryValue

Set - Set-GPPrefRegistryValue; Set-GPRegistryValue

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

ScanReg

Если вы используете старый компьютер, а не современную операционную систему, возможно вам по-прежнему необходимо управлять или ремонтировать ваш реестр. Windows Registry Checker Tool (Scanreg.exe) был добавлен в Windows 98, ME и NT для того, чтобы пользователи имели удобный инструмент для исправления проблем, оптимизации реестра и резервного копирования/ восстановления базы данных.

Для того, чтобы получить доступ к инструменту Scanreg, перезагрузите компьютер в специальном режиме «Безопасный режим с поддержкой командной строки». В Windows 98 будет создано ежедневное резервное копирование реестра.

Восстановление самого последнего реестра происходит следующим образом:

  • Введите в командной строке cd\windows\command и нажмите «Enter»
  • Введите Scanreg.exe/restore
  • В списке выберите необходимую резервную копию реестра и нажмите клавишу Enter.

После этого ПК будет восстанавливаться, затем перезагрузите компьютер. Также может быть вызвана и графическая версия интерфейса ScanRegw. Для чего в меню «Пуск» выберите пункт «Выполнить» и наберите scanregw.

Scanreg

Внимание. Инструмент Scanreg устарел и в современные версии Windows больше не включается.

Process Monitor

Process Monitor (ProcMon) один из наиболее полных и мощных инструментов для работы с реестром. Конечно, встроенный в систему инструмент RegEdit предоставляет пользователю базовые возможности редактирование и некоторую функциональность, но возможности Process Monitor в ближайшее время сделают привычный инструмент дилетантским.

Process Monitor в состав Windows не входит, но он бесплатный и полностью поддерживается корпорацией Майкрософт. Вы можете либо скачать его и установить, либо запустить непосредственно с веб-сайта Sysinternals на http://technet.microsoft.com/sysinternals.

Process Monitor позволяет отслеживать, записывать и сохранять всю активность Windows, в режиме реального времени (то есть, динамически). Он видит всю файловую систему, реестр и деятельность процессов / потоков с возможностью входа, анализа и фильтрации результатов. В первую очередь нас интересует его способность фокусироваться на активности реестра. Многие профессионалы считают этот инструмент мониторинга систем Windows, из-за его дополнительных функций, в том числе живой фильтрации и возможности сохранения деталей сессии в формате Process Monitor (PML), что в дальнейшем позволяет их последующий анализ, де-факто передовым.

Process Monitor

Внимание. Два предыдущих поколения утилит Sysinternals, FileMon (Monitor File) и RegMon (Registry Monitor), были объединены в один новый инструмент - Process Monitor.

Даже без применения фильтров Process Monitor захватывает ошеломляющее количество данных, в течение всего 10 минут регистрируется более миллиона событий. Однако, для того, чтобы получить и сосредоточиться на обработке нужных данных, очень важно понять как применять фильтры.

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

фильтрация_событий_класса

Как показано в диалоговом окне выбора колонок, Process Monitor может отображать широкий спектр данных, таких как время, дата, тип, путь, имя пользователя, и будет ли процесс работать в режиме виртуализации UAC.

выбор_колонок_Process_Monitor

И хотя встроенная фильтрация, сначала может показаться привлекательной, для многих пользователей потребуются дополнительные возможности. Process Monitor может фильтровать результаты по каждой из колонок и, используя логические операторы OR и AND, объединять их. Для того, чтобы создать свой собственный фильтр, нажмите Ctrl + L или выберите в строке меню «Фильтр», а затем в диалоговом окне Process Monitor используя раскрывающееся меню, выберите какую колонку или заголовок включить/исключить из фильтрации. Можно фильтровать и свободные значения, например, «Операции связанные с REG», будет фильтровать влияющую на реестр активность.

фильтрация_Process_Monitor

Если вы создаете набор фильтров, которые хотите использовать повторно, вы можете сохранить свою конфигурацию в меню «Фильтр», с помощью параметра «Сохранить фильтр».

Внимание. Process Monitor, после запуска, будет собирать данные непрерывно. Каждый последующий примененный фильтр будет фильтровать все возрастающее количество данных. Если вы хотите сбросить данные, остановите применение фильтра, а затем перезапустите утилиту.

Ранее, для изменения ExecutionPolicy на своем компьютере, мы использовали PowerShell. Для того, чтобы проиллюстрировать возможности Process Monitor, давайте создадим фильтр, отслеживающий активность реестра в процессе PowerShell.exe перед запуском команды Set ExecutionPolicy. Результаты вы можете увидеть ниже. Значение системного реестра выделено.

Process_Monitor_выявление_изменений

Вы можете щелкнуть правой кнопкой мыши по нужному вам пункту и в контекстном меню выбрать открытие и просмотр недавно измененных записей реестра. Если вы хотите просто просмотреть детали сделанных вами изменений, выберите в контекстном меню свойства элемента.

свойства_записи_реестра

Очистка реестра

О сравнительных достоинствах или недостатках сторонних чистильщиков реестра и утилит, особенно на современных быстрых ПК, существует целая дискуссия, мол они вообще не представляют какой-либо пользы. Однако, для тех, кому нравится чистить реестр сторонними утилитами, наиболее популярен - бесплатный CCleaner, который можно загрузить с www.piriform.com/ccleaner.

Ccleaner

CCleaner - надежная утилита, которая перед выполнением каких-либо изменений, автоматически предложит сделать резервную копию реестра. Он будет искать пустые (т.е. неиспользованные и несвязанные) ключи реестра и удалит их. Использование очистки реестра уменьшит общий размер, и, следовательно, время загрузки, баз данных реестра, а также предотвратит повреждение данных. Дальше мы перечислим ряд популярных утилит для чистки реестра от сторонних производителей.

Инструмент — Цена — ОС

  1. AML Free Registry Cleaner - бесплатно - Windows XP / 2003 / Vista / Windows 7 / Windows 8 (32 и 64 бит)
  2. Auslogics Registry Cleaner - бесплатно - Windows XP / Vista / Windows 7 / Windows 8.1
  3. CCleaner - бесплатно - Windows 8.1, 8, 7, Vista и XP (32 и 64 бит), но не планшетные издания RT
  4. Easy Cleaner - бесплатно - Все версии Windows: 95/98 / ME / NT 3.51 (или более поздние версии) / 2000 / XP
  5. JetClean - бесплатно - Windows XP / 2000 / Vista / Windows 7 / Windows 8 (32 и 64 бит)
  6. Offline NT Password and Registry Editor — бесплатно - поддерживает все Windows от NT 3.5 до Win 8.1, плюс серверные версии
  7. RegCleaner - бесплатно - Windows XP, 2000, ME, 98, 95, NT
  8. Wise Registry Cleaner - бесплатно - Windows XP/Vista/ Windows 7/Windows 8.1

В то время как RegEdit - наиболее известная и, возможно, широко используемая утилита для редактирования и работы с реестром, она ни в коем случае не единственно доступна и ни более гибкая чем PowerShell.

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.


↓