批处理文件:使用批处理文件作为其他用户启动的cmd.exe中的run命令

时间:2013-02-21 09:45:06

标签: batch-file registry runas

嗨伙计我是批处理文件的新手,我正面临挑战。我必须自动使用批处理文件执行以下步骤。步骤1和3我能够弄清楚,但是对于第2步,我需要你的帮助:

一个。使用用户运行命令提示符:

评论:我已经想到了,我可以使用:


            @Echo Off               
            runas /profile /savecred /user:xyzasa\asdasq "cmd"

B中。使用在上一步中打开的命令提示符进行一些注册表更改

评论:我知道这可以使用reg add命令完成,但是当我将这个命令放在批处理文件中时,它没有被执行。以下是我的批处理文件的当前形状:

            @echo off
            runas /profile /savecred /user:xyzasa\asdasq "cmd"
            reg add <Machine Name><Registry path and the changes to be made>

℃。启动rdp文件

评论:我也可以通过简单地提及rdp文件的名称作为最后一步。

            @echo off
            runas /profile /savecred /user:xyzasa\asdasq "cmd"
            reg add <Machine Name><Registry path and the changes to be made>
            asd.rdp

问题:如何确保在上一步结果启动cmd之后,reg add命令在最近启动的提示中执行?

1 个答案:

答案 0 :(得分:1)

您拥有它的方式,runas命令将启动以该用户身份运行的单独的 cmd.exe实例,您无法以任何实际方式与原始cmd.exe实例进行交互

我建议你创建两个脚本:一个只包含“runas”命令(比如“main.bat”),另一个包含你想在该用户帐户下完成的所有内容(比如“sub.bat”) 。然后在main.bat中执行类似的操作:

runas /profile /savecred /user:xyzasa\asdasq "cmd /c sub.bat"