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 インスタンスから実質的な方法で対話することはできません。

2 つのスクリプトを作成することをお勧めします。1 つは「runas」コマンドのみを含み (たとえば、「main.bat」)、もう 1 つはそのユーザー アカウントで実行する必要があるすべてを含む (たとえば、「sub.bat」)。次に、main.bat で次のようにします。

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