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/

Другие вопросы по тегам