gpt4 book ai didi

c# - 如何在 C# Windows 应用程序中使用 azure 命令调用 PowerShell 脚本

转载 作者:行者123 更新时间:2023-12-03 03:01:17 24 4
gpt4 key购买 nike

下面是我的事件,如果我传递简单的 powershell 脚本,它可以正常运行,但如果我传递包含任何 Azure 命令的脚本,输出将为空白。 (该 azure 命令脚本在 powershell 命令提示符下运行良好)

private void RunScript_Click(object sender, EventArgs e)
{
string result = "";

PSDataCollection<PSObject> myOutPut = new PSDataCollection<PSObject>();

try
{
InitialSessionState initial = InitialSessionState.CreateDefault();
initial.ImportPSModule(new string[] {
@"C:\Program Files\WindowsPowerShell\Modules\AzureRM\5.2.0\AzureRM.psd1",
});

using (Runspace objRunSpace = RunspaceFactory.CreateRunspace(initial))
{
objRunSpace.Open();

using (PowerShell objPowerShell = PowerShell.Create())
{

objPowerShell.Runspace = objRunSpace;

string Script = textBoxURL.Text;

objPowerShell.AddScript(Script);

objPowerShell.AddCommand("Out-String");

IAsyncResult IvokeResult = objPowerShell.BeginInvoke<PSObject, PSObject>(null, myOutPut);

while (IvokeResult.IsCompleted == false)
{
System.Threading.Thread.Sleep(100);
}

foreach (PSObject outitem in myOutPut)
{
result += outitem.ToString();
}
}
}

textBoxOutPut.Text = result;
}
catch (Exception ex)
{
}
}

最佳答案

根据我的测试,您提到的代码没有问题。如果输入错误的命令,我会得到空输出。所以请确保您的命令是正确的。

另一个重要的事情是确保它有输出的命令。我测试了 azure 命令 Add-AzureRmAccount .

enter image description here

关于c# - 如何在 C# Windows 应用程序中使用 azure 命令调用 PowerShell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48752516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com