ADManager Plus ナレッジベース

カスタムスクリプト機能について


[確認ビルド] ビルド6651

ADManager PlusではADのユーザーを含めたオブジェクトの作成/変更/削除をトリガーとしてスクリプトを実行し、現在ご利用中のシステムに同様の操作を加えられます。スクリプトについては、WindowsOS上で動作可能なvbs、PowerShell、バッチファイルなどを登録することが可能です。

本ナレッジではカスタムスクリプトの作成、登録方法についてご紹介します。

カスタムスクリプトの基本的事項
成功/失敗の判断方法

 

 

カスタムスクリプトの基本的事項

カスタムスクリプトで利用可能なファイル

1. VBS
2. BAT
3. CMD
4. PS1

 

カスタムスクリプトの記述方法

スクリプトコマンドのテキストボックスにカスタムスクリプトのパスを記述します。

構文:<ファイルのパス> <コマンドラインの変数>

VBSファイルの指定例

cscript c:\dir1\scr.vbs %userName%
cscript c:\dir~1\scr.vbs %userName%
cscript scr.vbs %userName%

PS1ファイルの指定例

powershell C:\Users\Administrator\Desktop\script1.ps1

 


画像:カスタムスクリプトの記述例

 

変数の利用方法

[sAMAccountName]や[mail]等のオブジェクトの属性を変数として利用できます。

例えばテンプレートを利用してユーザーが所属するグループを変更し、
スクリプトでユーザー名を利用して連携しているアプリの所属グループを
変更する場合は以下のように記述してください。

powershell C:\Users\Administrator\Desktop\script1.ps1 %sAMAccountName%;

スクリプトファイルのパスに %username% などの変数を使用する場合、パスにスペースを含めることはできません。パスにスペースが含まれる場合には文字列の前に「~」を使用すると、スペースの後が入力パラメータとエラー時の結果として扱われます。

ユーザー名等の変数を直接入力することも可能です。
その場合は次のようにパスを入力します

cscript "c:\dir 123\scr.vbs" testuser

 

画像:変数を利用したカスタムスクリプトの記述例

マクロで渡している属性が入力されていない場合、nullとは扱われず配列に入りませんのでご注意ください。
下記の例ですと、マクロで渡す属性をすべての入力した場合は6番目にdescriptionとなりますが、もし説明(description)がADManager Plus上で入力されていない場合、6番目にはemployeeIDが入ります。したがって、マクロで値を渡す場合は、マクロの属性をすべて入力してください。

マクロで渡す属性をすべて入力した場合
Result:
0_sAMAccountName
1_name
2_Password2019
3_sn
4_givenName
5_description
6_employeeID
7_mail@zoho.com
説明(description)を入力しない場合
Result:
0_sAMAccountName
1_name
2_Password2019
3_sn
4_givenName
5_employeeID
6_mail@zoho.com
7_
変数として使用できる属性につきましては、下記のナレッジをご参照ください。

変数として使用できる属性一覧(カスタムスクリプト)

 

カスタムスクリプトを設定可能な個所
  • ユーザー作成テンプレート
  • ユーザー変更テンプレート
  • グループ作成テンプレート
  • グループ変更テンプレート
  • 連絡先作成テンプレート
  • 連絡先変更テンプレート
  • メールボックス作成テンプレート
  • メールボックス変更テンプレート
  • ユーザ自動化
  • ワークフロー

テンプレートを利用した場合、テンプレートが適用された後にカスタムスクリプトが実行されます。
例:ユーザーテンプレートを利用してユーザーを作成した後にカスタムスクリプトを実行

 

成功/失敗の判断方法

アクション実行時に表示される実行結果の一覧にカスタムスクリプトの結果が表示されます。

成功:Success

失敗:エラーの内容が表示
(例:スクリプトの実行中にIO例外が発生しました)

 

画像:ユーザ作成時にカスタムスクリプト実行に成功

 

カスタムスクリプトが実行されて5秒以上経過すると「カスタム スクリプトがバックグラウンドで実行されています」というメッセージが表示されます。こちらのテキストはカスタムスクリプト終了後もそのまま表示され続けます。
その場合、コンソールからスクリプトの実行が終了したことを確認出来ませんため、ログからご確認ください。

 

ファイル名 serverOut_<処理を実行した日付>.txt
対象フォルダ <ADManager Plusインストールフォルダ>\logs
処理が開始されるときの記録 Starting CustomScriptThread ...|
処理が終了したときの記録 CustomScript Execution finished...|

 

ログの記録の例

ーーーーーーーーーーーーーーーーーーーー
[13:22:32:679]|[08-30-2018]|[SYSOUT]|[INFO]|[539]: Starting CustomScriptThread ...|
[13:22:32:679]|[08-30-2018]|[SYSOUT]|[INFO]|[1326]: Custom Script Command::powershell C:\Users\Administrator\Desktop\desktop.ps1 -username testuser|
[13:22:33:680]|[08-30-2018]|[SYSOUT]|[INFO]|[1326]: CustomScript Execution finished...|
ーーーーーーーーーーーーーーーーーーーー

 

以上

 

カスタムスクリプト機能を利用したグループウェア連携についてはこちら

カスタムスクリプトの利用【LINE WORKS編】

カスタムスクリプトの利用【Cybozu編】