0

私は2台の物理マシンを持っています。最初のマシンは、2番目のマシンでbatファイルを実行したいと考えています。2番目のサーバーに共有の場所を作成し、最初のマシンから実行しようとしましたが、機能しません。batファイルはローカルマシンで適切に実行できます。

これは、batファイル内のコードの例です。ファイルを作成するのは単なるコウモリです。

echo. 2>EmptyFile.txt

これは私がbatファイルを実行するために使用するコードです。

private static void ExecuteBatFile()
{
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    System.Security.SecureString ssPassword = new System.Security.SecureString();

    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.FileName = @"\\my_remote_server\my_bat.bat";
    proc.StartInfo.Domain = "my_domain";
    proc.StartInfo.UserName = "my_username";

    Console.Write("Enter your password: ");
    string password = Console.ReadLine();

    for (int x = 0; x < password.Length; x++)
    {
        ssPassword.AppendChar(password[x]);
    }

    proc.StartInfo.Password = ssPassword;
    proc.Start();
}

リモートサーバーでbatファイルを実行する方法を知りたいですか?

4

3 に答える 3

3

PsExecを使用して、リモートマシンでコマンドを実行できます。私はそれを使用してバッチファイルを実行し、それらにパラメータを渡します。

于 2012-10-01T06:42:26.990 に答える
2
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "psexec \\my_remote_server -u my_username -p " & password & " my_bat.bat"

または、ドメインを指定する必要がある場合:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "psexec \\my_remote_server -u my_domain\my_username -p " & password & " my_bat.bat"

psexecリモートコンピュータでプログラムを実行する方法を私が知っている唯一の方法です。

于 2012-10-02T05:04:55.357 に答える
1

これは、コマンドプロンプトまたはbatファイルから簡単に実行できます。

wmic /node:MachineName> process call create "cmd.exe c:\Test\Test.bat"

ヘルプタイプの場合:

wmic /?
于 2015-10-21T13:35:13.707 に答える