我已经用另一种方式解决了它,使用 2 个批处理文件所以我给你我的代码:
这个在 c: 中创建一个文件夹,而不是创建一个文本文件,它复制其中当前用户的名称,而不是同一文件夹中的另一个批处理文件,最后以本地管理员身份运行它。如果你写的密码正确(你写的时候密码不会显示为“*”):
mkdir c:\tempfiles$
break>c:\tempfiles$\temp.txt
echo %username% >> "c:\tempfiles$\temp.txt"
copy "%~dp0\admin.bat" "c:\tempfiles$"
runas /noprofile /env /user:%computername%\<LOCAL ADMIN USER> "C:\tempfiles$\admin.bat"
pause
rmdir /s /q "c:\tempfiles$"
admin.bat 使用文本文件中写入的用户名(如果不是,它将使用 %username% 作为本地管理员用户名来添加它,因为我们以本地管理员身份运行它)批处理文件只是必需的,因此您可以从任何地方运行它。例如,如果您将它放在服务器的映射驱动器上,它将无法工作。
set /p u=<c:\tempfiles$\temp.txt
net localgroup Administrators /add <DOMAIN NAME>\%u%
我已经在多台计算机上尝试过,在大多数计算机上,它都可以运行。在某些计算机上它没有,可能是因为我公司的当地政策。我还没有弄清楚。
如有任何问题或建议,请自信地写下您的意见。