Мое исследование говорит, что есть четыре способа сделать это. Я начал со страниц документации Microsoft Logon Script и разошелся оттуда .
Пакетный файл входа в систему
Windows Server 2000, 2003, 2008
Сценарии пакетного файла входа в систему (.BAT) являются лишь временным экземпляром окна CMD, и установленные там переменные среды исчезают, как только окно входа закрывается.
set MYVAR=MyValue
Не будет работать по вышеуказанной причине.
Итак, в качестве альтернативы, я могу попытаться установить переменную путем прямой записи в реестр, как для системной переменной среды:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v MYVAR /t REG_EXPAND_SZ /d MyValue
или в переменные среды пользователя, например:
reg add HKCU\Environment /v MYVAR /t REG_EXPAND_SZ /d MyValue
Недостатком здесь является то, что переменные, хотя и записываются в реестр, не читаются до следующего входа в систему для всех, что я вижу. Новое окно CMD не показывает их след, пока пользователь не войдет в систему заново.
Скрипт входа в VHH файл VBS
Windows Server 2000, 2003, 2008
С помощью сценария входа в Visual Basic Script (VBS) вы можете использовать более программный метод для доступа к переменным среды. Это похоже на мой самый жизнеспособный подход. Этот пример будет добавлен в конец PATH .
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("SYSTEM")
WshEnv("Path") = WshEnv("Path") & ";M:\DB\whatever\"
Этот пример просто устанавливает переменную.
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("SYSTEM")
WshEnv("MYVAR") = "MyNewValue"
Этот подход дает переменные, которые сразу же доступны через окно CMD. Перезагрузка не требуется, как запись в реестре пакетных файлов.
Файл ADM
Windows Server 2000, 2003, 2008
Файлы ADM - это способ предоставить пользовательскую функциональность настроек редактору групповой политики. Кажется, сложно установить их и увидеть на контроллере домена, поэтому я перепрыгиваю через эту опцию.
Справочник TechNet по технической поддержке Microsoft по расположению файлов ADM.
Еще одна статья о файлах ADM и их использовании для настройки параметров реестра.
Tom's Hardware в файлах ADM.
---- set.adm ----
CLASS MACHINE
CATEGORY "Environment"
POLICY "Self dfined variables"
KEYNAME "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
PART "Set MyVar1 =" EDITTEXT
DEFAULT "MyValue1"
VALUENAME MyVar1 ; EXPANDABLETEXT
; add expandabletext if it can contain Variables itself
END PART
END POLICY
END CATEGORY
---- set.adm ----
Предпочтения групповой политики (GPP)
Windows Server 2008
Windows Server 2008 h в качестве новой функции , названной Расширения среды для предпочтений групповой политики . Это позволяет вам удобно устанавливать, какие в противном случае требуются сложные пакетные сценарии. Представленные новые элементы включают в себя значения реестра, переменные среды и многое другое. Краткое руководство доступно здесь .
Я не могу использовать эту опцию, потому что у моих клиентов нет Windows Server 2008.
Резюме
Скажите, пожалуйста, исходя из вашего опыта работы в качестве администраторов Windows, какой из них лучше всего работает и почему. Я просто разработчик для настольных компьютеров, и мне нужно понимание администратора.