我在使用基本的PowerShell命令时遇到了一些麻烦。
如果我运行get-website(在启用webadministration snappin之后)并运行“%SystemRoot%\ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe -NoExit -ImportSystemModules”,我会看到10个左右的网站列表在Server 2008 Standard上的IIS 7.0服务器上(SP2,而不是R2)。它通过列出这些项目按预期工作:
但是当我这样做时:
get-website | export-csv C:\ my_list.csv
我使用“Microsoft.IIs.PowerShell.Framework.ConfigurationElement”而不是实际值获得更多项目。
当它导出为CSV时,如果没有事先(当输出在shell中时),它也会为绑定说“Microsoft.IIs.PowerShell.Framework.ConfigurationElement”。
那里有点......
有没有办法可以修改单行,所以我可以在没有“Microsoft.IIs.PowerShell.Framework.ConfigurationElement”的情况下获得所有详细信息的网站列表?
答案 0 :(得分:24)
试
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