Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在远程服务器上执行bat文件?_C#_Batch File - Fatal编程技术网

C# 如何在远程服务器上执行bat文件?

C# 如何在远程服务器上执行bat文件?,c#,batch-file,C#,Batch File,我有两台物理机器。第一台机器希望在第二台机器上执行bat文件。我在第二台服务器上创建了一个共享位置,并试图从第一台计算机上运行它,但它不起作用。bat文件可以在本地计算机上正常运行 这是bat文件中的代码示例。它只是一个创建文件的bat echo. 2>EmptyFile.txt 这是我用来执行bat文件的代码 private static void ExecuteBatFile() { System.Diagnostics.Process proc = new System.D

我有两台物理机器。第一台机器希望在第二台机器上执行bat文件。我在第二台服务器上创建了一个共享位置,并试图从第一台计算机上运行它,但它不起作用。bat文件可以在本地计算机上正常运行

这是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();
}
private static void ExecuteBatFile()
{
System.Diagnostics.Process proc=新的System.Diagnostics.Process();
System.Security.SecureString ssPassword=新的System.Security.SecureString();
proc.StartInfo.UseShellExecute=false;
proc.StartInfo.FileName=@“\\my\u remote\u server\my\u bat.bat”;
proc.StartInfo.Domain=“我的域”;
proc.StartInfo.UserName=“我的用户名”;
控制台。写入(“输入密码:”);
字符串密码=Console.ReadLine();
for(int x=0;x

我想知道如何在远程服务器上运行bat文件?

您可以使用在远程计算机上执行命令。我使用它来执行批处理文件并将参数传递给它们。

您可以使用在远程计算机上执行命令。我使用它来执行批处理文件并将参数传递给它们

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
是我知道如何在远程计算机上执行程序的唯一方法

或者,如果需要指定域,请执行以下操作:

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

psexec
是我知道如何在远程计算机上执行程序的唯一方法。

这可以通过命令提示符或bat文件轻松完成

wmic /node:MachineName> process call create "cmd.exe c:\Test\Test.bat"
有关帮助类型:

wmic /?

这可以通过命令提示符或bat文件轻松完成

wmic /node:MachineName> process call create "cmd.exe c:\Test\Test.bat"
有关帮助类型:

wmic /?

我们需要在哪里安装psexec?在物理上存在文件的服务器上,或者在我们运行代码以发送命令的服务器上?我们需要在哪里安装psexec?在物理上存在文件的服务器上,或者在我们运行代码以发送命令的服务器上?我们需要在哪里安装psexec?在物理上存在文件的服务器上,或在我们运行代码以发送命令的服务器上?“只需将PsExec复制到可执行路径。”->在哪里运行代码我们需要在哪里安装PsExec?在物理上存在文件的服务器上,或在我们运行代码以发送命令的服务器上?“只需将PsExec复制到可执行路径上。”->在其中运行代码