Чтение и запись переменных окружения в скриптах JScript
Рассмотрим два способа чтения и записи переменных окружения на JScript. Первый метод основан на применении WMI, второй на использовании объекта WScript.Shell.
С помощью интерфейса WMI можно манипулировать большим количеством настроек операционной системы (если не всеми). Воспользуемся объектом Win32_Environment для создания переменной окружения и дальнейшего чтения. Скрипт можно использовать в шаблонах плагина Potolook без изменений.
var strComputer = "."
var objWMIService = GetObject("winmgmts:\\\\" + strComputer + "\\root\\cimv2")var VarName = "TestValue"
// Установка переменной окружения
var objVariable = objWMIService.Get("Win32_Environment").SpawnInstance_()
objVariable.Name = VarName
objVariable.UserName = "System"
objVariable.VariableValue = "This is a test"
objVariable.Put_()
// Чтение переменной
var colItems =
objWMIService.ExecQuery("Select * from Win32_Environment Where Name = '"+VarName+"'");
// objWMIService.ExecQuery("Select * from Win32_Environment"); // Чтение всех перменных
var Result = '';
var enumItems = new Enumerator(colItems);
for (; !enumItems.atEnd(); enumItems.moveNext()) {
var objItem = enumItems.item();
Result += "\n\nName: " + objItem.Name
Result += "\nUser Name: " + objItem.UserName
Result += "\nVariable Value: " + objItem.VariableValue
}
echo(Result)
Первая часть скрипта устанавливает переменную окружения TestValue для пользователя System. Далее делается запрос значения установленной переменной и полученные данные выводятся на экран. Подобным образом можно получать любую переменную окружения, в том числе и список всех переменных.
Второй способ обращения к переменным окружения состоит в использовании объекта WScript.Shell. Следующий скрипт делает то же самое, что и предыдущий:
var objShell = glob("WScript.Shell"); // WScript.CreateObject("WScript.Shell")
var colUsrEnvVars = objShell.Environment("SYSTEM")var VarName = "TestValue"
colUsrEnvVars(VarName) = "This is a test 2"
echo(colUsrEnvVars(VarName))
Более подробно можно почитать здесь Environment Variables.


