C#调用PowerShell的问题

这是一个VisualSVN 创建用户的命令,使用PowerShell的操作是:
1.输入命令行 $password = Read-Host -AsSecureString
2.输入 密码
3.输入命令行 Set-SvnLocalUser -Name jack -Password $password

上面这段操作,用C#应该如何实现?

using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();

PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;

var r1 = ps.AddScript("$password = Read-Host -AsSecureString").AddArgument( "123qwe");
ps.Invoke();
//打印错误信息
PrintResult(r1.Streams);

var r2 = ps.AddScript("New-SvnLocalUser -Name jack1 -Password $password");
PrintResult(r2.Streams);

Console.ReadLine();
}
最终在 ps.Invoke() 之后总是出现下面的错误:
提示用户的命令失败,因为主机程序或命令类型不支持用户交互。请尝试支持用户交互的主机程序(如 Windows PowerShell 控制台或 Windows PowerShell ISE),然后从不支持用户交互的命令类型中删除与提示有关的命令,如 Windows PowerShell 工作流。

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏