我有机器A和机器B.我正在尝试从机器A运行可执行文件(Install.exe),在机器B上执行某些操作而无需登录到B而无需将exe文件复制到机器B.我使用下面的powershell脚本来做到这一点: -
$securePassword= ConvertTo-SecureString "mypassword" -AsPlainText -force
$cred = New-Object System.Management.Automation.PsCredential("Domain\username",$securePassword)
Invoke-Command -Authentication credssp -Credential $cred -ComputerName "MachineB" `
-ScriptBlock { & '\\MachineA\myFolder\Install.exe'}
exe运行没有任何问题,并在MachineB上生成一个文本文件。但是那个exe反过来调用了一个deploy.cmd文件,我没有看到deploy.cmd文件中指定的任何操作发生在机器B上。以下是调用的Install.exe(用C#编写)中的代码deploy.cmd文件。可以看出,我在机器A上指定了Install.exe和deploy.cmd文件所在的UNC路径。
StringBuilder myStr = new StringBuilder("deploy.cmd ");
ProcessStartInfo psf = new ProcessStartInfo("cmd.exe", "/k " + myStr.ToString());
psf.WorkingDirectory = @"\\MachineA\myFolder";
Process p = Process.Start(psf);
p.WaitForExit();
任何想法是什么问题?