PowerShell AddCommand вызывается из исключения C#
Я пытаюсь создать консольное приложение C#, которое выполняет серию команд PowerShell, работающих с подпиской Azure.
var line1 = "$cred = Get-Credential"
var line2 = "Add-AzureAccount -Credential $cred"
var psi = PowerShell.Create()
psi.AddCommand(line1);
psi.AddCommand(line2);
var output = psi.Invoke();
Я думал, что это представит интерактивное окно входа в систему, а затем продолжит работу. Вместо этого это брошено:
Необработанное исключение типа "System.Management.Automation.CommandNotFoundException" возникло в System.Management.Automation.dll Дополнительная информация: термин "$cred = Get-Credential" не распознается как имя командлета, функции, файла сценария или операбл...
Если я запускаю PowerShell из CMD и набираю
$cred = Get-Credential
Мне предлагают интерактивный вход в систему по умолчанию, пользователь может вводить учетные данные, и они записываются в $ cred, и я могу двигаться дальше.
Каков правильный набор команд, чтобы заставить это работать в C#?
Благодарю.
1 ответ
Это не маленькая задача, но вы можете создать пользовательский интерфейс в powershell, используя Wpf. Запущен из. Консольное приложение NET позволяет создать пространство выполнения powershell, создать интерфейс входа в систему и перейти оттуда. Мы сделали это, но имели действительно конкретный сценарий использования - для большинства сценариев вы обычно не смешиваете их, как вы предлагаете. https://foxdeploy.com/2015/04/10/part-i-creating-powershell-guis-in-minutes-using-visual-studio-a-new-hope/