gpt4 book ai didi

batch-file - 以管理员身份从另一个批处理文件运行一个批处理文件

转载 作者:行者123 更新时间:2023-12-02 02:13:10 28 4
gpt4 key购买 nike

我需要运行一个批处理文件 (setup.bat),它会调用另一个批处理文件 (make_dir.bat),后者会在“C:\Program Files”目录中创建一个文件夹。这适用于内部安装程序。所有用户都将使用他们的用户名登录,但将拥有本地管理员权限。我尝试了两种方法,但都没有用。

方法一:

SET PRGFILES=%programfiles%\mySoftware
SET admin=N
SET domain=%USERDOMAIN%\
IF /i "%domain%" EQU "%computername%\" set domain=
SET user=%domain%%username%
FOR /f "Tokens=*" %%a IN ('net localgroup administrators^|find /i "%user%"') DO SET admin=Y
IF "%admin%"=="Y" (
MD "%PRGFILES%"
)

这表示访问被拒绝

方法二:

runas /user:%Username% shell\make_dir.bat

make_dir.bat 在哪里

md "%programfiles%\mySoftware"

这会询问当前的用户名和密码,但之后不知何故失败了。我检查过所有用户都拥有本地管理员权限,并且可以在他们的 programfiles 文件夹中手动创建一个文件夹。

感谢您的帮助。

最佳答案

我使用这样的脚本以管理员身份使用 JScript 运行 .bat 文件:

var batch = "fixuac.bat"var fso = new ActiveXObject("Scripting.FileSystemObject");var curdir = fso.GetParentFolderName(WScript.ScriptFullName);var wbemFlagReturnImmediately = 0x10;var wbemFlagForwardOnly = 0x20;var objWMIService = GetObject("winmgmts:\\\\.\\root\\CIMV2");// var objWMIService = GetObject("winmgmts:" + "{impersonationLevel=impersonate}!\\" + "." + "\root\cimv2");var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL",                                      wbemFlagReturnImmediately | wbemFlagForwardOnly);var enumItems = new Enumerator(colItems);var objItem = enumItems.item();// http://en.wikipedia.org/wiki/Ver_(command)var major_ver = objItem.Version.split(".")[0];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 ] )// If (vShow==1) open the application with a normal window.// Check for Vista and upper.if (major_ver >= 6) {    // Request admin permission.    objShell.ShellExecute(batch, curdir, "", "runas", 1);} else {    objShell.ShellExecute(batch, curdir);}

关于batch-file - 以管理员身份从另一个批处理文件运行一个批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11839520/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com