MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【Powershell】Format-tableコマンドのcsv出力について
profile-img
投稿者: ntanakaさん
投稿日:2021/07/13 18:49
更新日:2021/07/13 20:04
like-img
分類
技術
テクノロジー
全般
キャリア
運用・保守 / テクニカルサポート
投稿内容
以前、案件対応の際に起きた事象について、有益そうな情報を共有させていただきます。


【PowershellでADのユーザー一覧を表示し、csvファイルに出力する際、ただしく表示されない】

■環境
Windows Server 2016
機能 : Skype for Business Server 管理シェル(Windows Powershellでも同様の事象が起きます)

実施したコマンド

Get-CsADUser | Format-table -Property DisplayNane, SipAddress, Enabled, | Export-csv -Path C;\Users\testuser\test.csv -Encoding UTF8 -NoTypeInformation

■コマンド詳細
・Get-CsADUser
 Active Directoryドメインサービスのすべてのユーザーアカウントに関する情報を表示します。”Cs”はSkype for Businessサーバに対して使うコマンドの頭につきます。Skype for Businessに関するユーザーの情報を確認できます。

・Format-table
 Get-CsADUserコマンドで出力されるユーザー情報のうち、必要としている項目のみを抽出して一覧表示させるオプションです。
 この例では、 -Propertyの後に続いているDisplayName, SipAddress, Enabled,のみが表示されるようになります。

DisplayName=ディスプレイ名
SipAddress=Sipアドレス
Enabled=Skype for Businessアカウントが有効か無効かを表示する

・Export-csv
 Powershellで打ったコマンドの結果をcsv形式のファイルにエクスポートするコマンドです。
 この例では、-Pathに続くC:\Users\testuser\Desktop\というパスにあるtest.csvファイルの中に結果がエクスポートされます。

・-Encoding
 csvに出力する文字コードを任意のものにするオプションです。この例では出力される文字コードがUTF8になります。

・-NoTypeInformation
 csvファイルに出力されるときに、上部に表示されるへっだーを非表示にするオプションです。
 このオプションをつけない場合、csvに出力された結果に、デフォルトでヘッダーが付きます。

■事象
使用した上記コマンドは、Powershell上ではエラーも発生することなく処理されました。
しかし結果が出力されたcsvファイルを確認すると、想定されている結果と違う、謎の数列が表示されていました。

■原因
Format-tableコマンドのあとにパイプでExport-csvをつなぐと、Export-csv以降のコマンドもFormat-tableによる検索にかけられてしまい、上手く動作しないようです。

■解決策
Format-tableコマンドをSelect-Objectコマンドに置き換えて実行することで、結果が正しくcsvファイルに
エクスポートされました。

〈最終的に使用したコマンド〉
Get-CsADUser | Select-Oblect DisplayNane, SipAddress, Enabled, | Export-csv -Path C;\Users\testuser\test.csv -Encoding UTF8 -NoTypeInformation
(-Propertyを省略していますが、同様の動きをします)


もしFormat-tableコマンドを使って上手く結果を出力できない場合は参考にしてください。
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3