批处理脚本-以管理员身份运行更改%用户名%参数

批处理脚本-以管理员身份运行更改%用户名%参数

我编写了一个批处理脚本,其中包含各种 %username% 字段。它需要管理员权限才能运行某些命令,但是当我执行此操作时,所有需要管理员运行的 %username% 字段都会更改为管理员的用户名,而不是登录的用户。有什么办法可以更改此设置,使这些字段不发生更改吗?

答案1

您可以将%username%参数传递给批处理脚本,并在批处理脚本中使用该参数,而不是%username%

假设你的脚本看起来像这样:

echo %username%
echo my name is %username%
pause

你可以把它改成这样:

set SomeVar=%1
echo %SomeVar%
echo my name is %SomeVar%
pause

这将使用传递给脚本的%SomeVar%第一个参数( )来设置变量。%1

将脚本保存在某处,然后创建非管理员用户桌面的快捷方式。

然后执行以下操作(参见下面的屏幕截图,抱歉,语言为德语)

  1. 打开快捷方式属性
  2. 添加%username%到目标(这是参数%1
  3. 点击advanced
  4. 查看run as admin
  5. ok

当您现在双击快捷方式并且用户不是管理员时,它将要求输入凭据并使用您的参数运行脚本

在此处输入图片描述

相关内容