---
sourceDocument: Yokohama データと自動化
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/integrate-applications

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama データと自動化

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# MID サーバーの PowerShell ファイル

# MID サーバーの PowerShell ファイル {#ariaid-title1}

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：6分

PowerShell 関数は、PowerShell スクリプト モジュール (\*.psm1) ファイル名拡張子を使用するスクリプトファイル (\*.ps1) に保存されます。
PowerShell 関数は、次のアクティビティパックに含まれる PowerShell MID サーバースクリプトファイルによって使用されます。

* Active Directory
* Exchange
* SCCM
* PowerShell
{#mid-server-powershell-files__ul_gd5_554_cw}

## PSScript.ps1

このスクリプトは、認証情報のテスト、パスワードの暗号化、オーケストレーションアクティビティデザイナーまたは MID スクリプトファイルで設定されたスクリプトの実行など、いくつかのタスクを実行します。ただし、この文書は、PSScript.ps1 がリモート ホストへのアクセスをテストするために credential.psm1 モジュールを使用する方法について説明します。  
通常、PowerShell 変数は、[PowerShell 実行コマンド](https://servicenow-prod.fluidtopics.net/EdYKCS6jB0~8LVv2H_rDTw#t_MapPowershellVariablesToExecCmd "作成した入力変数を使用して、オーケストレーションが Windows ターゲット マシン上で実行するコマンドを設定します。")で直接使用するか、指定した MID サーバースクリプトファイルの引数として使用します。credType など、PSScript.ps1 に渡される特別な変数があります。 図 : 1. 実行パラメーターで credType を使用する

## PowerShell credTypes

PowerShell 認証情報タイプ：  
{#mid-server-powershell-files__table_pm5_b1p_cw__entry__2}

| タイプ | 説明 |
|-|-|
| WMI | testCredentialWMI |
| Exchange | testCredentilExchange |
| AD | testCredentilAD |
| SCCM | testCredentilSCCM |
[ ]

{#mid-server-powershell-files__table_pm5_b1p_cw}

PSScrip.ps1 スクリプトに認証情報タイプが渡されない場合、MID サーバーは、ターゲット ホストへのアクセスをテストするために WMI テスト関数をデフォルトに設定します。認証情報タイプを使用する場合、MID サーバーはその認証情報タイプに対応するテスト関数を実行します。

## 終了コード

次の終了コードは、PSScript.ps1 スクリプトから返され、MID サーバーのログ ファイルに記録されます。  
{#mid-server-powershell-files__table_r4l_n5q_dw__entry__2}

| タイプ | テスト関数 |
|-|-|
| 0 | PowerShell コマンド/スクリプトが正常に実行されました。 |
| 1 | テストは正常に終了しましたが、コマンド/スクリプトの実行に失敗しました。 |
| 2 | 不正な構文がスクリプトに渡されました。 |
| 3 | MID サーバーサービス アカウントを含むすべての認証情報がコマンド/スクリプトを実行できませんでした。 |
| 4 | テストに合格し、アクティビティを実行しましたが、エラーが返されました。ユーザーの例が見つかりません。 |
[表 : 1. PSScript.ps1 終了コード]

{#mid-server-powershell-files__table_r4l_n5q_dw}

## DiagnosticsUtil.psm1 {#mid-server-powershell-files__section_rd2_vkl_4bb}

MID サーバーはこのモジュール ファイルを使用して、PowerShell スクリプトを使用してオーケストレーションアクティビティのデバッグをサポートする PowerShell ロギングを実行します。デバッグ ステートメントをカスタム スクリプトに直接追加することもできます。{#mid-server-powershell-files__table_sd2_vkl_4bb__entry__2}

| ユーティリティ | 説明 |
|-|-|
| SNCLog-DebugInfo | PowerShell スクリプトまたは PowerShell オーケストレーションアクティビティ用のデバッグ メッセージを記録します。例： * `SNCLog-DebugInfo -message "My debug message..."` * `SNCLog-DebugInfo "My debug message"` {#mid-server-powershell-files__ul_qw4_knl_4bb} |
| SNCLog-ParameterInfo | 関数のパラメーター値を記録します。`"function getHostName{ param( [String] $target )"` の場合、PowerShell ハッシュテーブルは、実行する関数を示す文字列と、それぞれの関数パラメーターの値です。例： * 単一パラメーターを持つ関数：`SNCLog-ParameterInfo @("Running getHostName", $target)` 注: デバッグ メッセージは、'`Running getHostName $target:[actual value of $target]`' となります。 * 複数のパラメーターを持つ関数：`SNCLog-ParameterInfo @("Running functionName", $param1, $param2, $param3)` {#mid-server-powershell-files__ul_azp_p4l_4bb} |
| SNCObfuscate-Value | セキュリティ上の理由から値を暗号化するには、このユーティリティを使用します。関数には `"$variableName":***` と表示されます。\*\*\* は難読化された値です。例： `SNCObfuscate-Value $password` 注: デバッグ メッセージは `"$password : ***"` となります。 |
[表 : 2. PowerShell 診断ユーティリティ]

{#mid-server-powershell-files__table_sd2_vkl_4bb}

## Credentials.psm1

MID サーバーはこのモジュール ファイルを使用して、ターゲット ホストへのアクセスをテストします。MID サーバーは、PowerShell アクティビティで認証情報タイプ credType が定義されるまで、次のアクセス タイプ関数を使用して自身の認証情報テーブル内に保存されているすべての Windows 認証情報間をループします。ServiceNow® で作成されたすべての PowerShell アクティビティは、特定の認証情報タイプを使用するようにハードコードされています。その結果、MID サーバーは指定された関数に対する認証情報アクセスのみをテストします。{#mid-server-powershell-files__table_qmm_z1p_cw__entry__2}

| 関数 | 説明 |
|-|-|
| testCredentialWMI | Get-WMI オブジェクトを使用して、ターゲットホストで指定されたユーザーとパスワードをテストします。 |
| testCredentilAD | 組み込まれている DirectoryEntry オブジェクトを使用して、ターゲットホストで指定されたユーザーとパスワードをテストします。 |
| testCredentialExchange | 指定されたユーザーとパスワードをテストして Exchange ホストでセッションを作成します。このテストでは、リモート ホストで組み込まれている PowerShell リモート機能を使用します。WinRM は Exchange サーバー上にデフォルトで設定されます。 |
| testCredentialSCCM | 指定されたユーザーとパスワードをテストして、SCCM サーバーでセッションを作成します。このテストでは、リモート ホストで組み込まれている PowerShell リモート機能を使用します。このテストでは、WinRM を設定する必要があります。 |
| testNoCredentialAccessWMI | Get-WMI オブジェクトを使用して、ターゲットホストで指定されたユーザーとパスワードをテストします。credType が使用されない場合にこのテストを使用します。 |
[表 : 3. PowerShell のテスト関数]

{#mid-server-powershell-files__table_qmm_z1p_cw}  
注:  
これらの機能のいずれかを使用してテストに合格すると、その認証情報が PowerShell スクリプト/コマンドの実行に使用されます。これらの機能を使用してターゲット ホストへのアクセスのテストに失敗した場合、MID サーバーは MID サーバーサービスのアカウントで PowerShell スクリプト/コマンドを実行します。

次の図は、PowerShell アクティビティの対象となるホストでの認証情報の選択動作の依存関係を示しています。ターゲット ホストが MID サーバーの IP アドレスまたはホスト名の場合、MID サーバーは認証情報テーブルのすべての認証情報をバイパスし、MID サーバーサービスのアカウントを使用します。ターゲット ホストが MID サーバーではない場合、すべての Windows 認証情報が最初に使用されます。PowerShell アクティビティの実行時に認証情報テーブルのすべての認証情報が失敗した場合、MID サーバーは MID サーバーサービス アカウントを使用します。  
図 : 2. PowerShell 認証情報の選択基準

## ActiveDirectory.psm1

このモジュール ファイルには、[Active Directory](https://www.servicenow.com/docs/access?context=c_OrchActiveDirectoryActivities&version=yokohama&pubname=yokohama-servicenow-platform&ft:locale=en-US) アクティビティパックに付属する PowerShell スクリプトで使用される関数が保存されています。

## Exchange.psm1

このモジュール ファイルには、[Exchange](https://servicenow-prod.fluidtopics.net/SujFcuc2TjJui3NUku0dLQ "Exchange アクティビティパックを使用すると、ワークフローで Microsoft Exchange メールシステムを管理できます。") アクティビティパックに付属する PowerShell スクリプトで使用される関数が保存されています。

## SCCM.psm1

このモジュール ファイルには、[SCCM](https://servicenow-prod.fluidtopics.net/qvdpwTKYiQ_U~C2aHkCueg "Microsoft System Center Configuration Management (SCCM) アクティビティパックは、SCCM サーバー上のソフトウェア展開およびコレクションを管理するために使用できるオーケストレーションアクティビティを提供します。") アクティビティパックに付属する PowerShell スクリプトで使用される関数が保存されています。

