Обновление реестра каждого профиля в Windows Server 2003 - PullRequest
1 голос
/ 15 сентября 2009

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

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

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

Ответы [ 2 ]

1 голос
/ 15 сентября 2009

Есть несколько способов достичь того, чего вы хотите - один более грубый, чем другой. Терминальные серверы могут быть кошмаром развертывания - пользователи могут не иметь прав для запуска msiexec.exe , и, следовательно, самовосстановление MSI может завершиться неудачей. Вот почему я обычно предпочитаю использовать пакетные файлы , сценарии или reg файлы для той ситуации, с которой вы сталкиваетесь.

Я бы использовал Активную настройку Microsoft . Это просто причудливое название для функции, которая позволяет вам «запускать что-то один раз для каждого профиля при входе в систему». Вот хорошее объяснение: http://www.etlengineering.com/installer/activesetup.txt

Вот пример записи активной настройки для файла MSI (это содержимое файла * .reg):

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode]]
"StubPath"="[SystemFolder]msiexec.exe /q /fou [ProductCode]"

Команда "StubPath" может быть любой "работоспособной", и в вашем случае я бы предложил не запускать msiexec.exe, а использовать vbscript через cscript.exe или какой-либо другой пакетный механизм (CMD, REG, Etc ...) , Причина в том, что я сказал выше: msiexec.exe может быть запрещено запускать для пользователей сервера терминалов. Другими словами, примерно так:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\MyProduct]
"StubPath"="[SystemFolder]cmd.exe /k C:\SomeScript.cmd"

Существуют и другие способы добавления данных в профиль каждого пользователя, например , с помощью объявленных ярлыков MSI и самовосстановления , но я бы не рекомендовал это для терминальных серверов. См. этот ответ serverfault.com для получения информации о проблемах с использованием файлов MSI для настроек реестра.

0 голосов
/ 15 сентября 2009

Смонтируйте куст реестра программно, измените ключи, затем закройте куст. В качестве альтернативы вы можете использовать PSExec / runas для запуска сценария «обновить ключи» от имени этого пользователя , что также решает проблему «редактирования HKCU»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...