Eu automaticamente gero arquivos .js e .bat . A partir de .js , chame .bat para que .bat possa executar ações privilegiadas (como adicionar valores ao registro como no exemplo).
JS:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var curdir = fso.GetParentFolderName(WScript.ScriptFullName);
var objShell = new ActiveXObject("shell.application");
// http://msdn.microsoft.com/en-us/library/windows/desktop/gg537745.aspx
// Shell.ShellExecute method
// iRetVal = Shell.ShellExecute( sFile, [ vArguments ], [ vDirectory ], [ vOperation ], [ vShow ] )
objShell.ShellExecute("regimport.bat", curdir, "", "runas", 1);
BAT:
cd /d %1 reg import env_set.reg pause reg import env_del.reg pause
cd é essencial para a execução inicial do arquivo bat de % WINDIR% ...