2012-03-30 3 views
0

동일한 변수 유형의 여러 인스턴스를 반환하는 명령을 각 변수에 저장하는 방법이 있습니까?동일한 유형의 여러 객체를 XML 파일에 추가

최상의 해결책은 아닌 것 같습니다. 내가하고있는 일은 컴퓨터에서 정보를 수집 한 다음 XML 파일에 저장하는 것입니다.

이 걸릴 :

gwmi -cn $compname Win32_UserAccount -filter 'LocalAccount=true' | foreach{$_.Name} 

을 내가 XML 파일에 배치 모든 결과를 원하는이 명령이 실행 된 후, 뭔가를 같이 :

$template = @" 
<computer version='1.0'> 
    <users> 
    <user>"HERE"</user> 
    <user></user> 
    </users 
</computer> 
"@ 

까다로운 점은 그 개체의 수 컴퓨터마다 다를 수 있지만이 스크립트가 찾은 각 개체에 대해 다른 "<user></user>"을 만들고 거기에 배치하려고합니다.

모든 도움을 주실 수 있습니다!

+0

이 읽기 ​​http://powershell.com/cs/blogs/tobias/archive/2009/02/02/xml-을 part-2-write-add-and-change-xml-data.aspx도 있습니다. 좋은 출발점입니다. –

답변

1

기본 제공 방법이 없으므로 직접 XML을 생성해야합니다. 즉, PowerShell에는 개체의 XML 기반 표현 인 Export-CliXmlConvertTo-Xml을 만드는 두 개의 cmdlet이 있습니다. 자세한 정보는 도움말을 확인하십시오.

1

당신은 유용하게 사용할 수있는 여기에 문자열 내부의 코드를 실행할 수 있습니다

PS> $template = @" 
<computer version='1.0'> 
    <users>$(gwmi -cn localhost Win32_UserAccount -filter 'LocalAccount=true' | foreach {"`n <user>$($_.Name)</user>"}) 
    </users> 
</computer> 
"@ 

PS> $template 

<computer version='1.0'> 
    <users> 
    <user>Administrator</user> 
    <user>Guest</user> 
    <user>R1039564</user> 
    <user>sysuser</user> 
    </users> 
</computer> 
관련 문제