我有一个运行 powershell 脚本的应用程序,我需要保存 powershell 脚本返回的数据。
可能传递给应用程序的脚本示例如下:
Get-NetAdapter | Select-Object -Property name, status
这是我用于运行脚本并保存结果的 C# 代码:
PowerShell powershell = PowerShell.Create();
powershell.Runspace = RunspaceFactory.CreateRunspace();
powershell.Runspace.Open();
powershell.AddScript(scriptText);
var results = powershell.Invoke();
然后我过滤返回集合的成员以找到我真正想要的那些
var firstobject = results[0].Members;
foreach(PSMemberInfo memberInfo in firstobject)
{
if (!listOfStrings.Contains(memberInfo.Name))
{
//Do something with this -- stuck
}
}
目标是不对任何东西进行硬编码,因此我需要动态创建一个表或其他东西,它可以保存我的返回成员信息(可以是任意数量的属性),然后我需要它来获取所述成员信息属性的返回值和然后以适当的格式将其保存到 SQL 表中。
我是否在 powershell 输出中遗漏了某些内容,或者是否有一个框架来格式化输出以便更容易使用?
我如何保存我不知道的数据,除了项目的数量和属性的名称?
我正在考虑将数据保存到 SQL 表中,然后从那里将其加载到某种视图中。
我正在尝试找到一种适用于任何数量的属性的解决方案,任何帮助将不胜感激。