Удаленное подключение к реестру Windows, за минуту
Удаленное подключение к реестру Windows, за минуту
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз мы с вами поговорили про замечательную утилиту Remote Desktop Connection Manager, которая должна быть в инструментарии любого системного администратора, я в будущем планирую сделать отдельную статью про такого рода инструментарий. Сегодня я вам хочу показать еще один лайвхак, который поможет в вашей практике выходить из ряда неприятных ситуаций, и речь пойдет про удаленный реестр windows и подключение к нему.
Для чего может потребоваться удаленно подключиться к реестру Windows другого компьютера
Прежде, чем я покажу как реализовывается наша задача, я бы хотел осветить в каких ситуациях вам может быть полезным данное знание. Ранее я вам рассказывал, как запустить реестр в Windows, я вам рассказал, что все настройки в графическом виде, что вы видите и совершаете, на самом деле меняют ключи реестра в фоновом режиме, поэтому реестр — это и есть система управления Windows.
Недавно я вам рассказывал ситуацию, что мне нужно было удаленно включить на одном сервере Windows Server 2019 службу удаленного рабочего стола, чтобы я мог подключиться на него по RDP, и благодаря изменению ключей через удаленное подключение к реестру сервера (Сетевому реестру), задача была выполнена за пару минут. Так же у вас могут быть ситуации:
- Вам необходимо посмотреть появился ли нужный ключ реестра после применения групповой политики, которую вы сделали
- Добавить права для определенной группы, например сделать их администраторами или разрешить им подключение через Windows ассистента
- Отключить брандмауэр
- Удалить сбойный ключ реестра
- Изменить порт подключения RDP
- Многое другое, практически любое изменение настроек, главное знать, где искать
Алгоритм подключения к удаленному реестру Windows
Предположим, что у меня в моем домене Active Directory есть контроллер домена с которого я попытаюсь подключить к реестру сервера RDCB01, где посмотрю ключи реестра и что-нибудь поправлю. Что делаем, нажимаем одновременно сочетание клавиш WIN+R.
У вас откроется окно «Выполнить», где вы должны ввести regedit.
В итоге у вас откроется окно редактора локального реестра Windows.
Теперь, чтобы нам подключиться к реестру другого компьютера или сервера, вам необходимо выбрать меню файл, где необходимо найти пункт «Подключить сетевой реестр«
В поле «Введите имена выбираемых объектов», укажите DNS имя вашего удаленного сервера, в моем примере это сервер с Windows Server 2019 под именем RDCB01 и нажимаем проверить имена, если все хорошо, то под именем появится подчеркивание, что означает о выявлении сервера с таким именем. Нажимаем ок и пробуем подключить сетевой реестр Windows.
В момент подключения, если на стороне удаленного сервера есть сетевые проблемы или брандмауэр, то вы можете увидеть вот такое предупреждение:
Если вы точно знаете, что удаленный компьютер должен отвечать на сетевые пакеты PING, то попробуем проверить его доступность, для этого откройте командную строку и введите:
Если вы видите, что «Превышен интервал ожидания для запроса», то это означает, что сервер не доступен, при условии, что как я и говорил пакеты PING не лочатся сетевым экраном. Если у вас видится время ответа TTL, то это означает, что сервер по сети доступен и с ним можно взаимодействовать, чтобы включить удаленно нужную службу
Как нам писала ошибка выше, на обоих компьютерах должна быть запущена служба удаленного реестра. В командной строке вы можете проверить состояние данной службы для этого введите:
Как видим в моем примере у нее статус STOPPED
То же самое можно посмотреть и через PowerShell
запустим у себя локально службу удаленного реестра.
Так же можно тут же проверить доступность службы на удаленном компьютере:
Если ваше обращение блокирует на той стороне брандмауэр, то вы увидите вот такое сообщение, но не спешите расстраиваться, вы либо можете его отключить локально, или если есть административные права на удаленную систему, то мы это сделаем удаленно, об этом ниже.
Теперь попробуем запустить данную службу на удаленном сервере RDCB01, для этого откройте окно выполнить и введите в нем команду services.msc и нажмите Enter, у вас откроется оснастка службы.
Щелкаем по службам и из контекстного меню выбираем пункт «Подключиться к другому компьютеру»
Указываем имя компьютера и нажимаем «OK».
Если брандмауэр не блокирует подключение, то вы увидите успешное выполнение операции, если блокирует, то увидите ошибку:
Причин у ошибки «1722: Сервер RPC недоступен» несколько:
- На удаленном компьютере не запущены две службы «Модуль запуска процессов DCOM-сервера» и «Удаленный вызов процедур (RPC)«. Хочу отметить, что данные службы запускаются автоматически при старте системы
- Вас блокирует брандмауэр, он не пропускает удаленное управление службой. Этот набор состоит из трех служб:
- Удаленное управление службой (RPC-EPMAP)
- Удаленное управление службой (Именованные каналы)
- Удаленное управление службой (RPC)
Давайте мы удаленно включим данные правила, напоминаю, что для этого у вас должны быть права локального администратора на удаленном компьютере, понятно, что вы можете включить их локально, но машинка может быть в другом городе или стране. На помощь нам приходит в очередной раз Марк Руссинович и его набор утилит sysinternals. Из данного набора нам потребуется утилита PSTools, она позволит и удаленно запустить службу и при необходимости добавить правило в брандмауэр.
Загружаете данный архив с утилитами, распаковываете его в нужное вам место. Теперь зажав клавишу Shift щелкните правой кнопкой мыши по папке с утилитами и из контекстного меню выберите пункт «Открыть окно команд».
Введите вот такую команду:
Мой пример: PsExec.exe \\rdbc01 -u root\Администратор -p пароль cmd
Я наблюдаю успешное подключение к командной строке на удаленном компьютере RDCB01, там сейчас запущена служба PsExec.exe. Теперь на удаленной системе я могу делать все, что мне нужно.
Вы можете на удаленном компьютере отключить брандмауэр на время, чтобы произвести настройки служб:
потом обратно включить netsh advfirewall set allprofiles state on (Обязательно включите после настроек)
Далее я вам советую включить на брандмауэре в разделе «Разрешение взаимодействия с приложениями или компонентом в брандмауэре», набор правил «Удаленное управление службой», это даст возможность цепляться к оснастке «Службы» на другом компьютере
Далее подключаетесь в оснастке службы к нужному хосту и запускаем службу «Удаленный реестр»
Так же можно изначально прямо из командной строки включить нужную службу в PsExec.exe, я вам не показал, этого сразу, чтобы вы могли настроить для себя брандмауэр. Проверим статус службы:
Далее запустим службу sc start RemoteRegistry
Как видим служба RemoteRegistry успешно запущена, при чем удаленно.
Пробуем подключиться к удаленному, сетевому реестру, теперь у нас не возникает проблем и мы видим, что добавился новый раздел RDCB01.
Windows 10 service remote registry
Enables remote users to modify registry settings on your computer. If this service is stopped, the registry can be modified only by users on your computer. If this service is disabled, any services that explicitly depend on it will fail to start.
This service also exists in Windows 7, 8, Vista and XP.
Startup Type
Windows 10 version | Home | Pro | Education | Enterprise |
---|---|---|---|---|
1507 | Disabled | Disabled | Disabled | Disabled |
1511 | Disabled | Disabled | Disabled | Disabled |
1607 | Disabled | Disabled | Disabled | Disabled |
1703 | Disabled | Disabled | Disabled | Disabled |
1709 | Disabled | Disabled | Disabled | Disabled |
1803 | Disabled | Disabled | Disabled | Disabled |
1809 | Disabled | Disabled | Disabled | Disabled |
1903 | Disabled | Disabled | Disabled | Disabled |
1909 | Disabled | Disabled | Disabled | Disabled |
2004 | Disabled | Disabled | Disabled | Disabled |
Default Properties
Display name: | Remote Registry |
Service name: | RemoteRegistry |
Type: | share |
Path: | %WinDir%\system32\svchost.exe -k localService -p |
File: | %WinDir%\system32\regsvc.dll |
Error control: | normal |
Object: | NT AUTHORITY\LocalService |
Privileges: |
|
Default Behavior
The Remote Registry service is running as NT AUTHORITY\LocalService in a shared process of svchost.exe. Other services might run in the same process. If Remote Registry fails to start, the error is logged. Windows 10 startup proceeds, but a message box is displayed informing you that the RemoteRegistry service has failed to start.
Dependencies
Remote Registry is unable to start, if the Remote Procedure Call (RPC) service is stopped or disabled.
Restore Default Startup Type for Remote Registry
Automated Restore
1. Select your Windows 10 edition and release, and then click on the Download button below.
2. Save the RestoreRemoteRegistryWindows10.bat file to any folder on your hard drive.
3. Right-click the downloaded batch file and select Run as administrator.
How to Connect to a Remote Registry
Use Registry Editor to access a registry over your network
Remotely connecting to another computer’s Windows Registry isn’t something you’ll do regularly, if ever, but Registry Editor does let you do it, assuming a number of things are in order.
Remote registry editing is a much more common task for tech support and IT groups than the average computer user, but there are times when remotely editing a key or value can come in handy.
Maybe it’s something simple like faking a BSOD on April Fool’s Day without ever visiting the other computer, or maybe a task with a bit more value like checking the BIOS version on a PC two floors down.
Regardless of the reason, accessing a registry over your local network at home or at work is really simple.
Time Required: It should only take a minute or two, assuming the remote computer is working, connected to your network, and is running the necessary service (more on that below).
The steps outlined below work in all commonly used versions of Windows, including Windows 10 through Windows XP.
How to Connect to a Remote Registry
Open Registry Editor by executing regedit from any command line interface in Windows, like Command Prompt or the Run dialog box.
Go to File > Connect Network Registry.
Type into the large empty space the name of the computer you want to remotely access the registry for.
The «name» that’s being requested here is the hostname of the other computer, not the name of your computer or the name of the user on the remote one.
Most simple networks won’t require any change to the Object Types and Locations fields, which should default to Computer and whatever workgroup the computer you’re using is a member of. Feel free to adjust these settings if you have a more complex network and the computer you want to make remote registry edits to is a member of a different workgroup or domain.
Select Check Names.
After several seconds or more, depending on the speed and size of your network and computer, you’ll see the remote computer’s full path, shown as LOCATION\NAME.
If you get a warning that says «An object (Computer) with the following name cannot be found: «NAME».», check that the remote computer is properly connected to the network and that you’ve entered its hostname correctly.
You might need to enter credentials for a user on the remote computer so that you can verify that you have access to connect to the registry.
Choose OK.
In what will probably only take seconds, Registry Editor will connect to the remote computer’s registry. You’ll see Computer (your computer), as well as the other computer you’re viewing the registry for, under [hostname].
If you get an «Unable to connect to [name].» error, you may need to enable the Remote Registry service. See the section below for help doing that.
Now that you’re connected, you can view whatever you like, and make whatever registry edits you need to make. See How to Add, Change, & Delete Registry Keys & Values for some overall help.
As you’re working in whatever remote registry you’re connected to, you may notice two things: significantly fewer registry hives than on your computer, and a number of «Access is denied» messages when navigating around.
While your computer probably has at least five individual registry hives, you’ll notice immediately that the registry you’re connected to remotely only shows HKEY_LOCAL_MACHINE and HKEY_USERS.
The three remaining keys, HKEY_CLASSESS_ROOT, HKEY_CURRENT_USER, and HKEY_CURRENT_CONFIG, while not appearing like you may be used to, are all included in various subkeys within the two hives you do see.
The «Access is denied» messages that you’re probably getting on HKEY_LOCAL_MACHINE and various keys under the HKEY_USERS hive are likely due to the fact that you don’t have administrator privileges on the remote computer. Give your account administrator access on the remote computer and then try again.
How to Enable the Remote Registry Service in Windows
The RemoteRegistry Windows Service must be enabled on the remote computer you wish to view or edit the registry on.
Most Windows installations disable this service by default, so don’t be surprised if you run into this problem.
Here’s how to enable it:
Open Control Panel on the computer you want to connect to.
Go to Administrative Tools, and then Services.
You can also open Services via the Run dialog box with the services.msc command.
You won’t see this option in Control Panel if you’re viewing the items by category. Switch to the other view to see Administrative Tools.
Find Remote Registry from the list and double-click or double-tap it.
From the Startup type drop-down box, choose Manual.
Choose Automatic instead of Manual if you want the RemoteRegistry service to run all the time, helpful if you know you’ll want to do this again in the future.
Choose Apply.
Select Start, followed by OK once the service is done starting.
Close the Services window, and any Control Panel windows you might still have open.
Now that the RemoteRegistry service is started on the remote computer you want to edit the registry on, head back to your computer and try connecting again.