PowerShellスクリプトの助けを借りて、明確にレイアウトされたCSVファイルを作成する方法について説明します: PowerShellカスタムオブジェクトとExport-csvコマンドレットを組み合わせて使用します。
PowerShellカスタムオブジェクトの紹介
カスタムオブジェクトは、PowerShellで自分で作成できる「汎用」オブジェクトです。
カスタムオブジェクトでは、PowerShellスクリプトに動的に追加することができるさまざまなプロパティを定義することができます。 カスタム オブジェクトは、他のオブジェクトのように事前に定義されたプロパティを持つことも、必要なときに実行時に動的に追加することも可能です。
- ログ ファイルで「ステータス変数」を維持したり、
- あまり多くの変数を使用せずに複数のメッセージを同時に関数に転送したりできます。
Generating PowerShell Custom Objects
コマンドレット “New-Object” で PowerShell カスタム オブジェクトを作成できます。
1
|
$object = New->
|
この例では。 PSCustomObject” タイプのオブジェクトを作成しました。
今のところ、初期オブジェクトは空で、それ以上の機能は持っていません。 コマンドレット「Add-Member」を使用して、新しい機能を追加することができます。
1
|
$object | Add-
|
その結果、以下のようになりました。 を選択すると、オブジェクトは “Color=red” という特徴を持つようになります。 これを何度でも繰り返して、オブジェクトにさまざまな機能を持たせることができます。
1
|
$object | Add-
|
カスタム オブジェクトを CSV としてエクスポート
大きな利点は、オブジェクト全体を他の関数またはコマンドレットに転送できることです。
1
|
$object Export-Csv -NoTypeInformation -Path .\.csv -Delimiter ‘;’
|
または関数で指定します。
1
2
3
4
5
|
function my-export {
param($myInput)
$myInput Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‘;’
}.
my-export $object
|
ここで、.NET Framework を作成しました。csv ファイルは次のようになります:
Color | Size |
Red | 1 |
そしてそれに従ってテキストはこのように表示されています。
“Color”; “Size”
“Red”; “1″
また、複数のオブジェクトをリストや配列に結合してまとめて表示することも可能です。
1
2
3
4
5
6
のように、複数のオブジェクトを組み合わせて一括で表示することもできます。 7
8
9
10
11
12
13
|
$list = @()
$object1 = New-
$object1 = New- $list = @()オブジェクト PSObject
$object1 | Add-Member NoteProperty “Name” “Alice”
$object1 | Add-> NoteProperty “Name” “Alice”。メンバー NoteProperty “Color” “Red”
$object1 | Add-Member NoteProperty “Size” 1
$list += $object1
$object2 = New-Object PSObject
$object2 | Add-|NoteProperty
$object1メンバー NoteProperty “Name” “Bob”
$object2 | メンバー NoteProperty “Color” “Blue”
$object2 | メンバー NoteProperty “Size” 2
$list += $object2
$list | Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‘;’
|
その結果、新しい .csv が作成されます。csv ファイルには、自動的に両方のオブジェクトが含まれます。
Name | Color | Size |
Alice | Red | 1 |
Bob | Blue | 2 |
従いまして。 というテキストが表示されます。
“Name”; “Color”; “Size”
“Alice”; “Red”; “1″
“Bob”; “Blue”; “2″
要するに、PowerShell カスタム オブジェクトと Export-csv コマンドレットはデータのセットを .NET ファイルにエクスポートする効果的かつ有用なツールです。csv ファイルにエクスポートするための効果的なツールです。
FirstAttribute AG – Microsoft Consulting Partner for
Migration and Active Directory
AD Consulting | AD Migration