powershell 스크립트를 실행하는 응용 프로그램이 있으며 powershell 스크립트가 반환하는 데이터를 저장해야합니다.동적으로 생성 된 데이터 저장 + C# + powershell
응용 프로그램에 전달 될 수있는 스크립트의 예는 다음과 같습니다
PowerShell powershell = PowerShell.Create();
powershell.Runspace = RunspaceFactory.CreateRunspace();
powershell.Runspace.Open();
powershell.AddScript(scriptText);
var results = powershell.Invoke();
나는 다음을 필터링 : 여기
Get-NetAdapter | Select-Object -Property name, status
결과를 스크립트를 실행 및 저장에 대한 내 C# 코드입니다 반환 된 컬렉션의 멤버가 내가 찾는 사람을 찾으려면
var firstobject = results[0].Members;
foreach(PSMemberInfo memberInfo in firstobject)
{
if (!listOfStrings.Contains(memberInfo.Name))
{
//Do something with this -- stuck
}
}
목표가 아무 것도 하드 코딩하지 않는 것입니다, 그래서 동적으로 테이블이나 뭔가를 만들 필요가 내 반환 memberinfo (어떤 수의 속성이 될 수 있습니다) 그리고 나는 그 memberinfo 속성의 반환 값을 얻으려면 그 다음 필요합니다 SQL 테이블에 적절한 형식으로 저장하십시오.
PowerShell 출력물에 뭔가 빠졌는가, 아니면 출력 형식을 지정하는 프레임 워크가있어서 사용하기가 더 쉽습니까?
항목 및 속성 이름 이외의 다른 데이터는 어떻게 저장합니까?
나는 SQL 테이블에 데이터를 저장하고 거기에서 어떤 종류의보기로로드 생각하고 있어요.
모든 속성에 대해 작동하는 솔루션을 찾으려고합니다. 모든 도움을 주시면 대단히 감사하겠습니다.
PSMemberInfo에는 이름, 값 등의 속성이있어이를 저장할 테이블을 만들 수 있습니다. 따라서 여러 개의 속성을 이름 값 쌍으로 저장할 수 있습니다. 너가 원하는게 그거야? – Mitul
네,하지만 어떤 속성을 사용해야할지 모르겠습니다. 것은 - 사용자가 스크립트를 만들 것입니다 - 결국에는 모두 "select-object-property"를 갖지만 사용자가 속성과 응용 프로그램을 선택하도록 만들 필요가 있습니다. 따라서 어떤 memberinfo 찾을 수 있습니다. 난 그냥 어떻게 모르겠어요 – VisualBean
거기 powershell 출력을 통해 반복하는 방법이 있습니까? 그것은 psobject의 foreach 항목이 아닙니다 ... .value - 어떻게 그것을 memberinfo에 연결합니까 – VisualBean