Назад | Перейти на главную страницу

Как я могу создать сценарий настройки HKCU для нескольких пользователей на определенном сервере, у которых нет профилей?

Вот что я бы сделал вручную:

  1. Войдите на сервер с учетной записью Account1, чтобы создать его профиль Windows.
  2. Запустите Internet Explorer. Щелкните «Сервис»> «Свойства обозревателя»> «Дополнительно»> снимите флажок «Проверить, не отозван ли сертификат издателя» и нажмите «ОК». При этом обновляется «HKCU: \ Software \ Microsoft \ Windows \ CurrentVersion \ WinTrust \ Trust Providers \ Software Publishing \ State».

Я хотел бы каким-то образом автоматизировать описанный выше процесс, чтобы мне не приходилось входить на серверы, но при этом применять настройку ко всем пользователям. (Использование GPO будет работать, но это не вариант.)

Вы захотите использовать reg load для редактирования файла ntuser.dat по умолчанию, который затем будет распространяться на все вновь созданные профили.

Пример:

@echo off
SET Counter=0
SET LogFile=%windir%\temp\Reg.log
echo. > %LogFile%

:LoadRegHive
SET /A Counter += 1
sleep 5
REG LOAD HKU\ChangeMe "c:\Documents and Settings\Default User\NTUSER.DAT"
IF /I %Counter% GEQ 10 GOTO RegLoadError
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 (SET Counter=0 && GOTO ChangeKeys) ELSE (GOTO LoadRegHive)

:ChangeKeys
REG ADD "HKEY_USERS\ChangeMe\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Pictures" /t REG_EXPAND_SZ /d "%%SystemDrive%%\My Documents\My Pictures" /f
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 (echo "Successfully changed My Pictures network reference" >> %LogFile%) ELSE (echo "Error changing My Pictures network reference" >> %LogFile%)

REG ADD "HKEY_USERS\ChangeMe\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Music" /t REG_EXPAND_SZ /d "%%SystemDrive%%\My Documents\My Music" /f
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 (echo "Successfully changed My Music network reference" >> %LogFile%) ELSE (echo "Error changing My Music network reference" >> %LogFile%)

REG ADD "HKEY_USERS\ChangeMe\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal" /t REG_EXPAND_SZ /d "%%SystemDrive%%\My Documents" /f
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 (echo "Successfully changed Personal network reference" >> %LogFile%) ELSE (echo "Error changing My Music network reference" >> %LogFile%)

REG UNLOAD HKU\ChangeMe

GOTO End

:RegLoadError
echo "Error loading the registry hive after 10 tries." >> %LogFile%
GOTO END

:End
EXIT

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

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

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