16

我在使用基本的 powershell 命令时遇到了一些麻烦。

如果我运行 get-website(在启用 webadministration snappin 之后)并运行“%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ImportSystemModules”,我会在我的 IIS 上看到 10 个左右网站的列表Server 2008 Standard(SP2,不是 R2)上的 7.0 服务器。通过列出这些项目,它可以按预期工作:

  • 姓名
  • ID
  • 状态
  • 物理路径
  • 绑定

但是当我这样做时:

获取网站 | 导出-csv C:\my_list.csv

我得到了更多带有“Microsoft.IIs.PowerShell.Framework.ConfigurationElement”的项目,而不是实际值。

当它导出到 CSV 时,它还会在之前没有绑定时显示“Microsoft.IIs.PowerShell.Framework.ConfigurationElement”(当输出在 shell 中时)。

差不多到一半了...

有没有办法可以修改单线,这样我就可以在没有“Microsoft.IIs.PowerShell.Framework.ConfigurationElement”的情况下获得包含所有详细信息的网站列表?

4

1 回答 1

29

尝试

get-website | select name,id,state, physicalpath,
@{n="Bindings"; e= { ($_.bindings | select -expa collection) -join ';' }} |
Export-Csv -NoTypeInformation -Path C:\my_list.csv

- 评论后编辑:

get-website | select name,id,state,physicalpath, 
@{n="Bindings"; e= { ($_.bindings | select -expa collection) -join ';' }} ,
@{n="LogFile";e={ $_.logfile | select -expa directory}}, 
@{n="attributes"; e={($_.attributes | % { $_.name + "=" + $_.value }) -join ';' }} |
Export-Csv -NoTypeInformation -Path C:\my_list.csv
于 2012-10-29T18:14:22.287 回答