首页 新闻 搜索 专区 学院

C#调用PowerShell的问题

0
悬赏园豆:15 [待解决问题]

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

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

阿哈太阳的主页 阿哈太阳 | 初学一级 | 园豆:2
提问于:2020-10-14 14:57

是用 C# 执行 PowerShell 命令吗?

dudu 1个月前

@dudu: 是的

阿哈太阳 1个月前
< >
分享
所有回答(2)
0

试试

using(PowerShell ps = PowerShell.Create())
{
    // ...
}

参考:

dudu | 园豆:38821 (高人七级) | 2020-10-14 15:32

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

支持(0) 反对(0) 阿哈太阳 | 园豆:2 (初学一级) | 2020-10-14 15:35

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();
        }
支持(0) 反对(0) 阿哈太阳 | 园豆:2 (初学一级) | 2020-10-14 15:36
0

https://www.cnblogs.com/gaocong/p/6878470.html,

 

可以参考我写的博文

小小高 | 园豆:815 (小虾三级) | 2020-10-19 16:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册