自升式批处理文件(非管理员用户)

时间:2015-01-15 02:50:01

标签: batch-file

我们的移动宽带调制解调器在丢弃后重新连接时出现问题。问题已经提升,但解决方案可能需要一段时间。我们发现的一个快速解决方法是禁用和重新启用设备,但是安全设置使我们的用户无法在网络连接中启用/禁用网络适配器。

我创建了一个批处理文件来处理禁用/启用,但希望它能为非管理员用户自行提升。即使我必须将本地管理员帐户硬编码到文件中并将其转换为可执行文件以隐藏代码。这就是我到目前为止所拥有的:

@echo off
echo Please wait while the Sprint modem is reset...
wmic path win32_networkadapter where name="Sierra Wireless Mobile Broadband Network Adapter" call disable
timeout /t 5 /nobreak
wmic path win32_networkadapter where name="Sierra Wireless Mobile Broadband Network Adapter" call enable

如果我选择Run As:Admin,这非常有效。我非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,并在Windows任务调度程序的帮助下解决了这个问题。

  1. 在调度程序中创建一个只运行bat文件的新任务。
  2. 选择一个管理员用户作为运行任务的帐户。
  3. 输入密码(这是一个很大的优势 - 您不需要将其作为纯文本存储在某些脚本中)
  4. 使用以下内容创建另一个bat文件:schtasks /Run /TN <taskname>
  5. 运行新的bat文件。
  6. 如果这不起作用,可能是因为用户没有权限运行任务。在这种情况下,您仍然必须将凭据存储为纯文本,但

    schtasks /Run /U <username> /P <password> /TN <taskname>

    会做到这一点。