Я пытаюсь использовать скрипт вроде этого:
$Server="remotepc"
$User="user"
$Password="password"
cmdkey /generic:$Server /user:$User /pass:$Password
mstsc /v:$Server /console
, который отлично работает при запуске в powershell.
Я пытаюсь получить это, используя runspace и pipe в c #.
Итак, этот код работает:
string server = "server";
string mstscScript = "mstsc /v:"+server;
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(mstscScript);
pipeline.Invoke();
runspace.Close();
Однако, если я добавлю скрипт с именем пользователя и паролем, он перестанет работать и зависнет.
Так что этот код не работаетработа.
string username = "user";
string password = "password";
string server = "server";
string cmdScript="cmd/genaric:"+server+" /user:$" + username" +
/pass:$" + password;
string mstscScript = "mstsc /v:" + server;
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(cmdScript);
pipeline.Commands.AddScript(mstscScript);
pipeline.Invoke();
runspace.Close();