我有一個運行powershell腳本的應用程序,我需要保存PowerShell腳本返回的數據。保存動態創建的數據+ c#+ 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
}
}
目標是不硬編碼的任何東西,所以我需要動態創建一個表或東西,它可以容納我的返回memberinfo(可以是任何數量的屬性) ,然後我需要獲取所述memberinfo屬性的返回值和THEN以適當的格式將其保存到SQL表中。
我是否在PowerShell輸出中丟失了某些內容,或者是否有格式化輸出的框架,因此使用起來更方便?
如何保存除了項目數量和屬性名稱之外不知道任何內容的數據?
我正在考慮將數據保存到SQL表中,並從那裏將數據加載到某種視圖中。
我試圖找到一個解決方案,將適用於任何數量的屬性 任何幫助將不勝感激。
PSMemberInfo具有諸如Name,Value等屬性,您可以爲其創建表來存儲它們。因此,您可以將任意數量的屬性存儲爲名稱值對。那是你要的嗎? – Mitul
是的,但我不知道要使用哪些屬性。事情是 - 用戶將製作腳本 - 他們將在最後擁有「select-object -property」,但我需要創建它,以便用戶選擇屬性並將應用程序輸出到來自任何成員信息它可以找到。我只是不知道如何 – VisualBean
有沒有一種方法來遍歷PowerShell輸出?這不是一個在psobject中的foreach項目... .value - 以及如何將其鏈接到memberinfo – VisualBean