在Windows CMD文件中提示管理员权限的示例

3

我正在编写一个命令文件(.cmd),用于将用户添加到本地组。如果调用失败,我希望CMD文件提示管理员访问权限。

我想像它会是这样的:

@echo off
net localgroup administrators domain\user /add

rem The Net command doesn't prompt for privilege escalation, it just fails.
if "%errorlevel%" neq "0" RequireAdministrator "cmd.exe /c net localgroup administrators domain\user /add"

if "%errorlevel%" neq "0" echo Could not add user to administrators group

这有意义吗?


为什么不直接运行命令"net localgroup...",查看是否成功并在失败时进行提示? - arx
问题在于 net.exe 不会提示您如果您没有访问权限。具体来说,我需要一种提升权限的方法。我会进行编辑以确保清晰明了。 - amber
1个回答

6

微软发布了一个著名的脚本,名为elevate。它以Elevation PowerToys的形式出现。您可以从此处下载。

您需要的两个文件是elevate.vbselevate.cmd。将它们放在与您的 .cmd 文件相同的目录中,或者放在系统路径的某个位置。然后您的 .cmd 文件应该只包含以下内容:

elevate cmd.exe /c net localgroup administrators domain\user /add

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接