Powershell: удаленное изменение ветки реестра HKEY_USERS

Для решения данной задачи будем использовать, как маппинг ветки реестра на локальную машину, в данном случае файл находящийся в каталоге пользователя: C:\Users\<username>\ntuser.dat, так и Invoke-Command.

В случае, если на удаленной машине есть активные процессы под пользователем, ветку которого мы хотим загрузить командой reg load <куда> <от куда>, то произойдет исключение и скрипт перейдет в исполнение инструкций из блока Catch в которой указана команда Invoke-Command. Если же процессов нет, то выполняются инструкции из Try.

Пример: reg load HKLM\TempHive \\$remote_server\C$\Users\$user\ntuser.dat

После чего можно уже выполнить определенные действия с подключенной веткой и отвязать ее с помощью команды reg unload <путь к ветке>

Если же вы не отвяжете ветку, то пользователь сможет войти только с временным профилем.

Скрипт тестировался на серверах с Windows Server 2019 и Windows Server 2012 R2

Добавить комментарий

Ваш адрес email не будет опубликован.