22.1 コマンドラインクライアントの使用

にアクセスする方法の1つは、eMBoxのJavaコマンドラインクライアントを使用することです。このコマンドラインクライアントには、対話式モードとバッチモードの2つのモードがあります。対話式モードでは、コマンドを一度に1つづつ実行します。バッチモードでは、コマンドのグループを自動で実行できます。コマンドラインクライアントにはログサービスがあり、いずれのモードでも使用できます。

コマンドラインクライアントは、Javaアプリケーションです。これを実行するには、Azul ZuluOpenJDKの最新バージョン(1.8以上)をインストールする必要があります。また、古いバージョンのJavaすべてで、使用可能なパッチアップグレードをインストールしてアップグレードしてください。最新バージョンのJavaをインストールしたら、次の環境変数をエクスポートします。

  • EDIR_JAVA_HOME

  • JAVA_HOME

  • JRE_HOME

メモ:

  • Linuxで前述の環境変数が何も検出されないと、コマンドラインクライアントはデフォルトPATH環境変数でJavaバイナリを検索します。

  • eDirectory 9.1 SP2以降では、Azul ZuluOpenJDK 1.8.0_192がサポートされています。

環境変数の例のいくつかを以下に記します。

  • Linux

    • EDIR_JAVA_HOME=/usr/java/java1.8.0_131

    • JAVA_HOME= /usr/java/java1.8.0_131

    • JRE_HOME= /usr/java/java1.8.0_131/jre

  • Windows

    • EDIR_JAVA_HOME= C:\Program Files\Java\jdk1.8.0_131

    • JAVA_HOME= C:\Program Files\Java\jdk1.8.0_131

    • JRE_HOME= C:\Program Files\Java\jdk1.8.0_131\jre

また、ファイアウォール越しに管理対象のサーバにアクセスできる必要があります。1つのサーバまたはワークステーションから、複数のサーバに対してタスクを実行できます。

メモ:eDirectory Management Toolboxは、コマンドラインクライアントとコマンドラインヘルプの両方とも、英語にのみ対応しています。

この節では、次の項目について説明します。

22.1.1 コマンドラインヘルプを表示する

クライアントを実行する前に、の一般的なコマンドラインヘルプを表示するには、次の操作を実行します。

  • Linux: コマンドラインで、「edirutil -?」と入力します。

  • Windows: drive\novell\nds\\edirutil.exe -?を実行します。

インタラクティブモードでのインタラクティブなコマンドラインヘルプを表示するには、クライアントのプロンプトで疑問符(?)を入力します。たとえば、「Client> ?」のように入力します。

ヘルプには、eMBoxコマンドラインクライアントのオプションで示すようなコマンドラインオプションに関する情報が表示されます。

22.1.2 コマンドラインクライアントを対話式モードで実行する

対話式モードでは、コマンドを一度に1つづつ実行します。

この節では、次の項目について説明します。

eDirectoryサーバでクライアントを実行する

クライアントおよびSun JVM 1.3.1は、eDirectoryと同時にインストールされています。eDirectoryサーバの対話式モードでクライアントを開始するには、次の操作を行います。

  • Linux: コマンドラインで、「edirutil -i」と入力します。

  • Windows: drive\novell\nds\edirutil.exe -iを実行します。

edirutilファイルは、クライアントを実行するためのショートカットです。これは、Java実行可能ファイルと、eDirectoryでクライアントがインストールされるデフォルトの場所を指しています。この情報は、クライアント用にパスおよびクラスパスをセットアップするに記載されているようにして手動で入力することもできます。

管理するサーバに対してコマンドラインクライアントを使用するには、ファイアウォールの後ろ側へのアクセスが必要になります。したがって、リモートからの操作にはVPNアクセスが必要となります。

ワークステーションでクライアントを実行する

eDirectoryサーバではないコンピュータでクライアントを使用するには、次の操作を実行します。

  • eMBoxClient.jarファイルをeDirectoryサーバから自分のマシンにコピーします。

    • Windows: \novell\nds\\eMBoxClient.jar

    • Linux: /opt/novell/eDirectory/lib/nds-modules//eMBoxClient.jar

  • Sun JVM 1.3.1がインストールされていることを確認します。

  • 管理するサーバに対してコマンドラインクライアントを使用するためには、ファイアウォール越しにアクセスできることを確認します。

ワークステーション上では、サーバ上のようにクライアントをインタラクティブモードで開くためのショートカットとしてedirutilコマンドを使用することはできません。パスおよびクラスパス内で環境をセットアップするか、パスをその都度手動で入力します。詳細については、クライアント用にパスおよびクラスパスをセットアップするを参照してください。

クライアント用にパスおよびクラスパスをセットアップする

eDirectoryサーバ上でクライアントを実行している場合、JavaファイルまたはeMBoxClient.jarファイルの場所を変更していなければ、クライアントの実行へのショートカットとしてedirutilを使用することができます。詳細については、eDirectoryサーバでクライアントを実行するを参照してください。

ただし、デフォルトの場所を変更した場合、またはeMBoxClient.jarファイルをサーバでないマシン上で実行している場合、あるいはクラスパスを手動で入力したい場合は、クライアントのパスおよびクラスパスをこのセクションの説明のようにセットアップする必要があります。

次の操作を実行すれば、クライアントをコンピュータ上のどの場所からでも実行できます。

  • Java実行ファイル(Java.exeなど)があるディレクトリをパスに追加するか、またはJavaがすでに実行されていることを確認します。

    サーバの場合、ほとんどはすでに実行されています。Windowsサーバ、Linuxサーバ、およびUNIXサーバでは、実行ファイルのディレクトリをパスに追加する必要があります。

    ワークステーションの場合、手動セットアップが必要となる場合があります。たとえば、Windwosでは、[スタート]>[設定]>[コントロール パネル]>[システム]の順にクリックします。[詳細設定]タブで、[環境変数]をクリックし、[パス]変数にパスを追加します。

    パスを手動で入力するには、次の操作を実行します。 Java実行ファイルへのパスが追加されていない場合は、まずコマンドラインでJava実行ファイルが含まれたディレクトリへ移動してから、実行する必要があります。たとえば、Windowsでは、「cd c:\novell\nds\\jre\bin」と入力します。

  • eMBoxClient.jarファイルへのパスを、クラスパスに追加します。

    Windowsサーバまたはワークステーション: set CLASSPATH=path\eMBoxClient.jar

    Linuxサーバまたはワークステーション: export CLASSPATH=path/eMBoxClient.jar

    パスを手動で入力するには、次の操作を実行します。 クラスパスを指定する他の方法としては、次のように、実行するときにその都度Javaの-cpフラグを使用する方法もあります。

    java -cp path/eMBoxClient.jar -i

    たとえば、Windowsでは、「java -cp c:\novell\nds\\eMBoxClient.jar -i」と入力します。

これらの手順を実行した後は、次のコマンドを使用して、コンピュータ上のどの場所からでも対話式モードによるeMBoxクライアントを実行できます。

java  -i

Javaコマンドに関する詳細については、OracleのWebサイトでJavaのマニュアルを参照してください。

サーバにログインする

サーバにログインするには、サーバ名またはIPアドレス、および特定のサーバへ接続するためのポート番号を指定する必要があります。パブリックログインの場合はユーザ名とパスワードは不要です。

たとえば、クライアントを対話式モードでオープンした後で、次のように入力します。

login -s 137.65.123.244 -p 8008 -u admin.mycompany 
-w mypassword -n

ポート番号についての詳細は、eDirectoryポート番号を確認するを参照してください。

使用言語、タイムアウト、およびログファイルを設定する

デフォルトの言語は、クライアントシステムの言語です。そのため、ほとんどの場合、特別に言語を設定する必要はありません。同様に、タイムアウトもほとんどの場合、デフォルトの設定で問題ありません。ログファイルを設定するには、ファイル名とファイルを開くモード(追加または上書き)を指定します。

次の表に、コマンド例を示します。

コマンド

説明

set -L en,de

使用言語を英語、ドイツ語の優先順で設定します。

set -T 100

タイムアウトを100秒に設定します。タイムアウトは、サーバからの応答を待つ時間を設定するものです。

set -l mylog.txt -o

ログファイルとしてmylog.txtを使用し、上書きモードで開きます。

デフォルトの設定は「追加」です。

eMToolとそのサービスを表示する

サーバにログインしたら、listコマンドを使用して、そのサーバ上で使用できるサービスを表示できます。

listコマンドを使用すると、次に示すeMToolとそのサービスが動的に表示されます。

eMTool

説明

バックアップ

NetIQ eDirectory Backup eMTool

DSMerge

NetIQ eDirectory Merge eMTool

DSRepair

NetIQ eDirectory Repair eMTool

DSSchema

NetIQ eDirectory Schema Operations eMTool

service

NetIQ eDirectory Service Manager eMTool

リストを強制的にリフレッシュするには、-rを使用します。サービスの詳細を表示するには、-tを使用します。コマンド形式のみを表示するには、-fを使用します。

次の表に、コマンド例を示します。

コマンド

説明

リスト

サーバ上で使用できるeMToolを表示します。

list -r

eMToolリストをリフレッシュします。

list -t backup

backupサービスの詳細を表示します。

list -t dsrepair

DSRepairサービスの詳細を表示します。

list -t dsmerge -f

DSMergeサービスのコマンド形式だけを表示します。

特定のサービスを実行する

サーバにログインした後は、各eMToolサービスを使用してタスクを実行できます。次に例を示します。

コマンド

説明

dsrepair.rld

ローカルデータベースを修復します。

backup.getconfig

バックアップ設定情報を取得します。

詳細については、次を参照してください。

現在のサーバからログアウトする

現在のセッションからログアウトするには、次のコマンドを使用します。

logout

別のサーバにログインする場合は、このコマンドを使用する必要がありません。現在のサーバから自動的にログアウトされます。

eMBoxクライアントを終了する

eMBoxクライアントを終了するには、次のいずれかのコマンドを使用します。

exit

または

quit

22.1.3 コマンドラインクライアントをバッチモードで実行する

クライアントをバッチモードで実行するには、次の3つの方法があります。

システムバッチファイルと内部バッチファイルを組み合わせて使用することで、コマンドをより自由に実行でき、頻繁に実行するコマンドの編成や再使用が可能です。

単一タスク

コマンドラインから単一のタスクをバッチモードで実行するには、コマンドに-tオプションを使用してツールとタスクを指定し、-iオプション(-iは対話式モードを指定するオプションです)を省くだけです。次に例を示します。

java -s 137.65.123.244 -p 8008 -u admin.mycompany 
-w mypassword -l mylog.txt -t dsrepair.rld -n

異なるサーバ上で複数のタスクを実行する場合や、頻繁に実行するタスクの場合は、内部バッチファイルを使用する方が便利です。詳細については、次のセクション(内部バッチファイル)を参照してください。

内部バッチファイル

クライアント内部バッチファイルを使用してクライアントをバッチモードで実行するには、インタラクティブモードで実行するコマンドのグループを記述したファイルを作成する必要があります。

クライアント内部バッチファイルを使用すると、バッチファイルに記述したすべてのコマンドを自動的に実行できます。複数のツールを使用した複数のタスクを、同一のサーバ上でタスクごとにログインとログアウトを繰り返すことなく実行できます。また1つのサーバから、複数のサーバに対して複数のツールを使用したタスクを実行できます。

内部バッチファイルを使用すれば、頻繁に実行するコマンドをまとめ、再利用することができます。それらのコマンドは、実行に際してその都度コマンドラインから手動で入力する必要はありません。

内部バッチファイルを実行するには、コマンドラインでクライアントのコマンドを使用します。たとえば、次のコマンドは、サーバにログインし、mybatch.mbxファイル内に列挙されたコマンドを実行します。

java -s 137.65.123.244 -p 8008 -u admin.mycompany -w mypassword -l mylog.txt -o -b mybatch.mbx -n

もう1つの方法は、同様のコマンドをシステムバッチファイル内に記述し、そのファイルがサーバ上で自動実行されるようにスケジュールすることです。詳細については、システムバッチファイルを参照してください。

次に、内部バッチファイルの例を示します。このファイルには、実行するコマンドの例および別のサーバへログインする例が記述されています。この例では、クライアントを開いたときに、サーバにログインしているものと仮定しています。それぞれのコマンドは別々の行に入力する必要があります。#で始まる行はコメントです。

# This file is named mybatch.mbx.
# This is an example of commands you could use in 
# an internal command batch file. 

# Backup commands 
backup.getconfig 
backup.backup -b -f mybackup.bak -l backup.log -t -w
 
# DSRepair commands 
dsrepair.rld 

# Log in to a different server
login -s 137.65.123.255 -p 8008 -u admin.mycompany -w mypassword -n

# DSMerge commands 
dsmerge.pr -u admin.mycompany -p admin.mycompany -n mypassword # Schema Operations 
dsschema.rst 
dsschema.dse 
dsschema.rls 
dsschema.gsu 
dsschema.scc 
dsschema.irs -n LocalTree
 
# DSService commands 
service.serviceList 
 
# End of example.

システムバッチファイル

他のコマンドラインツールと同様に、クライアントコマンドが含まれたシステムバッチファイルを作成し、それらをコマンドラインから手動で実行したり、サーバ上で自動で実行されるようにスケジュールしたりできます。たとえば、バッチファイルとeMBoxクライアントによる無人バックアップで示す例のように、システムバッチファイルを使用して、自動でバックアップを実行できます。

1つのサーバから複数のサーバに対して、複数のツールを使用したタスクを実行できます。

システムバッチファイルでは、クライアントの単一コマンドと内部バッチファイルを組み合わせて使用できます。これにより、コマンドをより自由に実行でき、頻繁に実行するコマンドの編成や再使用ができます。詳細については、内部バッチファイルを参照してください。

バッチファイルを自動で実行する方法については、ご使用のオペレーティングシステムのマニュアルまたはサードパーティ製スケジューリングソフトウェアのマニュアルを参照してください。

22.1.4 eMBoxコマンドラインクライアントのオプション

オプション

説明

-? または -h

ヘルプ情報を表示します。

-i

コマンドを一度に1つづつ、対話的に実行します。

-s server

サーバの名前またはIPアドレスを指定します。

Default=127.0.0.1

-p port

サーバのポート番号を指定します。

Default=8008

-u user

ユーザDN. たとえば、admin.mycompanyと指定します。

Default=anonymous

-w password

-uで指定したユーザのパスワードを指定します。

-m mode

ログインモードを指定します。

Default=dclient

-n

安全なSSL接続を試行しません。保護されていない接続を使用します。

このオプションを使用しない場合、クライアントではSSL接続を確立しようとします。そのため、クラスパスにはJSSEファイルが必要となり、これがない場合はエラーが返されます。詳細については、クライアントを使用してセキュア接続を確立するを参照してください。

-l log file

ログファイルの名前を指定します。

-o

ログファイルを開いた後は、上書きします。

-T timeout

サーバから応答を待つ時間(秒)を指定します。

-L language

使用する言語を優先順にカンマで区切って指定した一覧です。たとえば、「en-US,de_DE」のように指定します。このオプションのデフォルトは、クライアントシステムの言語です。

-t [tool.]task options

この接続での単一のサービスを実行します。-tに続く文字列は、有効なコマンドである必要があります。

-b batch file

バッチファイルで指定した一連のサービスを実行します。バッチファイル内のコマンドは、行を分けて記述する必要があります。#で始まる行はコメントです。

22.1.5 クライアントを使用してセキュア接続を確立する

非セキュア接続を使用している場合、ユーザ名やパスワードなどの入力したすべての情報は、クリアテキストでネットワーク上に送信されます。

SSLを使用したセキュア接続を確立するには、次の操作を実行します。

  • サーバへログインする際は、コマンドで-nオプションを使用しないでください。このオプションは、非セキュア接続を指定するものです。セキュア接続がデフォルトの設定です。

  • クラスパスに、次に示すJSSE(Java Secure Socket Extension)ファイルがあることを確認します。

    • jsse.jar

    • jnet.jar

    • jcert.jar

    これらのファイルがない場合、クライアントは、セキュア接続が確立できないことを示すエラーを返します。

    これらのファイルやJSSEについての情報は、OracleのWebサイトから入手できます。

22.1.6 eDirectoryポート番号を確認する

クライアントでサーバにログインするには、ポート番号を指定する必要があります。

eDirectoryをインストールする際にポート番号を指定した場合には、その番号を使用します。

すべてのプラットフォームで、デフォルトの非セキュアポートは8008、セキュアポートは8030です。

次に示すセクションには、eDirectoryに割り当てられたポートを確認するための、その他のヒントがあります。

Windowsの場合

  1. スタート]>[設定]>[コントロールパネル]の順にクリックします。

  2. NetIQ eDirectoryサービス]アイコンをダブルクリックしてから、[トランスポート]タブをクリックします。

  3. セキュアポート、または非セキュアポートを確認します。

    • 非セキュアポートを確認するには、HTTPの横のプラス記号をクリックします。

    • セキュアポートを確認するには、HTTPSの横のプラス記号をクリックします。

    Bound Transports]の横のプラス記号をクリックすると、ポート番号が表示されます。

Linuxの場合

次のコマンドを使用して、ポートを表示できます。

ndsconfig get | grep http

http.server.interface、その次にポート番号という表現で記述された行を探します。