Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
384 views
in Technique[技术] by (71.8m points)

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 工作流。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...