这是一个VisualSVN 创建用户的命令,使用PowerShell的操作是:
1.输入命令行 $password = Read-Host -AsSecureString
2.输入 密码
3.输入命令行 Set-SvnLocalUser -Name jack -Password $password
上面这段操作,用C#应该如何实现?
试试
using(PowerShell ps = PowerShell.Create())
{
// ...
}
参考:
我尝试过,最终在 ps.Invoke() 之后总是出现下面的错误:
提示用户的命令失败,因为主机程序或命令类型不支持用户交互。请尝试支持用户交互的主机程序(如 Windows PowerShell 控制台或 Windows PowerShell ISE),然后从不支持用户交互的命令类型中删除与提示有关的命令,如 Windows PowerShell 工作流。
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();
}
https://www.cnblogs.com/gaocong/p/6878470.html,
可以参考我写的博文
是用 C# 执行 PowerShell 命令吗?
– dudu 4年前@dudu: 是的
– 阿哈太阳 4年前