変数と関数
Security Controls では、すべてのスクリプトに対して PowerShell 変数と関数を提供します。 変数名の先頭はすべて「ST_」です。 関数名の先頭はすべて「ST-」です。 スクリプトではこれらの変数と関数を使用できます。
PowerShell 変数のスコープはそれぞれ異なります。
- グローバル: 現在の PowerShell セッションで使用できます。
- スクリプト: スクリプト (関数外) で定義され、そのスクリプトに対してローカル。
- 非公開: 関数で定義され、その関数に対してローカル。
- ローカル: 現在のスコープ。グローバル、スクリプト、または非公開。
Security Controls の定義済み変数はグローバル スコープで宣言されます。各ターゲット コンピュータは独自の PowerShell セッションを実行しているため、スクリプトのスコープでの宣言と同じになります。
Run 変数
次の表は、per-run 変数の一覧を示します。 すべてのコンピュータでこれらの変数の値は同じです。 変数の値は [Read-only] に設定しないでください。
変数名 | 説明 |
---|---|
ST_OutputDirectory | 基本出力ディレクトリへの完全パス。 実行用のサブディレクトリが作成されます。 [読み取り専用] |
ST_RunDirectory | 実行出力ディレクトリへの完全パス。 [読み取り専用] |
ST_RunErrorFile | 実行エラー ファイルへの完全パス。 特定のコンピュータに固有でないエラーはこのファイルに書き込まれます。このファイルには、IP アドレスに解決できなかったコンピュータに関する特定のメッセージも含まれます。 解決できなかったコンピュータのコンピュータ固有のサブフォルダは作成されません。 [読み取り専用] |
ST_RunName | 実行が開始またはスケジュールされたときにユーザ インターフェイスで指定された実行の名前の後ろに実行日時が付加された形式。 既定値はスクリプトまたはテンプレートの名前です。 [読み取り専用] |
ST_RunOnConsole | スクリプトが PowerShell remoting を使用している場合は、$false に設定します。そうでない場合は、$true に設定します。 [読み取り専用] |
ST_RunOutputFile | 標準実行出力ファイルへの完全パス。 コマンドプロンプトで実行した場合にコンソールに表示されるすべての出力は、このファイルに出力されます。 [読み取り専用] |
ST_RunResult | これはオペレーション モニターに表示される簡潔な実行結果です。 長さは100文字に制限されています。 スクリプトでこの変数を明示的に設定しない場合は、エラーがあるコンピュータ数またはコンピュータ解決エラー数を示すように設定されます。 |
Machine 変数
次の表は、per-machine 変数の一覧を示します。 これらの変数の値は、各ターゲット コンピュータによって異なる場合があります。 変数の値は [Read-only] に設定しないでください。
変数名 | 説明 |
---|---|
ST_ComputerName | ターゲット コンピュータの名前。 [読み取り専用] |
ST_Credential | ターゲット コンピュータに接続するために使用されるユーザ名と SecureString パスワードを含む PSCredential オブジェクト。 この変数は、Credential パラメータをサポートするコマンドに渡すことができます。 [読み取り専用] |
ST_DomainName | ターゲット コンピュータのドメインまたはワークグループの名前。 [読み取り専用] |
ST_MachineDirectory | コンピュータ ディレクトリの完全パス。 一般的にはコンピュータ名ですが、フォルダ名で使用できない文字がコンピュータ名で使用されている場合は、このような文字がアンダースコア文字で置換されます。 [読み取り専用] |
ST_MachineError | この特定のコンピュータを対象としたこのスクリプトの実行中に1つ以上のエラーが検出されたことを示すブール値。 |
ST_MachineErrorFile | コンピュータ エラー ファイルの完全パス。 エラーが検出された場合は、このファイルに表示されます。 [読み取り専用] |
ST_MachineOutputFile | コンピュータ出力ファイルへの完全パス。 スクリプトによって標準出力として生成された出力は、このファイルに取り込まれます。 |
ST_MachineResult | これはオペレーション モニターに表示される簡潔なコンピュータ結果です。長さは100文字に制限されています。 スクリプトでこの変数を明示的に設定しない場合、コンピュータ エラーが検出されないと、「Success」に設定されます。 エラーの場合は、そのコンピュータで最初に発生したエラーのエラー メッセージに設定されます。 ST-SetMachineResult 関数を使用すると、この変数の値を明示的に設定します。 |
ST_MachineResultSet | スクリプトで ST_MachineResult 変数が設定されたことを示すブール値。 ST-SetMachineResult 関数を使用すると、ST_MachineResult 変数とこの変数の両方を設定できます。 |
関数
Security Controls には、作成するすべてのスクリプトで使用できる関数があります。 これらは次の表の一覧のとおりです。
変数名 | 説明 |
---|---|
ST-GetTargetOS | この関数はターゲット システムに接続し、WMI を問い合わせ、Win32_OperatingSystem オブジェクトを取得しようとします。 |
ST-SetMachineResult | この関数は文字列パラメータを取ります。 ST_MachineResult 変数が渡された文字列に設定され、ST_MachineResultSet が $true に設定されます。 |
ST-SetMachineError | この関数は文字列型引数を取ります。 ST_MachineResult 変数が渡された文字列に設定されます。 ST_MachineResultSet および ST_MachineError 変数も $true に設定されます。 |
ST-SendMessage | この関数は文字列型パラメータを取ります。 この文字列は Operations Monitor に表示されます。 この関数を使用すると、長時間実行中のスクリプトの進行状況を監視できます。 スクリプトが完了すると、ST_MachineResult の文字列がオペレーション モニターに表示されます。 デバッグ中を除き、すばやく実行するスクリプトではこのメソッドを呼び出さないでください。 長い文字列が渡された場合は、100文字以下になるように切り捨てられます。 |
ST-CreateMachineDirectory | 通常、コンピュータ ディレクトリは、出力が書き込まれるまで作成されません。 スクリプトがコンピュータ ディレクトリでファイルを作成している場合は、ディレクトリに書き込む前に、この関数を呼び出して、ディレクトリを作成してください。 Calling this function more than once will have no negative effect. |
ST-CreateRunDirectory | 通常、実行ディレクトリは、出力が書き込まれるまで作成されません。 スクリプトが実行ディレクトリでファイルを作成している場合は、ディレクトリに書き込む前に、この関数を呼び出して、ディレクトリを作成してください。 Calling this function more than once will have no negative effect. |
ST-ComputerAndCredential | この関数は、ターゲット コンピュータの ComputerName および Credential パラメータで使用する適切な値を返します。 詳細については、「ComputerName および Credential パラメータの指定」をご参照ください。 |
ST-SubCC | この関数は、PowerShell コマンドで有効な文字列型パラメータを取ります。 この関数は、コマンドの ComputerName および Credential パラメータで使用する適切な値をコマンド文字列の「$ST_CC」に代入します。 結果のコマンドが実行され、実行結果が返されます。 詳細については、「ComputerName および Credential パラメータの指定」をご参照ください。 |