创建批处理文件以管理员身份运行cmd,然后运行两条命令

问题描述:

我的公司需要更改一堆计算机上的Windows密钥,并且希望在脚本中包含所有步骤。创建批处理文件以管理员身份运行cmd,然后运行两条命令

要在用户仍然登录时更改密钥(他们没有管理员权限),我需要以管理员身份运行cmd,然后在该命令提示符下运行两个命令来更改密钥。

所以基本上这样的:

  1. 运行CMD为管理-u管理员-p passwordhere
  2. 在这种CMD线,运行slmgr.vbs -ipk 00000-00000-00000-00000-00000 //新重点放在这里
  3. 在这种CMD线,运行slmgr.vbs -ato //一旦新密钥被输入

非常感谢,这是开启的窗户。

+0

如果这就是你要求的,你不能绕过UAC提示。 – 2014-09-04 19:58:29

要启动CMD作为管理员,您可以尝试 “RUNAS” http://technet.microsoft.com/en-us/library/bb490994.aspx

+0

以不同的用户身份运行与以管理员身份运行(高程)不同。 – 2014-09-04 19:57:49

应该可以使用PowerShell来做到这一点。 Here

从批处理运行PowerShell来设置执行策略无限制

PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList 'Set-ExecutionPolicy Restricted -Force' -Verb RunAs}" 

你真的有几个问题。你如何获得脚本在每台机器上运行 - 你是否运行登录脚本?好的,但登录脚本不能以管理员权限运行。所以你真的需要解决两个问题,我如何让脚本自动运行,以及如何在没有UAC提示的情况下以管理员身份运行脚本。

您也可以使用Windows的远程注册表功能简单地更新每台计算机,但这仍然是碰撞和错过,并不是所有计算机在您运行此类脚本时都必须可用。

你真正应该考虑的是使用组策略来设置你需要的regsitry条目。整个互联网上都有关于组策略编辑的文章。但是this article is specially about registry maintenance.