---
title: NI VLM
description: OpenLM Version 26 で OpenLM Broker を設定し、nivlmcmd.exe がエクスポートする切断済みライセンスを含めて NI Volume License Manager を監視し、EasyAdmin でライセンスサーバーを FLEXlm として承認します。
product: OpenLM Version 26 (legacy)
---

> **OpenLM Version 26（レガシー）。** このページは OpenLM Platform ではなくレガシー製品について説明しています。

以下の手順で、NI Volume License Manager（NI VLM）を OpenLM で監視します。NI VLM がネットワークから切り離されたコンピューター向けに切断するライセンスも対象です。NI VLM は FlexNet のライセンスサーバーを実行するため、OpenLM Broker は FLEXlm のライセンスサーバーと同じように `lmutil` で問い合わせます。ライセンスマネージャーの種類 **NIVLM** では、Broker は NI VLM のコマンドラインツール `nivlmcmd.exe` も実行して切断済みライセンスをエクスポートし、それぞれを借用ライセンスとして OpenLM SLM にレポートします。これにより、EasyAdmin で各切断済みライセンスを保持しているコンピューターと、その有効期限を確認できます。

## 要件

開始する前に、次を用意してください。

- EasyAdmin にアクセスできる OpenLM SLM。
- NI VLM サーバーのマシンにインストールされ、OpenLM SLM にレポートしている OpenLM Broker v26.7.8.1247 以降。それより前の Broker リリースでは、ライセンスマネージャーの種類に **NIVLM** が表示されません。Broker は `nivlmcmd.exe` をローカルで実行するため、NI VLM サーバー上で動作する必要があります。
- NI Volume License Manager 2025 Q4 以降。NI は、このバージョンで `nivlmcmd.exe` に `disconnected-usage` エクスポートを追加しました。
- NI VLM のインストールフォルダーにある `nivlmcmd.exe`。既定は `C:\Program Files (x86)\National Instruments\Volume License Manager\nivlmcmd.exe` です。
- NI VLM サーバー上で管理者権限で動作する Broker サービス。`nivlmcmd.exe` は管理者権限がないと動作しません。
- NI VLM の Main Licensing Port。既定は `27000` です。確認するには、NI VLM を開いて **Tools → Preferences → General** に移動します。

## 監視機能

種類 **NIVLM** では、Broker は種類 **FLEXlm** と同じライセンスサーバーの `lmstat` レポートを OpenLM SLM に送信し、次の 2 点を変更します。

- **切断済みライセンス:** Broker は `nivlmcmd.exe` のエクスポートにある各ライセンスを、借用ライセンスとしてそのフィーチャーに追加します。また、追加した切断済みライセンスの数だけ、フィーチャーの発行済み合計数と使用中の数の両方を増やします。
- **予約:** Broker はレポートから予約の行をすべて削除し、予約されたライセンスを使用中のライセンスから差し引きます。NI VLM の `lmstat` レポートでは、切断済みライセンスはホストグループの予約の中に含まれ、どの予約が切断済みかはレポートからわかりません。

切断済みライセンスごとに、Broker は次の情報をレポートします。

- **Feature name**: エクスポートの `PackageName` の値（例: `LabVIEW_Pro_PKG`）。
- **Username** と **Workstation**: `ClientName` のコンピューター名。NI VLM 2026 Q3 以降、NI はコンピューターベースのライセンスのみを切断します。
- **Start time**: `CreationDateTimeUTC` の値。NI VLM が切断済みライセンスを作成した時刻です。
- **Linger time**: `CreationDateTimeUTC` から、切断済みライセンスの有効期限である `ExpirationDateTimeUTC` までの時間。

## OpenLM と NI VLM の連携方法

*OpenLM が NI VLM のライセンス使用状況を収集する仕組み*

Broker は NI VLM サーバーのマシン上で実行され、ライセンスデータを OpenLM SLM に送信します。NI VLM では、Broker は 2 つのコマンドラインツールを実行し、ログファイルは読み取りません。

- **コマンド:** **Data Inquiry** コマンドはセミコロンで区切られた 2 つのコマンドで構成され、既定で 55 秒ごとに実行されます。

    ```text
    "<Executable path>lmutil" lmstat -a -c <port>@<Host> -i;"<Executable path>nivlmcmd.exe" disconnected-usage {$destination_path}
    ```

    Broker は実行のたびに、最初に `lmutil`、次に `nivlmcmd.exe` を実行します。一方が失敗しても、もう一方は停止しません。
- **エクスポート:** `nivlmcmd.exe` は、その時点で切断されているライセンスを、`nivlm-disconnected-usage-2026-10-23_09-15-42.csv` のように日時を名前に含む CSV ファイルに書き出します。Broker は `{$destination_path}` を Broker のインストールの `nivlm` フォルダーに置き換え、そこにある最新のファイルを読み取り、最新の 2 つを除くファイルを削除します。ファイルには切断済みライセンスごとに 1 行があります。

    ```text
    LicenseName,PackageName,ClientName,IsUser,HostIdLockedTo,CreationDateTimeUTC,ExpirationDateTimeUTC,ReconnectDateTimeUTC,ReconnectReason
    LabVIEW Professional Development System,LabVIEW_Pro_PKG,WS-1001,False,0A1B2C3D4E5F,2026-10-01 08:30:00,2027-01-31 22:59:59,,
    ```

    Broker は `PackageName`、`ClientName`、`CreationDateTimeUTC`、`ExpirationDateTimeUTC` を読み取り、ほかの列は無視します。
- **レポート:** Broker は各行を、借用ライセンスの形式で、`lmstat` 出力の `Users of <PackageName>:` ブロックに追加します。linger の時間は秒単位です。

    ```text
        WS-1001 WS-1001 WS-1001 (nivlm01.example.com/27000 1), start Thu 10/1 08:30 (linger: 10592999)
    ```

    Broker は、`lmstat` 出力にその `PackageName` のブロックがある場合にのみ行を追加し、それ以外の行は破棄します。
- **セッション:** Data Inquiry のたびに、その時点で切断されているライセンスをレポートします。NI VLM の管理者がコンピューターを再接続すると、そのライセンスはエクスポートから外れるため、次のレポートには含まれません。
- **ログファイル:** なし。種類 **NIVLM** には独自のログファイルの種類がなく、**Log Files** タブには **Other** だけが表示されます。

## NI VLM を確認する

Broker は `nivlmcmd.exe` がエクスポートした内容だけをレポートするため、最初に NI VLM サーバーでエクスポートを手動で実行します。

1. ほかのユーザーの切断された Remote Desktop セッションも含め、サーバー上のすべてのセッションで NI Volume License Manager を閉じます。

    NI VLM のユーザーインターフェイスが開いている間、`nivlmcmd.exe` は実行できません。

2. 管理者としてコマンドプロンプトを開き、既存のフォルダー（例: `C:\Temp`）へのエクスポートを実行します。

    ```bat
    "C:\Program Files (x86)\National Instruments\Volume License Manager\nivlmcmd.exe" disconnected-usage C:\Temp
    ```

    ツールは `Report exported successfully to` に続けて、新しい CSV ファイルのパスを表示します。

3. CSV ファイルを開き、想定している切断済みライセンスが 1 ライセンスにつき 1 行で一覧表示されていることを確認します。

## OpenLM Broker の設定

:::note
この手順を開始する前に、NI VLM サーバーのマシンに OpenLM Broker をインストールし、OpenLM SLM にレポートしていることを確認してください。
:::

1. NI VLM サーバーのマシンでブラウザーを開き、[Broker の Web UI](https://www.openlm.com/documentation/ja/legacy/openlm-broker/openlm-broker-webui)（[http://localhost:5090/](http://localhost:5090/)）に移動します。

2. **License Managers** ページで、**Host** に NI VLM サーバーのマシンのホスト名を設定し、フィールドの横にある保存アイコンを選択します。

    Broker はライセンスマネージャーを追加した時点でホスト名を `lmutil` のコマンドに書き込むため、**Host** はライセンスマネージャーを追加する前に設定します。

3. この Broker がすでにこの NI VLM サーバーを **FLEXlm** として監視している場合は、ライセンスファイルのパスなど、そのライセンスマネージャーの設定を控えてから、**License Managers** の一覧から削除します。

    Broker は、この Broker のほかのライセンスマネージャーがすでに使用しているポートを、無効なライセンスマネージャーのポートであっても受け付けません。種類 **NIVLM** は同じポートに問い合わせます。

4. **License Managers** → **Add License Manager** に移動します。

5. **LM Type** から、**FLEXlm** ではなく **NIVLM** を選択します。

6. **Port** に NI VLM の Main Licensing Port（例: `27000`）を入力し、**Add** を選択します。

    *NI VLM をライセンスマネージャーとして追加する*

7. **Commands** タブで **Data Inquiry** を選択し、コマンド内の `nivlmcmd.exe` のパスを変更します。

    Broker は、Broker のインストールの `tools64` フォルダーである **Executable path** を使って両方のコマンドを入力済みにします。`lmutil` はこのフォルダーから実行されますが、`nivlmcmd.exe` は NI VLM のインストールフォルダーにあります。`nivlmcmd.exe` の前のパスをそのフォルダーに置き換え、コマンドのほかの部分はそのままにします。

    ```text
    "C:\Program Files\OpenLM\OpenLM Broker\tools64\lmutil" lmstat -a -c 27000@nivlm01.example.com -i;"C:\Program Files (x86)\National Instruments\Volume License Manager\nivlmcmd.exe" disconnected-usage {$destination_path}
    ```

    `{$destination_path}` はそのままにします。Broker はエクスポートを Broker のインストールの `nivlm` フォルダーからのみ読み取り、コマンドの実行時に `{$destination_path}` をそのフォルダーに置き換えます。Broker はコマンドを 55 秒ごと（**Watch interval (sec)**）に実行します。

    *Data Inquiry コマンドに nivlmcmd.exe を指定する*

    後で **Executable path** を変更するか **Restore Default** を選択すると、Broker は既定のコマンドに戻します。その後、`nivlmcmd.exe` のパスを再度変更します。

8. **Vendors** タブと **Log Files** タブはそのままにして、**Save** を選択します。

    **Vendors** タブには、この種類のために Broker が追加する **NIVLM** という名前のベンダーが表示されます。

## OpenLM SLM の設定

ライセンスサーバーは種類 **FLEXlm** で承認します。種類 **NIVLM** のレポートは切断済みライセンスを追加した `lmstat` 出力であり、OpenLM SLM はこれを FLEXlm の出力として読み取ります。

1. EasyAdmin（`http://<Server IP>:5015`）を開き、**Start → Widgets → License Manager - Servers** に移動します。
2. ウィジェット上部の **There are N servers pending approval** リンクを選択します。

    **Administration - License Manager Servers** ウィンドウが開き、保留中のエントリが一覧の先頭に表示されます。

3. Broker で設定した NI VLM サーバーのホスト名とポートを持つ保留中のエントリを探し、その行の末尾にある編集アイコンを選択します。
4. **Type** を **FLEXlm** に設定し、必要に応じて **Display name** で接続の名前を変更し、**Host Name** と **Port** を確認して **APPROVE** を選択します。

## 設定の確認

1. ブラウザーで EasyAdmin を開きます。
2. **Start → Widgets → License Manager - Servers** に移動します。
3. NI VLM のライセンスサーバーが種類 **FLEXlm**、ステータス **Up to date** で表示され、**Borrowed** に切断済みライセンスが含まれていることを確認します。
4. **Start → Operational → Currently Consumed Licenses** に移動し、各切断済みライセンスが **Borrowed** にチェックマーク付きで、**Username** と **Workstation** にコンピューター名、**Linger Due** に有効期限が表示されていることを確認します。

## トラブルシューティング

Broker は、このライセンスマネージャーのメッセージを Broker のインストールの `logs` フォルダーにある `port-<port>-NIVLM.log`（例: `port-27000-NIVLM.log`）に書き込みます。このセクションのメッセージは `ERROR` メッセージのため、既定のログレベルで表示されます。ログを次のケースと比較します。

- **`NiVLM nivlmcmd sub-command failed`** に続いて理由が表示される。Broker は `nivlmcmd.exe` を実行できません。[OpenLM Broker の設定](#openlm-broker-の設定)の説明に従って、**Data Inquiry** コマンド内の `nivlmcmd.exe` のパスを確認します。
- **`NiVLM nivlmcmd produced no CSV content in`** に続いてフォルダーが表示される。`nivlm` フォルダーにエクスポートがありません。[NI VLM を確認する](#ni-vlm-を確認する)の説明に従ってエクスポートを手動で実行します。ツールが `Error 17001: NI Volume License Manager is already running.` と表示する場合は、サーバー上のいずれかのセッションで NI VLM のユーザーインターフェイスが開いています。すべてのセッションで閉じます。手動ではエクスポートできても Broker からはできない場合は、Broker サービスが管理者権限で動作していることを確認します。管理者権限がないと、`nivlmcmd.exe` は `Please run the application as an administrator.` と表示します。
- **`NiVLM lmutil sub-command produced no output`**。Broker はライセンスサーバーに問い合わせできません。ライセンスマネージャーのポートと **Host** を確認します。

切断済みライセンスがエクスポートにあるのに OpenLM にない場合は、その `PackageName` をライセンスサーバーのフィーチャーと比較します。Broker は、`lmstat` 出力に同じ名前で一覧表示されるフィーチャーにのみ行を追加し、それ以外の行は `ERROR` メッセージを出さずに破棄します。

## 既知の制限

種類 **NIVLM** による NI VLM の監視には、次の制限があります。

- Broker がエクスポートするのは、Data Inquiry の時点で切断されているライセンスだけです。ライセンスマネージャーを設定する前に NI VLM が切断したライセンスの履歴は OpenLM に届きません。
- Broker は、切断済みライセンス以外の予約も含め、`lmstat` レポートから予約の行をすべて削除します。このライセンスサーバーの予約は OpenLM に表示されません。
- 各切断済みライセンスは、コンピューター名をユーザー名とワークステーションの両方として届きます。
- 有効期限のない切断済みライセンス（エクスポートでは `Permanent`）には linger の時間がありません。Broker は linger の時間なしで追加するため、借用としてマークされません。
- `nivlmcmd.exe` が失敗すると、Broker は `nivlm` フォルダーにすでにある最新のエクスポートを読み取ります。その場合、エクスポートが成功するまで、OpenLM はそのエクスポートの切断済みライセンスを表示し続けます。
- 種類 **NIVLM** には、種類 **FLEXlm** が拒否を読み取るログである **FlexLM Debug Log File** のログの種類がありません。
- 既定の **Data Inquiry** コマンドは、Broker の tools フォルダーで `nivlmcmd.exe` を探します。[OpenLM Broker の設定](#openlm-broker-の設定)の説明に従って、パスを手動で変更します。
- **License Managers** ページの **Detect** では、NIVLM のライセンスマネージャーは追加されません。ライセンスマネージャーは手動で追加します。
