Windows PowerShell スクリプトの関数を確認する
関数は再利用可能なコードのブロックです。 関数を使用すると、スクリプト内に同じコードを複数回配置するのではなく、スクリプト内で繰り返しアクションを実行できます。 たとえば、複数のアクションを実行できる大規模なスクリプトがある場合は、アクションごとにデータをディスクに記録するコードを配置するのではなく、データをディスクに記録する関数を 1 つ使用することで足ります。 そうすると、アクションが実行されるたびにログ関数が呼び出されます。 その後、そのログ機能を変更する場合は、1 か所で変更するだけで済みます。
関数を呼び出すときは、その関数にデータを渡すことができます。 スクリプトの場合と同じ方法で、関数に Param() ブロックを使用します。 関数の宣言の後に、Param() ブロックと、関数に渡されることが予想される変数の定義を挿入します。 次の例は、Param() ブロックを使用してコンピューター名を受け入れる関数です。
Function Get-SecurityEvent {
Param (
[string]$ComputerName
) #end Param
Get-EventLog -LogName Security -ComputerName -$ComputerName -Newest 10
}
スクリプト内で関数を呼び出すには、次の構文を使用します。
Get-SecurityEvent -ComputerName LON-DC1
前の例では、-Computer パラメーターの値が、関数内の $ComputerName 変数に渡されます。
Get-EventLog によって、その後そのコンピューターのセキュリティ ログから最新の 10 個のイベントが照会され、画面に表示されます。 これらのイベントを変数に配置し、スクリプトの残りの部分で使用できるようにする場合は、次の構文を使用します。
$securityEvents = Get-SecurityEvent -ComputerName LON-DC1