Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   пишу переменную окружения тип Volatile wscript скриптом но не могу ее использовать .? (http://forum.oszone.net/showthread.php?t=73407)

egor_siv 24-10-2006 05:20 501852

пишу переменную окружения тип Volatile wscript скриптом но не могу ее использовать .?
 
она есть в реестре 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"

XPurple 24-10-2006 13:49 502037

Imho для начала было бы неплохо записать ее как переменную окружения и посмотреть - какой записи в реестре это соответствует.
А скрипт вообще непонятно что делает: ключ в реестре не прописывает, тогда что он делает ?

amel27 24-10-2006 14:32 502065

egor_siv
штатными средствами никак - для применения нужна перегрузка профиля, но Volatile при этом зачистится, даже SETX на него не действует... разве только SetEnv поможет: http://oszone.net/3673
Код:

SetEnv -v CLIENTIP 10.10.10.1

egor_siv 25-10-2006 09:42 502396

для чего перегрузка профиля если это переменная действует только во время сессии
Volatile
Applies to current logon session and is not saved between logoffs and restarts
источник http://www.microsoft.com/technet/scr....mspx?mfr=true

XPurple
как раз этот скрипт пишет переменную в реестр HKCU\VolatileEnvironment\CLIENTIP="10.10.10.1"

amel27 25-10-2006 10:03 502410

egor_siv
Цитата:

для чего перегрузка профиля
чтобы обновить окружение - если править реестр напрямую (скриптом не пробовал) в том числе и для ветки \Environment

XPurple 25-10-2006 11:29 502447

egor_siv
Цитата:

как раз этот скрипт пишет переменную в реестр HKCU\VolatileEnvironment\CLIENTIP="10.10.10.1"
Чем докажете ?

1.Берем ваш текст
2.Cохраняем в файле script.vbs
3. Запускаем
4. Ничего не происходит ( в реестре должны появиться 2 записи - их нет)

egor_siv 25-10-2006 11:49 502453

как нет смотрите HKCU\VolatileEnvironment\
cscript script.vbs
не две а одна, почему две ?

XPurple 25-10-2006 13:12 502492

Я исходил из того,что вы заведете переменную окружения через "Система->Дополнительно->Переменные среды".
Ну ошибся
Т.е. я исходил из такого скрипта
Код:

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.RegWrite "HKEY_CURRENT_USER\Environment\Clientip", "10.10.10.1"

Цитата:

две
Я имел ввиду ключ в HKEY_USERS.

Micrus 25-10-2006 13:17 502495

у меня все работает на winxp SP2 Eng

а зачем IP-адрес прописывать в качестве переменной окружения, ведь его можно узнать другими способами. Например, через WMI

XPurple 25-10-2006 13:32 502504

egor_siv
Кстати, после перезагрузки профиля все работает и в вашем скрипте и в моем.
Еще раз , извиняюсь.
По команде set clientip и там и там выдает 10.10.10.1.

Цитата:

Applies to current logon session and is not saved between logoffs and restarts
Загадка...


Время: 04:02.

Время: 04:02.
© OSzone.net 2001-