许可命令

虽然 License Administration Console 提供了一种访问许多许可功能的简便方法,但您也可以使用命令执行许可任务。您可以使用许可管理命令对 License Server 执行控制台中不可用的高级操作。此类操作包括使用 lmdiag 诊断签出问题。

  • 许可管理命令存储在:

  • 32 位计算机上的 C:\Program Files\Citrix\Licensing\LS
  • 64 位计算机上的 C:\Program Files (x86)\Citrix\Licensing\LS

  • 命令说明

  • lmadmin — 提供许可配置。使用 License Administration Console 执行许可配置和管理任务。请勿使用 lmadmin

  • lmdiag — 诊断许可证签出问题。

  • lmdown — 正常关闭 License Manager 和 Citrix® 供应商守护程序(默认禁用)。

  • lmhostid — 报告运行 Citrix Licensing 的服务器的主机 ID。

  • lmreread — 使 License Manager 守护程序重新读取许可证文件并启动 Citrix 供应商守护程序。
  • lmstat — 显示 License Server 的状态。

  • lmutil — 显示许可实用程序列表或执行其他命令。

  • lmver — 显示许可二进制文件的版本信息。

  • udadmin — 显示所有获得许可的用户和设备,并删除指定的获得许可的用户和设备。此命令仅适用于用户/设备许可证。指定 udadmin -export 将导出未处理的用户和设备数据。此数据用于计算许可证使用情况,而不是正在使用的许可证列表。要获取许可证列表,请指定 udadmin -list

许可证命令格式

许可管理命令的格式约定:

约定 说明
粗体 命令或开关,例如 lmstat。
斜体 将变量替换为值。例如,在表达式:lmstat -c license_file_list 中。运行命令之前,请将 license_file_list 替换为一个或多个许可证文件的名称。
[方括号] 文本周围的方括号表示可以添加到命令中的选项。它可能表示必须替换方括号内的文本。

通用参数

大多数许可管理命令的有效参数:

参数 说明
-all 将命令应用于网络上的所有 License Server。
-c 允许您指定许可证文件或 License Server 端口和主机名。如果指定路径时未包含许可证文件名,则该命令将应用于目录中的所有许可证文件。对于本地主机:-c @localhost 对于远程 License Server:-c @servername 对于群集中的 License Server:-c @clientaccesspointname 对于指定路径:-c path 对于一个或多个许可证文件的名称:-c license_file_list 您可以通过用分号分隔每个路径来输入多个许可证文件路径。包含空格的路径名必须用双引号引起来。
-h 许可证句柄,由 lmstat -a 报告。许可证句柄是用于标识特定已签出许可证的数字。
-help 显示用法信息并退出。
-s [server] 如果您未指定 server,则此参数将显示 License Server 上列出的所有许可证文件或所有 License Server 上的许可证文件的状态。
-verbose 显示所有发现的错误的更长说明。

诊断签出问题 (lmdiag)

lmdiag 命令允许您诊断产品无法签出许可证时出现的问题。特别是,您可以测试您的许可证是否有效以及 License Server 是否正在运行。当您运行此命令时,它会尝试签出许可证。

您还可以使用 lmdiag 命令查看特定类型的许可证是否正常工作。

示例:

仅对您的 Citrix Virtual Apps™ 服务器高级版许可证运行 lmdiag。将 MPS_ADV_CCU 指定为参数。

语法:

lmdiag -c license_file_list [-n] [feature[:keyword=value]]

参数 说明
-c license_file_list 诊断指定的文件。您还可以使用:-c @localhost 或 -c @server-name
-n 以非交互模式运行。在此模式下,lmdiag 不会提示任何输入。
feature 将反馈限制为指定的功能。
keyword=value 如果许可证文件包含特定功能的多个行,则结果将限制为包含文本值的行。例如:lmdiag -c @localhost MPS_ENT_CCU:HOSTID=LICSERV01 尝试在主机 ID 为 LICSERV01 的行上签出。关键字是以下之一:VERSION、HOSTID、EXPDATE、KEY、VENDOR_STRING、ISSUER

如果未指定功能,lmdiag 将对列表中许可证文件中的所有功能进行操作。lmdiag 命令显示有关许可证的信息,然后尝试签出每个许可证。当签出成功时,lmdiag 会指示签出成功。当签出失败时,lmdiag 会给出失败原因。lmdiag 命令尝试连接到 License Server 上的每个 TCP/IP 端口。它会检测许可证文件中的端口号是否不正确。lmdiag 列出每个正在侦听的 TCP/IP 端口号,如果指定了 -c license_file_list,则诊断指定的文件。

lmdiag 命令在尝试签出许可证时不会联系运行 Citrix 产品的计算机。lmdiag 命令仅指示 License Server 上是否存在问题。也就是说,您的产品无法签出许可证,因为它指向了错误的 License Server,但 lmdiag 不会检测到此问题。例如,某个 License Server 上没有该产品的许可证。当 Citrix 产品指向错误的 License Server 时,lmdiag 命令会报告它可以签出许可证。

停止守护程序 (lmdown)

lmdown 命令会关闭您的 License Server 或网络上所有 License Server 上的 License Manager 守护程序和 Citrix 供应商守护程序。lmdown 命令默认处于禁用状态。要启用它:

  1. 停止许可证服务。
  2. 运行 lmadmin - allowStopServer-allowRemoteStop Server-allowRemoteStop Server
  3. 重新启动 License Server。

语法:

lmdown -c license_file_list [-vendor CITRIX] [-q] [-all]

参数 说明
  • | – | – |
  • -c license_file_list 或 -c@localhost 或 -c@server 使用指定的许可证文件。我们始终建议将 -c license_file_listlmdown 结合使用。您也可以使用:-c @localhost-c @server-name
  • -vendor CITRIX 仅关闭 Citrix 供应商守护程序。许可证管理器守护程序将继续运行。
    -q 不提示或不打印标题。否则,lmdown 会询问“Are you sure? [y/n]: .”
    -all 如果指定了多个服务器,则自动关闭所有服务器。指定 -all 时,将隐含 -q。

在许可证服务器上运行 lmdown 命令。您可以使用 -all 关闭网络上的所有许可证服务器。

如果 lmdown 遇到多个服务器且您未指定 -all 参数,则该命令会显示要关闭的许可证服务器列表供您选择。例如,-c 参数指定了一个包含许多 *.lic 文件的目录。通过使用 -c 并指定许可证服务器的名称来关闭远程许可证服务器。

注意:

如果您使用任务管理器终止许可证管理器守护程序 (Citrix Licensing Service),请先停止 lmgrd 进程,然后再停止 Citrix 供应商守护程序进程。

要仅停止并重新启动 Citrix 供应商守护程序,请使用 lmdown -c @localhost -vendor CITRIX,然后使用 lmreread -c @localhost -vendor CITRIX 重新启动供应商守护程序。

  • 检查主机名 (lmhostid)

  • lmhostid 命令返回许可证服务器的主机 ID。您可以使用该命令检查许可证服务器的主机名。您可以打开许可证文件,并将许可证文件中的主机名与许可证服务器的主机名进行比较。

  • 注意

    Citrix Licensing for Windows 11.5 及更高版本允许在存在多个主机时显示多个主机 ID。

语法:

lmhostid -bindingidentifier

参数 (bindingidentifier) 说明
-ether 用于绑定到设备的 MAC 地址的产品许可证。
-internet 用于需要 TCP/IP 地址的基于 Windows 的 Citrix 产品软件许可证。
-hostname 用于绑定到许可证服务器主机名的基于 Windows 的 Citrix 产品软件许可证。注意: 参数 hostname 区分大小写,并且必须与您的许可证服务器名称完全匹配。

重新读取许可证和选项文件 (lmreread)

lmreread 命令使 Citrix 供应商守护程序重新读取许可证文件和选项文件中的更改。重新读取后,Citrix 供应商守护程序将从那时起使用新设置和许可证。

您无法远程使用 lmreread;请在许可证服务器上本地运行它。

语法:

lmreread -c license_file_list [-all] [-vendor CITRIX]

参数 说明
-c @localhost 或 -c license_file_list 使用指定的许可证文件。
-all 如果指定了多个 lmgrd,此参数将指示所有许可证管理器守护程序重新读取。
-vendor CITRIX 指定要重新启动 Citrix 供应商守护程序。

示例:

  • lmreread -c @localhost \[-all\]
  • lmreread -c @client\_access\_point\_name
  • lmreread -c /opt/citrix/licensing/myfiles/CITRIX.lic -vendor CITRIX

显示许可实用程序列表 (lmutil)

lmutil 命令在单独使用时显示许可实用程序列表。当您将 lmutil 与另一个命令一起指定时,它会执行该命令。

语法:

lmutil

lmutil other_command

示例:

  • lmutil

    显示所有许可实用程序。

  • lmutil lmstat -c @localhost

    执行 lmstat 命令。

  • 确定许可状态 (lmstat)

lmstat 命令可帮助监控所有网络许可活动的状况,并提供有关许可签出(包括以下内容)的信息:

  • 签出一个或多个许可的产品
  • 签出数据
  • 许可文件的版本
  • 许可服务器名称和端口
  • 许可签出日期
  • 有关 Citrix 供应商守护程序状态和许可文件的信息

lmstat 命令显示从许可服务器接收到的信息。lmstat 命令仅显示许可的一次使用情况,即使有多个连接共享该许可。

语法:

lmstat [-a] [-c license_file_list] [-f [feature]] [-i [feature] [-s[server] [-S [CITRIX]] [-t timeout_value]

参数 说明
-a 显示所有信息。
-c @localhost or -c@server or -c license_file_list 使用指定的许可文件。
-f [feature] 显示使用某个功能(产品许可)的产品。如果未指定 feature,则显示所有功能的用法信息。
-i [feature] 如果未指定 feature,此参数将显示指定功能(产品许可)或所有功能的 INCREMENT 行中的信息。
-s [server] 如果未指定 server,此参数将显示许可服务器上列出的所有许可文件或所有许可服务器上列出的许可文件的状态。
  • -S [CITRIX] 列出使用 Citrix 供应商守护程序提供的功能(产品许可)的所有产品服务器。
    -t timeout_value 将连接超时设置为 timeout_value。此值限制 lmstat 尝试连接到许可服务器所花费的时间。

lmstat -c@localhost -a 的输出类似于此示例。示例中的行可能会因屏幕空间不足而中断。

License Server status: 27000@localhost

   License file(s) on localhost: C:\Program Files (x86)\Citrix\Licensing\MyFiles\citrix_startup.lic:C:\Program Files (x86)\Citrix\Licensing\MyFiles\License.lic:

   localhost: license server UP v11.15.0

   Vendor daemon status (on LicenseServer):

      CITRIX: UP v11.15.0

Feature usage info:

   Users of CITRIX: (Total of 10000 licenses issued; Total of 1 licenses in use)

   "CITRIX" v2038.0101, vendor: CITRIX, expiry: permanent(no expiration date)
vendor_string: ;LT=SYS;GP=720;SA=0
floating license

   XDT DDCPrinc-0001.citrix.com XDT XDT\_PLT\&MPS_PLT_2018.0518 (v1.0) (localhost/27000 102), start Tue 5/8 17:59

Users of CTXLSDIAG: (Total of 10000 licenses issued; Total of 0 licenses in use)

Users of XDT_PLT_CCS: (Total of 200000 licenses issued; Total of 3 licenses in use)

   "XDT_PLT_CCS" v2018.1201, vendor: CITRIX, expiry: 01-dec-2018
vendor_string: ;LT=Retail;GP=720;PSL=10;CL=VDS,VDA,VDE,VDP;SA=0;ODP=0;NUDURMIN=2880;NUDURMAX=525600
floating license

   XDT DDCAux-0001.citrix.com XDT 00001E3A (v2018.0518) (localhost/27000 534201), start Wed 5/9 15:17
   XDT DDCAux-0001.citrix.com XDT 00001E81 (v2018.0518) (localhost/27000 392504), start Wed 5/9 15:18
   XDT DDCAux-0001.citrix.com XDT 00001E0C (v2018.0518) (localhost/27000 419703), start Wed 5/9 15:18
<!--NeedCopy-->

以下是 lmstat 输出中 MPS_ENT_CCU 行所含信息的细分:

    说明
MPS citrix_product_name 签出许可的 Citrix 产品名称。
mps_server1 hostname 运行 Citrix 产品的计算机。
MPS display 签出许可的 Citrix 产品名称。
license_server1 server_host 运行许可服务器的计算机。
27000 port 运行许可服务器的 TCP/IP 端口。
203 handle 许可句柄。许可句柄是用于标识特定签出许可的数字。
start Wed 3/17 11:56 checkout_time 此许可首次签出的时间。

lmstat -c@localhost -a 命令在签出许多产品许可的系统中可能会生成大量网络活动。

可以使用 lmstat -a 来验证许可签出数据。

显示二进制文件版本 (lmver)

lmver 命令显示许可二进制文件的版本信息,例如命令实用程序。lmadmin 命令是一个例外。要显示 lmadmin 命令的版本信息,请使用 lmadmin -version

语法:

lmver binary

示例:

lmver lmdiag

显示或释放用户或设备的许可 (udadmin)

udadmin 显示获得许可的用户和设备,并释放指定用户和设备的许可。

仅在以下情况下才能释放用户的许可:

  • 员工不再与公司有任何关联。
  • 员工长期休假。

仅当设备停止服务时,才能释放设备的许可。

注意:

在自动 90 天租用期之前,大规模释放许可(超出前面强调的原因)可能会违反 Citrix EULA。在执行此操作之前,请联系 Citrix。

udadmin 命令行帮助仅以英文显示用法信息,但可以在非英语系统上使用该命令。

语法:

udadmin [-options] [-delete | -events | -export | -list | -times]

选项 说明
-f feature name 与 -list 或 -delete 结合使用时,仅显示或释放指定功能名称的用户或设备的许可。
-user user name 仅释放由用户名指定的用户许可。
-device device name 仅释放由设备名称指定的设备许可。
-a 列出许可服务器上安装的所有功能和版本。
参数 说明
-delete 一次释放一个用户、功能或设备的许可。
-events 报告按时间顺序排列的每个功能的由用户/设备许可记录的所有事件。
-export 将未处理的用户和设备数据导出到一个 .csv 文档中。此数据用于计算许可使用情况,而不是正在使用的许可列表。第一行是列标题。格式为功能,然后是用户。每个唯一的 (user,deviceId,versionRequested) 都报告在一行中。不会单独显示针对相同 (user,deviceid,versionRequested) 的冗余许可请求。最新请求会更新时间戳。
-list 显示拥有许可的用户和设备以及自上次更新以来的时间。如果上次报告后 15 分钟内发生了重大活动,则会显示下次更新的时间。指定 -list -times 会生成包含时间戳的输出。
-times 指定 -list -times 会生成包含时间戳的输出。
No argument or ? 显示 udadmin 命令的用法信息。

示例:

-  udadmin -list -times

    Usage data is 0 minutes old. Next update in 15 minutes.

    Users:

    u01.01 XDT_ENT_UD 2017.1201 (Thu Sep 14 13:41:07 2017)

    u01.04 XDT_ENT_UD 2017.1201 (Thu Sep 14 13:41:07 2017)
    .
    .
    .

    Devices:

    D.ADV.23 XDT_ADV_UD 2017.1201 (Thu Sep 21 18:31:01 2017)

    D01 XDT_PLT_UD 2017.1201 (Tue Sep 12 14:30:33 2017)

-  udadmin -list -a

    Lists all features, versions, counts of licenses, and the users and devices for each feature.

-  udadmin -export

    feature,userId,deviceId,deviceName,versionRequested,versionUserAllocated,versionDeviceAllocated,time

-  udadmin -f XDT_ENT_UD -device dn01.88 -delete

    Releases one device from one feature.

<!--NeedCopy-->