从C#调用PowerShell Pretty控制台输出,可以使用以下方法:
PowerShell SDK是一个用于执行PowerShell脚本的.NET库。可以使用NuGet包管理器安装PowerShell SDK:
Install-Package Microsoft.PowerShell.SDK
使用PowerShell SDK,可以在C#中执行PowerShell脚本并获取输出:
using System;
using System.Management.Automation;
namespace PowerShellDemo
{
class Program
{
static void Main(string[] args)
{
using (PowerShell powerShell = PowerShell.Create())
{
powerShell.AddScript("Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5");
Collection<PSObject> results = powerShell.Invoke();
foreach (PSObject result in results)
{
Console.WriteLine("Process Name: {0}", result.Properties["ProcessName"].Value);
Console.WriteLine("CPU: {0}", result.Properties["CPU"].Value);
Console.WriteLine();
}
}
}
}
}
可以使用C#的Process类执行PowerShell命令并获取输出:
using System;
using System.Diagnostics;
namespace PowerShellDemo
{
class Program
{
static void Main(string[] args)
{
ProcessStartInfo startInfo = new ProcessStartInfo("powershell.exe")
{
RedirectStandardInput = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
Process process = new Process { StartInfo = startInfo };
process.Start();
process.StandardInput.WriteLine("Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5");
process.StandardInput.Close();
string output = process.StandardOutput.ReadToEnd();
Console.WriteLine(output);
process.WaitForExit();
}
}
}
这两种方法都可以在C#中执行PowerShell命令并获取输出。在选择方法时,可以根据具体需求和场景进行选择。
领取专属 10元无门槛券
手把手带您无忧上云