2

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

A. 使用用户运行命令提示符:

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


            @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>

C. 启动一个 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 命令在最近启动的提示符中执行?

4

1 回答 1

1

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

我建议您创建两个脚本:一个仅包含“runas”命令(例如“main.bat”),另一个包含您希望在该用户帐户下完成的所有操作(例如“sub.bat”)。然后在 main.bat 中做这样的事情:

runas /profile /savecred /user:xyzasa\asdasq "cmd /c sub.bat"
于 2013-02-27T14:06:53.437 回答