我必须创建一个脚本,在启动程序之前更新系统环境变量(基于命令行参数)。
在Windows 7中,拒绝更新系统环境变量。我想只为env的设置执行权限提升。变种。但是以普通用户身份运行该程序。
怎么做?
注意: 我尝试过以下解决方案:
使用2个脚本:
我尝试了2个特权提升解决方案:
答案 0 :(得分:1)
我找到了一种至少在Windows 7上运行的方式(不知道它是否适用于我们仍然拥有的少数Windows XP帽子。)
我在主脚本中执行了以下操作:
currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
Set UAC = WScript.CreateObject("Shell.Application")
UAC.ShellExecute "wscript.exe", currentDirectory + "my-script.vbs /Param1:Value1 ...", "", "runas", 0
我的脚本正在进行sys var env update。
注意:我对ShellExecute的体验失败了,因为我试图执行脚本。而不是" wscript.exe"我有" my-script.vbs"对于可执行文件名。
答案 1 :(得分:0)
恕我直言,禁用UAC,这只是 * 的痛苦 但如果你不能(像我8一样),你可以使用
psexec.exe -d -u userid -p password CMD /c program_with_path
您(或运行sript的用户)必须确认提示。