PowerShell アクティビティ
PowerShell は Windows .NET Framework をベースとして開発されたもので、Windows マシンとアプリケーションの管理のコントロールおよび自動化を目的としています。
PowerShell は、これらのアクティビティを使用する任意の MID サーバーにインストールする必要があります。PowerShell を使用する MID サーバーは、サポートされる Windows オペレーティングシステムにインストールする必要があります。 ServiceNow は PowerShell 3.0 ~ 5.1 をサポートしています。
ServiceNow オーケストレーションプラグインはこれらの基本的な PowerShell アクティビティをワークフローに追加します。PowerShell アクティビティパックのアクティビティの使用方法については、次を参照してください。 PowerShell アクティビティパック
レガシーの [PowerShell の実行] アクティビティ
[PowerShell の実行] アクティビティは、MID サーバーで Windows PowerShell コマンドを実行します。
結果の値
- 成功
- 失敗
スクラッチパッドエントリー
実行中のスクリプトによって stdout に書き込まれる情報は、activity.output 変数で取得され、アクティビティに返されます。この情報は、アクティビティのセンサースクリプトでの将来の処理のために解析、処理、または (たとえばスクラッチパッド変数に) 保存できます。
stdout に書き込まれた内容はすべて activity.output で返され、処理できます。入力変数
| フィールド | 説明 |
|---|---|
| ホスト名 | ターゲット Windows マシンの IP アドレス。この値は、コマンドで使用するために $computer 変数にマップされます ([コマンド] フィールドの例を参照)。ServiceNow 認証情報テーブル内の情報に基づく PowerShell 認証情報 $cred は、[ホスト名] で指定されるコンピューターで認証されます。 |
| コマンド | 実行する PowerShell コマンドを入力します。たとえば、[ホスト名] 変数で指定されたリモート マシンに対して単純な WMI クエリーを実行する場合、コマンドは次のようになります。
コンピューターで認証情報が認証されていない場合、コマンドは MID サーバーユーザーのコンテキストで実行されます。 コマンドとスクリプトファイルの両方を実行することはできません。コマンドを指定すると、[スクリプトファイル] 変数が非表示になります。 |
| センサースクリプト | プローブの結果を使用して実行するスクリプト。プローブからの出力は、output という名前の変数に含まれます。プローブからのエラーは、error という名前の変数に含まれます。 |
| スクリプトファイル | - のスクリプトファイルの同期を有効にする Windows セキュリティの強化. スクリプトファイルとコマンドの両方を実行することはできません。スクリプトファイルを選択すると、[コマンド] 変数が非表示になります。 |
| PowerShell スクリプト変数 | 指定されたスクリプトファイルで使用される JSON 形式の追加パラメーター。 |
状況
| 状態 | 説明 |
|---|---|
| 実行中 | ワークフロー エンジンは、アクティビティの onExecute 機能を起動させることができます。 |
| 完了 | アクティビティの実行が終了しました。アクティビティの結果については結果値を確認してください。 |
| キャンセル | このアクティビティ、またはこのアクティビティを含むワークフローがキャンセルされました。 |
get-wmiobject $ {workflow. inputs. myclass } -computer $computer –credential $cred
Similarly if the variable is a scratchpad variable named myclass , the command would look like :
get -wmiobject $ {workflow. scratchpad. myclass } -computer $computer –credential $credHResult コード
PowerShell スクリプトでエラーが発生すると、Windows マシンはエラーメッセージの一部として HResult コードを返します。
PowerShell アクティビティは、このコードを読み取り、解釈できます。すべての PowerShell エラーに HResult コードが含まれているわけではありません。PowerShell スクリプトに失敗した場合は、HResult コードを使用して、特定の条件に沿ってワークフローを移動できます。
たとえば、Active Directory パスワードを最小長や複雑さなどのポリシー要件を満たしていないパスワードへリセットすると、PowerShell スクリプトは HResult コード -2146022651 を返します。このコードを使用するには、[条件] 値が activity.hresult = -2146022651 であるアクティビティ条件を作成します。アクティビティの実行時に PowerShell スクリプトがこのコードを返すと、ワークフローはこの新しい条件に移行します。