许可命令

虽然“许可证管理控制台”提供了访问许多许可功能的简单方法,但您也可以使用命令执行许可任务。 在许可证服务器上执行在控制台中不可用的高级操作时,您可以使用许可证管理命令。 这些操作包括使用 lmdiag 诊断签出问题。

许可证管理命令存储在:

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

命令说明

  • lmadmin - 提供许可配置。 使用许可证管理控制台执行许可配置和管理任务。 请勿使用 lmadmin

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

  • lmdown - 正常关闭许可证管理器和 Citrix 供应商守护程序(默认情况下处于禁用状态)。

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

  • lmreread - 使许可证管理器守护程序重读许可证文件并启动 Citrix 供应商守护程序。
  • lmstat - 显示许可证服务器的状态。

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

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

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

格式许可证命令

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

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

通用参数

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

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

诊断签出问题 (lmdiag)

当产品无法签出许可证时,使用 lmdiag 命令可以诊断问题。 特别是可以测试许可证是否有效和许可证服务器是否正在运行。 运行此命令时,它会尝试签出许可证。

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

示例:

仅在 Citrix Virtual Apps 服务器 Advanced Edition 许可证上运行 lmdiag。 指定 MPS_ADV_CCU 作为参数。

语法:

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

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

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

尝试签出许可证时,lmdiag 命令不联系运行 Citrix 产品的计算机。 lmdiag 命令仅指示许可证服务器上是否存在问题。 即,由于产品指向错误的许可证服务器,因此产品无法签出许可证,但 lmdiag 不会检测此问题。 例如,在其上没有该产品许可证的许可证服务器。 Citrix 产品指向错误的许可证服务器时,lmdiag 命令会报告其可以签出许可证。

停止守护程序 (lmdown)

lmdown 命令可关闭您的许可证服务器上或您网络中的所有许可证服务器上的许可证管理器守护程序和 Citrix 供应商守护程序。 默认情况下,lmdown 命令处于禁用状态。 要启用该实用程序:

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

语法:

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

参数 说明
-c license_file_list、-c@localhost 或 -c@server 使用指定的许可证文件。 我们始终建议使用 lmdown 指定 -c license_file_list。 也可以使用 -c @localhost-c @server-name
-vendor CITRIX 仅关闭 Citrix 供应商守护程序。 许可证管理器守护程序将继续运行。
-q 不提示或打印标题。 否则,lmdown 会询问“Are you sure? [y/n]: .”
-全部 如果指定了多个服务器,将自动关闭所有这些服务器。 如果指定了 -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。 可以使用该命令查看许可证服务器的主机名。 可以打开许可证文件并将该许可证文件中的主机名与您的许可证服务器的主机名进行比较。

注意

使用适用于 Windows 的 Citrix Licensing 版本 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

显示 Licensing 实用程序列表 (lmutil)

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

语法:

lmutil

lmutil other_command

示例:

  • lmutil

    显示所有 Licensing 实用程序。

  • 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、-c@server 或 -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 显示 已签出许可证的 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 列出许可证服务器上安装的所有功能和版本。
参数 说明
-删除 一次释放一位用户、一种功能或一台设备的许可证。
-事件 导出按时间顺序排序的每种功能对应的用户/设备许可记录的所有事件。
-导出 将未处理的用户和设备数据导出到一个 .csv 文档中。 此数据用于计算许可证使用情况,而非正在使用的许可证列表。 第一行为列标题。 格式为先功能后用户。 每个独一无二的 (user,deviceId,versionRequested) 都在一行中报告。 相同 (user,deviceid,versionRequested) 的冗余许可请求都不单独显示。 最新的请求会更新时间戳。
-list 显示带许可证的用户和设备以及自上次更新后所经过的时间。 如果自上次报告后 15 分钟内发生过重大活动,则将显示下次更新的时间。 指定 -list -times 将生成包含时间戳的输出。
-times 指定 -list -times 将生成包含时间戳的输出。
无参数或 ? 显示 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-->