Показать полную графическую версию : пишу переменную окружения тип Volatile wscript скриптом но не могу ее использовать .?
egor_siv
24-10-2006, 05:20
она есть в реестре HKCU\VolatileEnvironment\CLIENTIP="10.10.10.1"
и скриптом я ее вижу но в например в батнике ее использовать не могу
и командой "set" ее не видно
как сделать что бы %CLIENTIP% возвращал значение пременной окружения ???
так я пишу переменную :
Set objShell = WScript.CreateObject("WScript.Shell")
Set colUsrEnvVars = objShell.Environment("Volatile")
'Wscript.Echo colUsrEnvVars("CLIENTIP")
colUsrEnvVars("CLIENTIP") = "10.10.10.1"
Imho для начала было бы неплохо записать ее как переменную окружения и посмотреть - какой записи в реестре это соответствует.
А скрипт вообще непонятно что делает: ключ в реестре не прописывает, тогда что он делает ?
egor_siv
штатными средствами никак - для применения нужна перегрузка профиля, но Volatile при этом зачистится, даже SETX на него не действует... разве только SetEnv поможет: http://oszone.net/3673
SetEnv -v CLIENTIP 10.10.10.1
egor_siv
25-10-2006, 09:42
для чего перегрузка профиля если это переменная действует только во время сессии
Volatile
Applies to current logon session and is not saved between logoffs and restarts
источник http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_kmmj.mspx?mfr=true
XPurple
как раз этот скрипт пишет переменную в реестр HKCU\VolatileEnvironment\CLIENTIP="10.10.10.1"
egor_siv
для чего перегрузка профиля
чтобы обновить окружение - если править реестр напрямую (скриптом не пробовал) в том числе и для ветки \Environment
egor_siv
как раз этот скрипт пишет переменную в реестр HKCU\VolatileEnvironment\CLIENTIP="10.10.10.1"
Чем докажете ?
1.Берем ваш текст
2.Cохраняем в файле script.vbs
3. Запускаем
4. Ничего не происходит ( в реестре должны появиться 2 записи - их нет)
egor_siv
25-10-2006, 11:49
как нет смотрите HKCU\VolatileEnvironment\
cscript script.vbs
не две а одна, почему две ?
Я исходил из того,что вы заведете переменную окружения через "Система->Дополнительно->Переменные среды".
Ну ошибся
Т.е. я исходил из такого скрипта
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.RegWrite "HKEY_CURRENT_USER\Environment\Clientip", "10.10.10.1"
две
Я имел ввиду ключ в HKEY_USERS.
у меня все работает на winxp SP2 Eng
а зачем IP-адрес прописывать в качестве переменной окружения, ведь его можно узнать другими способами. Например, через WMI
egor_siv
Кстати, после перезагрузки профиля все работает и в вашем скрипте и в моем.
Еще раз , извиняюсь.
По команде set clientip и там и там выдает 10.10.10.1.
Applies to current logon session and is not saved between logoffs and restarts
Загадка...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.