我有一个调用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.
“