有没有办法让返回同一类型对象的多个实例的命令存储在各自的变量中?
这可能不是最好的解决方案。我要做的是从计算机收集信息,然后将其保存到一个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>",然后将它放在那里。
我们将非常感谢您的帮助!
发布于 2012-03-30 18:12:48
没有内置的方法可以做到这一点,您必须自己生成XML。也就是说,PowerShell中有两个cmdlet,它们创建对象的基于XML的表示:Export-CliXml和ConvertTo-Xml。有关详细信息,请查看帮助。
发布于 2012-03-31 08:16:23
您可以在here字符串中执行代码,这会很方便:
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> https://stackoverflow.com/questions/9940802
复制相似问题