如何从c#控制台应用程序启用UI调用?使用PowerShell Get-Credential

时间:2018-06-14 20:24:39

标签: c# powershell user-interface console-application

我有一个调用PowerShell cmdlet的Windows控制台应用程序。我想在程序的前面有Get-Credential UI弹出窗口,但是我得到一个异常,说明调用的应用程序不支持这个。

我读了一下,好像我可能需要继承PSHostUserInterface。任何人都可以确认这一点并可能指向我的示例应用程序吗?

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

using (var ps = PowerShell.Create())
{
    ps.Runspace = runspace;
    ps.AddCommand("Get-Credential")
        .AddParameter("Credential", "UserName")
        .AddParameter("Message", "Prompt Message Here")
        .Invoke();

这会产生以下异常:

  

“无法处理参数 'Credential' 上的参数转换。由于主机程序或命令类型不支持用户交互,提示用户失败的命令。主机是尝试使用以下消息请求确认: Enter your credentials.

0 个答案:

没有答案