例を含むPowerShellハッシュテーブルUltimateガイド

2021年5月20日 5546 ビュー PowerShellハッシュテーブル例を使用した究極のガイド

PowerShellハッシュテーブルは、コレクションアイテムとその値です。アイテムはキーと呼ばれます。さらに、ハッシュテーブルの各キーには同等の値があります。





本質的に、PowerShellハッシュテーブルはキー/値ストアの「テーブル」です。



このSゾーンでは、PowerShellハッシュテーブルについて知っておく必要のあるすべてのことを説明します。最初のセクションでは、ハッシュテーブルと配列の違いについて説明します。

次に、2番目のセクションで、 Get-Member Cmdlet、ハッシュテーブルのボンネットの後ろにあなたを連れて行きます。



最後に、スクリプトでハッシュテーブルを使用するさまざまな方法を探ります。



Gmailのメールがキューに入れられるのはなぜですか

投稿トピックを閲覧する

PowerShellハッシュテーブルとPowerShellアレイ

PowerShellハッシュテーブルとPowerShellアレイ

ハッシュテーブルに飛び込む前に、ハッシュテーブルと配列の違いについて説明したいと思います。 2つの概念は簡単に混同される可能性があるため、この区別は重要です。



このガイドの概要では、ハッシュテーブルがキー/値ストアであることを説明しました。さらに、ハッシュテーブルはキーと値を持つテーブルのようなものです。



それどころか、PowerShell配列は値またはオブジェクトのコレクションです。

PowerShellハッシュテーブルとPowerShell配列の主な違いは、ハッシュテーブルはアイテム(キー)とその値のコレクションであるのに対し、配列は単なるアイテムのリストであるということです。

簡単な例として、以下のコードはハッシュテーブルと配列の例です。最初のコードはハッシュテーブルを作成し、2番目のコードは配列を作成します。

Get-EventLog
$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } 
コード例から、ハッシュテーブルが{}で囲まれているのに対し、配列は()で囲まれていることがわかります。

以下のスクリーンショットは、2つのコードの結果を示しています。

PowerShellハッシュテーブルとPowerShellアレイ

(1)というラベルの付いたスクリーンショットの部分は、ハッシュテーブルの結果です。キーと値のペアを見たことがありますか?

上記の例では、キーRootの値はC: Users victo Documentsです。また、PSProviderキーにはFileSystemという値があります。

最後に、Nameの値はDocumentです。

さらに、(2)というラベルの付いたスクリーンショットの部分には、配列コードの結果が含まれています。前に説明したように、それは単なるリストです。

PowerShellハッシュテーブルのメソッドとプロパティ

PowerShellハッシュテーブルのメソッドとプロパティ

はじめに、PowerShellハッシュテーブルの内部にあなたを連れて行くことを約束しました。これです!

このセクションでは、Get-Memberコマンドレットを使用してハッシュテーブルの背後を調べる方法を説明します。

PowerShellハッシュテーブルの結果をにパイプする場合 Get-Member 、利用可能なものを確認できるようになります メソッド と プロパティ ハッシュテーブルの。

上記の最初の簡単な例に戻りましょう。

$array = @('Document', 'FileSystem', 'C:UsersvictoDocuments')

コードを新しいPowerShellISEドキュメントにコピーします。次に、コードを実行します。

次に、利用可能かどうかを確認します メソッド と プロパティ このハッシュテーブルで、同じPowerShellISEでこのコマンドを実行します。

$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } 

上記のコマンドを実行するには、最後のコードの下に貼り付けます。次に、それを強調表示して、F8キーを押すか、強調表示されたアイコンをクリックします。

PowerShellハッシュテーブルのメソッドとプロパティ

このコマンドは、PowerShellコンソールペインに結果を表示します。

今のところ、結果の上を見てください。 TypeName:System.Collections.Hashtableがあります。

これにより、Get-Memberコマンドレットにパイプされたオブジェクトがハッシュテーブルであることが確認されます。

このセクションの次のサブセクションでは、PowerShellハッシュテーブルの一般的なメソッドとプロパティの使用方法を示します。

既存のハッシュテーブルにアイテムを追加または削除する方法

このセクションでは、既存のPowerShellハッシュテーブルに新しいアイテムを追加する方法を学習します。さらに、既存のPowerShellハッシュテーブルからアイテムを削除する方法も学習します。

それに飛び込む前に、空のハッシュテーブルを作成することもできることを述べておきたいと思います。次に、キー/値をハッシュテーブルに追加します。これについては、後で詳しく説明します。

既存のPowerShellhastablesへのアイテムの追加または削除に戻る–実行したとき $ hashtable | Get-Member コマンド、結果に表示されるメソッドの1つは 追加 。方法もあります、 削除する 。

以下のスクリーンショットの強調表示された部分を参照してください。

PowerShellハッシュテーブルのメソッドとプロパティ

これらの2つのメソッドの使用方法を示す前に、元のPowerShellハッシュテーブルコードを見てみましょう。

$hashtable | Get-Member

ハッシュテーブルには3つのエントリがあります。この例では、「マイドキュメント」フォルダに「マップ」という値を持つ「説明」という別のキーを追加します。

このタスクを完了するには、以下のコマンドを実行します(前のコマンドを実行したのと同じPowerShell ISEコンソールで)

$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } 
追加の使用方法に注意してください 方法 。ハッシュテーブルを保持する変数の横にピリオド(。)を追加します。次に、メソッドを含めました。 追加 、 に続く ()。最後に、ハッシュテーブルに追加したい新しいキーと値のペアを含めました。

コマンドを実行したら、追加のキーが追加されたことを確認するために、強調表示します $ hashtable F8を押します。

$hashtable.  Add  ( 'Description', 'Maps to my 'My Documents' folder.' )

これが結果のスクリーンショットです–新しいキー/値が追加されたことを確認します。

次に、同じアプローチを使用して、PowerShellハッシュテーブルから値を削除できます。

ハッシュテーブルに追加した最後のキーを削除するには、最後のコマンドと同様のコマンドを実行します。今回は交換しますが 追加 との方法 削除する 方法。

コマンドは次のとおりです。

$hashtable
ザ 削除する メソッドには、 鍵 。キーを含める必要はありません 価値 コマンドで。

まず、上記のコマンドを実行します。次に、キーが削除されたことを確認するために、強調表示します $ hashtable F8を押します。

netflix誰かが私のメールを変更しました
$hashtable.  Remove  ( 'Description' )

コマンドの結果は、キーが削除されたことを確認します!

PowerShellハッシュテーブルのメソッドとプロパティ-既存のハッシュテーブルにアイテムを追加または削除する方法

PowerShellハッシュテーブルにキーが含まれているかどうかを確認する方法

下のハスタブルをパイプでつなぐと Get-Member コマンドレット、表示されるメソッドの1つは containsKey 方法–以下のスクリーンショットを参照してください。

$hashtable

ザ containsKey メソッドは非常に多くの方法で使用できます。ただし、このメソッドの一般的なアプリケーションの1つは、このメソッドを使用して、キーがハッシュテーブルに存在するかどうかを確認し、存在しない場合はキーを追加することです。

の別のアプリケーション containsKey PowerShellハッシュテーブルの方法は、単にそれを使用して、キー名がハッシュテーブルに存在するかどうかを確認することです。

を使用してPowerShellハッシュテーブルにキーが存在するかどうかを確認するには containsKey メソッド、以下のコマンドを実行します。

$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } 

このコマンドは、Descriptionという名前のキーが$ hashtable変数に保存されているハッシュテーブルに存在するかどうかを確認します。コマンドの結果はFalseを表示します。

PowerShellハッシュテーブルのメソッドとプロパティ-PowerShellハッシュテーブルにキーが含まれているかどうかを確認する方法

PowerShellハッシュテーブルに追加する前にDescriptionキーが存在するかどうかを確認するには、前のコマンドに追加のコード行が必要になります。

これが改善されたコードです。

$hashtable.  ContainsKey  ('Description')

このコードは、IF条件ステートメントを使用して、Descriptionという名前のキーがハッシュテーブルに存在するかどうかを確認します。

次に、結果がFalseの場合、IFステートメントのコマンド実行部分で、 追加 ハッシュテーブルにキーを追加するためのPowerShellハッシュテーブルのメソッド。

ただし、キーがハッシュテーブルに存在する場合、IFステートメントのElse部分に、コマンドを実行した人にキーがすでに存在することを通知するメッセージが表示されます。

最後のコマンドを実行した後、 $ hashtable 変数とそれを単独で実行します。結果は、キーDescriptionが存在しなかったために変数に追加されたことを確認します。

このスクリプトが機能するかどうかをテストするには–もう一度実行してください…

If ($hashtable.  ContainsKey  ('Description') -eq $False) { $hashtable.  Add  ( 'Description', 'Maps to my 'My Documents' folder.' ) } Else { Write-Host 'The key alredy exists in the hashtable' }

今回は、スクリプトはキーを追加しませんでした。むしろ、IFステートメントのElse部分の情報を返しました– キーはすでにハッシュテーブルに存在します 。

PowerShellハッシュテーブルのメソッドとプロパティ-PowerShellハッシュテーブルにキーが含まれているかどうかを確認する方法

PowerShellハッシュテーブルを文字列に変換する方法

PowerShellハッシュテーブルを文字列に変換する最初の手順は、ハッシュテーブル内のキーの値を返すことです。つまり、PowerShellハッシュテーブルをPowerShell配列に変換します。

ハッシュテーブルの値を返すには、 値 ハッシュテーブルのプロパティ。

ハッシュテーブルの値を返すコマンドは次のとおりです。

If ($hashtable.  ContainsKey  ('Description') -eq $False) { $hashtable.  Add  ( 'Description', 'Maps to my 'My Documents' folder.' ) } Else { Write-Host 'The key already exists in the hashtable' }

PowerShellハッシュテーブルに値を返したら、次のステップは$ hashtable.Valuesをパイプでパイプすることです。 アウトストリング 指示…

$hashtable.Values
このガイドの後半で、PowerShellハッシュテーブルを文字列に変換することの重要性を理解します。実際のSysAdminスクリプトでこれが実際に適用されることを確認するには、以下をお読みください。

PowerShellハッシュテーブルの使用方法 GetEnumerator 方法

PowerShellハッシュテーブルのもう1つの重要な方法は、 GetEnumerator 方法。

このメソッドを使用して、ハッシュテーブル内のキーを個々の文字列に分割できます。これがのサンプルコマンドです GetEnumerator ハッシュテーブルのメソッド:

$hashtable.Values | Out-string -stream

上記のコマンドの結果からわかるように、キーと値は個々のヘッダーで返されます。今はアプリケーションについて考えることはできませんが、PowerShellハッシュテーブルでキーを分割する必要がある場合は、その方法を知っています。

PowerShellハッシュテーブルアイテムをカウントする方法

さらに別の便利なハッシュテーブルプロパティがあります。 カウント 。名前が示すように、このプロパティはハッシュテーブル内のキーの数を返します。

以下のような 値 プロパティ、Countプロパティを呼び出すには、次のようなコマンドを使用します。

1つのセルのGoogleシートに複数の行
$hashtable.GetEnumerator() |% Out-String 

このコマンドは、ハッシュテーブル$ hashtableに4つのキーがあることを確認します。

PowerShellハッシュテーブルアイテムをカウントする方法

空のPowerShellハッシュテーブルを作成してキーを追加する方法

空のPowerShellハッシュテーブルを作成してキーを追加する方法

これまでのところ、このSゾーンのすべての例は、既存のキーを使用したPowerShellハッシュテーブルの操作に焦点を当てています。このセクションでは、空のハッシュテーブルを作成する方法を学習します。

次に、ハッシュテーブルにキーを追加します。

空のPowerShellハッシュテーブルを作成するには、次のように入力します。 @ サイン、続いて {} 角かっこ。これは、変数に保存された空のハッシュテーブルの例です。 空のハッシュ可能 :

$hashtable.Count 

ハッシュテーブルが値なしで作成されていることを確認するには、前のコマンドを実行します。次に、変数を単独で実行します。

$Emptyhashtable = @{ }

次のステップは、 追加 このガイドで前述した、ハッシュテーブルにキー/値を追加する方法。この例では、というキーを追加します 名前 、の値は 書類 。

このタスクを実行するためのコマンドは次のとおりです。

$Emptyhashtable 

最後に、値が正常に追加されたことを確認するには、変数$ Emptyhashtableを実行します。

$Emptyhashtable.  Add  ( 'Name', 'Document.' )

最後のコマンドは、値が正常に追加されたことを確認します。

複数の値と1つのキーを使用してPowerShellハッシュテーブルを作成する方法

複数の値と1つのキーを使用してPowerShellハッシュテーブルを作成する方法

これまでに説明したすべての例で、PowerShellハッシュテーブルには1つのキーと値のペアがあります。ただし、複数の値を持つハッシュテーブルに単一のキーが必要になる場合があります。

この場合、値として配列を使用してハッシュテーブルを効果的に作成する必要があります。

まず、ハッシュテーブルと配列を区別するために使用したコードを紹介する方がよいと思います。

$Emptyhashtable
$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } 

したがって、単一のキーと複数の値を使用してPowerShellハッシュテーブルを作成するには、次のようなスクリプトを実行します。

$array = @('Document', 'FileSystem', 'C:UsersvictoDocuments')

上記のスクリプトでは、 LogName はハッシュテーブルキーであり、System、Application、およびSecurityの値がキーに割り当てられています。事実上、複数の値を持つ単一のハスタブルキーを作成しました。

Facebookであなたのプロフィールを他の誰かとして見る方法

の個々の値を一覧表示するには LogName キーを押して、以下のコマンドを実行します。

$hashtableWithArrays = @{ LogName = @('System', 'Application', 'Security') } 

以下のスクリーンショットの(1)というラベルの付いた部分は、ハッシュテーブルの結果です。 $ hashtableWithArrays 。また、(2)の部分は、 $ hashtableWithArrays.Values 指図。

Windowsイベントログ(システム、アプリケーション、およびセキュリティ)に精通している場合は、Windowsイベントログの名前です。

次のセクションでは、PowerShell ForEachループを使用して上記のハッシュテーブルを反復処理し、 Get-EventLog これらの3つのイベントログに対するコマンド–単一のPowerShellスクリプトを使用します。

ForEachループでPowerShellハッシュテーブルを反復処理する方法

ForEachでPowerShellハッシュテーブルを反復処理する方法

前のセクションでは、複数の値を持つ単一キーのPowerShellハッシュテーブルを作成しました。

このセクションの例では、ハッシュテーブルを格納する変数を次のように変更しました。 LogNameKeys 。更新されたスクリプトは次のとおりです。

$hashtableWithArrays.Values

このセクションでは、使用方法を説明します ForEach に保存されている値をループします LogName キーを押して実行します Get-EventLog 指図。

PowerShell ForEachの簡単な復習コースとして、PowerShellForEachコマンドの一般的な構文を以下に示します。

$LogNameKeys = @{ LogName = @('System', 'Application', 'Security') }

上記の構文を LogNames hashtableの場合、更新されたコマンドは次のようになります。

#で始まる行はPowerShellコメントです。
ForEach ($Object in $Objects) {  }

スクリプトの最初の部分は、複数の値を持つ単一キーのPowerShellハッシュテーブルを作成するのと同じスクリプトです。スクリプトは次のとおりです。

#Create a single-key hashtable (LogName) with values - 'System', 'Application', 'Security' $LogNameKeys = @{ LogName = @('System', 'Application', 'Security') } #Convert the hashtable to a string $LogNameKeysAsStrings = $LogNameKeys.Values | Out-String -Stream #we used a similar command earlier #Use ForEach to loop through $LogNameKeysAsStrings and run the Get-EventLog command ForEach ($LogNameKey in $LogNameKeysAsStrings) { Get-EventLog -LogName $LogNameKey -Newest 5 }

スクリプトの2番目の部分では、($ LogNameKeys.Values)に格納されている値を文字列に変換し、結果を別の変数に保存しました。 LogNameKeysAsStrings 。

$LogNameKeys = @{ LogName = @('System', 'Application', 'Security') }

最後に、スクリプトの3番目の部分–ForEachループが導入されています。

$LogNameKeysAsStrings = $LogNameKeys.Values | Out-String -Stream

スクリプトのこの部分では、PowerShellに保存されている各値を取得するように指示します。 LogName 鍵 ( $ LogNameKeysAsStrings )–その個々の値を変数に一時的に保存します LogNameKey –次に、時間変数を使用して Get-EventLog 指図。

私は含めました 最新 のパラメータ Get-EventLog コマンドが各イベントログの最後の5エントリを返すように、値が5のコマンド。 PowerShellスクリプトを見ると、複雑に見える場合があります。ただし、よく見ると、通常は非常に簡単です。

次に、以下のスクリプトを新しいPowerShellISEドキュメントにコピーして実行します。

管理者としてPowerShellISEを開きます。管理者としてPowerShellISEを開かないと、アクセスエラーメッセージが表示されます。
 ForEach ($LogNameKey in $LogNameKeysAsStrings) { Get-EventLog -LogName $LogNameKey -Newest 5 }

以下のスクリーンショットは、スクリプトの結果を示しています。結果ペインには15行あり、システム、アプリケーション、セキュリティイベントログの5つを表します。

PowerShellハッシュテーブルとSelect-Objectを使用してレポートをカスタマイズする方法

PowerShellハッシュテーブルとSelect-Objectを使用してレポートをカスタマイズする方法

前のセクションでは、Windowsイベントログレポートを取得するPowerShellスクリプトを作成しました。これがレポートのスクリーンショットです

スクリプトのデフォルト出力には5つの列があります– 索引 、 時間 、 EntryType 、 ソース 、 InstanceID 、 と メッセージ 。これをレポートとして送信する場合は、これらの列名をわかりやすい名前に変更することをお勧めします。

これが前のセクションのスクリプトです。

スクリプトが少し変更されました。私は今変数を持っています、 EventLogReport ForEachループの出力を保存します。これが必要な理由については後で説明します。
#Create a single-key hashtable (LogName) with values - 'System', 'Application', 'Security' $LogNameKeys = @{ LogName = @('System', 'Application', 'Security') } #Convert the hashtable to a string $LogNameKeysAsStrings = $LogNameKeys.Values | Out-String -Stream #Uses ForEach to loop through $LogNameKeysAsStrings and run the |_+_| command ForEach ($LogNameKey in $LogNameKeysAsStrings) { Get-EventLog -LogName $LogNameKey -Newest 5 }

このスクリプトから列ヘッダー名を変更するには、パイプを使用します Get-EventLog にコマンド Select-Object 指図。

次に、PowerShellハッシュテーブルを Select-Object 列名を変更するコマンド。これが魔法を実行する修正されたスクリプトです。

htmlオフラインストレージスペースメガ
#Create a single-key hashtable (LogName) with values - 'System', 'Application', 'Security' $LogNameKeys = @{ LogName = @('System', 'Application', 'Security') } #Convert the hashtable to a string $LogNameKeysAsStrings = $LogNameKeys.Values | out-string -stream #Uses ForEach to loop through $LogNameKeysAsStrings and run the Get-EventLog command. #Then, save the output of the command in the  EventLogReport   variable,  $EventLogReport  = ForEach ($LogNameKey in $LogNameKeysAsStrings) { Get-EventLog -LogName $LogNameKey -Newest 5 }

スクリプトは実際よりもはるかに複雑に見えます。ただし、Select-Objectの後のスクリプトの部分に注目すると、このスクリプトと以前のコピーとの違いを簡単に見つけることができます。

具体的には、ハッシュテーブルを Select-Object コードのブロック。各ハッシュテーブルは、の出力をカスタマイズします Get-EventLog 指図。

これがからのサンプルハッシュテーブルです Select-Object ブロック:

#Create a single-key hashtable (LogName) with values - 'System', 'Application', 'Security' $LogNameKeys = @{ LogName = @('System', 'Application', 'Security') } #Convert the hashtable to a string $LogNameKeysAsStrings = $LogNameKeys.Values | out-string -stream #Uses ForEach to loop through $LogNameKeysAsStrings and run the Get-EventLog command. #Then, save the output of the command in the  EventLogReport   variable, $EventLogReport = ForEach ($LogNameKey in $LogNameKeysAsStrings) {Get-EventLog -LogName $LogNameKey -Newest 5 |  Select-Object  ` @{Name='Log ID';Expression={$_.Index}}, @{Name='Event Log Time';Expression={$_.TimeWritten}}, @{Name='Event Source';Expression={$_.Source}}, @{Name='Event ID';Expression={$_.InstanceID}}, @{Name='Event Details';Expression={$_.Message}} } #Finally, pipe the  EventLogReport   variable to Format-Table to create the report in table format $EventLogReport | Format-Table

いつものように、PowerShellハッシュテーブルには2つの要素があります。重要なのは 名前 、値は 表現 。

注意すべきもう1つの重要なことは、各ハッシュテーブルの最後に Select-Object ブロック、コンマ(、)があります。

最後に、PowerShellの最終スクリプトの結果は次のとおりです。

以前、私が紹介した理由を説明することを約束しました $ EventLogReport ForEachループの出力を保存する変数。この変数がない場合、最終結果には、3つのイベントログごとに3つの個別の結果が表示されます。ただし、結果全体を変数に格納することで、この変数をFormat-Tableにパイプすることができました。これにより、結果全体が1つのテーブルとして表示されます。これが魔法を実行したコマンドです。
@{Name='Event ID';Expression={$_.InstanceID}}

PowerShellハッシュテーブルをCSVにエクスポートする方法

PowerShellハッシュテーブルをCSVにエクスポートする方法

この最後のセクションでは、PowerShellハッシュテーブルをCSVにエクスポートする方法を学習します。

このセクションの最初の例では、このハッシュタブをCSVにエクスポートする方法を示します。

 $EventLogReport | Format-Table

このPowerShellハッシュテーブルをCSVファイルに正常にエクスポートするには、 GetEnumerator 値を一覧表示する方法(前述)。そうしないと、実際のキーと値のペアはエクスポートされません。

これは、に保存されたハッシュテーブルをエクスポートする変更されたスクリプトです。 ハッシュ表 CSVファイルへの変数。

$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } 

以下のスクリプトを紹介しました。

$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } $hashtable.  GetEnumerator()  | Select-Object Name, Value | Export-Csv -Path D:PS-Tutorialhashtable.csv -NoTypeInformation 

スクリプトには、 GetEnumerator 方法 ハッシュテーブルで。次に、出力をにパイプします Select-Object 指図。

最後に、出力をパイプします Select-Object にコマンド エクスポート-Csv 指図。使用方法の詳細を読むには エクスポート-Csv コマンドレット、ガイドを読む– Powershell NoTypeInformation:アプリケーションと例。

このスクリプトを実行すると、次のようなCSVファイルが作成されます。 hashtable.csv 、指定したパスで。 CSVファイルの出力については、以下のスクリーンショットを参照してください。

$hashtable.  GetEnumerator()  | Select-Object Name, Value | Export-Csv -Path D:PS-Tutorialhashtable.csv -NoTypeInformation 

2番目の例では、前のセクションで作成したスクリプト(イベントログスクリプト)の出力をCSVファイルにエクスポートします。

これがスクリプトです。レポートをCSVにエクスポートするために、このスクリプトの最後にこのコードの下にコードを追加しました。

$hashtable = @{ Name = 'Document' PSProvider = 'FileSystem' Root = 'C:UsersvictoDocuments' } $hashtable.  GetEnumerator()  | Select-Object Name, Value | Export-Csv -Path D:PS-Tutorialhashtable.csv -NoTypeInformation 
#Create a single-key hashtable (LogName) with values - 'System', 'Application', 'Security' $LogNameKeys = @{ LogName = @('System', 'Application', 'Security') } #Convert the hashtable to a string $LogNameKeysAsStrings = $LogNameKeys.Values | out-string -stream #Uses ForEach to loop through $LogNameKeysAsStrings and run the Get-EventLog command. #Then, save the output of the command in the  EventLogReport   variable, $EventLogReport = ForEach ($LogNameKey in $LogNameKeysAsStrings) {Get-EventLog -LogName $LogNameKey -Newest 5 |  Select-Object  ` @{Name='Log ID';Expression={$_.Index}}, @{Name='Event Log Time';Expression={$_.TimeWritten}}, @{Name='Event Source';Expression={$_.Source}}, @{Name='Event ID';Expression={$_.InstanceID}}, @{Name='Event Details';Expression={$_.Message}} } #Finally, pipe the  EventLogReport   variable to Format-Table to create the report in table format $EventLogReport | Format-Table $EventLogReport | Export-Csv -Path D:PS-TutorialEventLogReport.csv -NoTypeInformation 

コードは、の出力をパイプします ForEach ループ–に保存 EventLogReport 変数– エクスポート-Csvコマンド 。生成されたCSVファイルを下のスクリーンショットに示します。

それだけです– PowerShellハッシュテーブルに関する包括的なガイドです!お役に立てば幸いです。

役に立ったと思ったら、親切に投票してください はい この投稿は以下の役立つ質問でした。

または、このページの最後にある[返信を残す]フォームを使用して、質問したり、コメントを残したり、フィードバックを提供したりすることもできます。

最後に、PowerShell tech Sゾーンの詳細については、WindowsPowerShellハウツーガイドページにアクセスしてください。また、ホームページからの作業が非常に役立つ場合があります。

参考文献と参考資料

  1. ハッシュテーブルについて知りたいことすべて
  2. PowerShellで配列とハッシュテーブルを組み合わせて楽しみと利益を得る
  3. ハッシュテーブルについて