web-dev-qa-db-ja.com

get-websiteを使用するWebサイトのPowershellリスト?

基本的なpowershellコマンドで問題が発生しています。

(webadministrationスナップピンを有効にした後で)get-websiteを実行し、 "%SystemRoot%\ system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ImportSystemModules"を実行すると、my =に10個ほどのWebサイトのリストが表示されますIIS Server 2008 Standard(SP2、R2ではなく)上の7.0サーバー)これは、以下の項目をリストすることで期待どおりに機能します。

  • 名前
  • ID
  • 状態
  • 物理パス
  • バインディング

しかし、私がするとき:

get-website | export-csv C:\ my_list.csv

実際の値の代わりに「Microsoft.IIs.PowerShell.Framework.ConfigurationElement」を使用してさらに多くの項目を取得します。

それがCSVにエクスポートされると、バインディングが前に行われなかった場合(出力がシェルにあった場合)は "Microsoft.IIs.PowerShell.Framework.ConfigurationElement"と表示されます。

中途半端な感じです...

「Microsoft.IIs.PowerShell.Framework.ConfigurationElement」なしですべての詳細を含むWebサイトのリストを作成できるように、ワンライナーを変更する方法はありますか?

15
Mike J

試す

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
26
CB.