【发布时间】:2012-08-09 08:13:10
【问题描述】:
短:
Get-ChildItem IIS:\Sites
Get-ChildItem IIS:\Sites | Get-CliXml sites.xml
以字符串形式返回一个事物,以 xml 形式返回另一个事物。为什么?
更长:
当我跑步时
Get-ChildItem IIS:\Sites
我得到了一些东西
Name ID State Phys...
Default Web Site 1 Started C:\i...
MyTestSite 2 Started C:\i...
但是当我像这样将它通过管道传输到 Export-CliXml 时:
Get-ChildItem IIS:\Sites | Get-CliXml sites.xml
我对其中的“默认网站”或“MyTestSite”一无所获。 => 字符串和 xml 没有任何共同点。
当我对 Get-Process 做同样的事情时
Get-Process | Export-CliXml processes.xml
我可以在输出文件中找到我的进程。 => 字符串中的内容可以在 xml 中找到。
为什么 Get-Process 的输出与 text 和 xml 差不多
而 Get-ChildItems IIS:\Sites 一个文本和其他内容为 xml?
我误会了什么?
我想一个问题可能是我从 Get-ChildItem iis:\sites 中得到一个异常,但仍然生成输出。 xml 输出看起来也不错。
更新:
当我这样做时
Get-ChildItem IIS:\Sites | select Name,ID,State,PhysicalPath | Get-CliXml sites.xml
我得到了我正在寻找的值。
当我添加绑定时
Get-ChildItem IIS:\Sites | select Name,ID,State,PhysicalPath,Bindings | Get-CliXml sites.xml
只有 2 个站点被迭代,我收到一条错误消息。 xml无论如何都很好。 (我相信代码中有一些构造良好的 try-catch)
【问题讨论】:
标签: iis powershell get-childitem