【发布时间】:2011-08-06 04:26:13
【问题描述】:
我没有经常使用 XML,所以这对大多数人来说可能是一个基本问题......
我想从 Get-ChildItem 收集信息,结合 Get-Acl,并将其存储在 XML 文件中,以便以后在 PowerShell 中使用。
问题:为了让我使用 Get-Acl,我必须在管道中使用 foreach 循环,这反过来又将对象类型更改为 system.string。因此,当我将其导出到 XML 时,它几乎只是一个平面文件,而不是表结构。
如何恢复表结构?
如果我只是执行此命令,我可以获得表结构:
Get-ChildItem . -Recurse |
Select FullName, PSIsContainer, CreationTimeUTC, LastAccessTimeUtc, Length |
Export-Clixml .\STIGTest\Baseline_1.xml
当我执行我需要的这个命令时,我得到了平面文件:
Get-ChildItem . -Recurse |
foreach-object {$AclOwner = (get-acl $_.pspath).owner; $_.Fullname, $_.PSIsContainer, $_.CreationTimeUtc, $_.LastAccessUtc, $_.Length, $AclOwner} |
Export-Clixml .\STIGTest\Baseline_2.xml
我已经看到在哪里可以将系统对象转换为字符串,但似乎找不到我可以在哪里做相反的事情。我猜如果它们作为系统对象保留 XML 文件将保持表结构?
【问题讨论】:
标签: xml powershell