我可以从批处理文件中获取用户的 UAC 提示吗?

我可以从批处理文件中获取用户的 UAC 提示吗?

我可以从批处理文件中获取用户的 UAC 提示吗?

例如我需要将一些键放入注册表中当前控制集来自批处理文件

  reg 导入路径\to\my.reg

附言鲁纳斯不是一个解决方案,因为我的客户使用不同的 Windows 本地化,我无法猜测管理员帐户使用哪个名称(这可以是管理员)...

并且脚本不知道管理员密码。

并且 UAC 对话框不需要输入密码......

答案1

我真的 Anders 的解决方案

@if (1==1) @if(1==0) @ELSE
@echo off&SETLOCAL ENABLEEXTENSIONS
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"||(
    cscript //E:JScript //nologo "%~f0"
    @goto :EOF
)
reg import path\to\my.reg
@goto :EOF
@end @ELSE
ShA=new ActiveXObject("Shell.Application")
ShA.ShellExecute("cmd.exe","/c \""+WScript.ScriptFullName+"\"","","runas",5);
@end

应该完美运行

答案2

创建 reg.exe 的快捷方式,为其提供所需的参数并设置“以管理员身份运行”标志,然后从批处理文件启动快捷方式。

答案3

我自动生成.js。蝙蝠文件。来自.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 方法
// iRetVal = Shell.ShellExecute( sFile, [ vArguments ], [ vDirectory ], [ vOperation ], [ vShow ] )
objShell.ShellExecute("regimport.bat", curdir, "", "runas", 1);

蝙蝠:

光盘/ d%1

reg 导入 env_set.reg
暂停
reg 导入 env_del.reg
暂停

光盘是至关重要的,因为 bat 文件从开始执行%WINDIR%...

相关内容