1. 问题的提出
西门子的许可证分为节点锁定许可证、浮动许可证和云许可证。节点许可证锁定计算机,云许可证以Email为账户登录,这些都比较容易理解。浮动许可证一般在公司局域网中使用,只要能连接到许可证服务器,知道许可证服务的端口号,局域网中的任何一台计算机都可以使用浮动许可证。这就带来一个问题,如果许可证的某个模块是专供某个部门,或者某个特定的员工使用,怎样才能做到?
2. 方法
与大多数CAD程序一样,西门子软件用的也是FlexNet许可证管理程序。
在许可证文件中添加一个选项文件就可以实现对许可证的控制。最新的西门子许可证管理程序是SiemensLicenseServer_v2.2.0.0_Win64_x86-64.exe。
有关选项文件如何设置的详细说明请访问
C:\Program Files\Siemens\License Server\Documentation\flexnet_lic_admin.pdf
我知道大家不喜欢看长篇大论,尤其是英文的,所以我举一个简单的例子来说明。
3. 许可证文件的修改
您需要作为管理员,登录到许可证服务器上进行操作。
最新版本的许可证文件管理器(SiemensLicenseServer_v2.2)会将许可证文件放在下面的文件夹。
C:\ProgramData\Siemens\License Server\ActiveLicenses
许可证的后缀名是lic,如果这个文件夹中有多个lic文件,这些文件都会被使用,这样的话应该不再需要合并许可证了。
您需要打开您的lic进行修改,
您会找到守护者程序这一行
VENDOR saltd saltd PORT=29001
其中saltd表示西门子的许可证管理,不是FlexNet预设的。
您需要把它改为
VENDOR saltd saltd PORT=29001 \
OPTIONS=”C:\ProgramData\Siemens\License Server\ActiveLicenses\saltd.opt”
第一行最后多加有一个斜杠,表示这两行文本其实可以写在一行内,为了查看格式方便才分为两行。
第二行是选项文件的绝对路径,建议与许可证放在同一个文件夹内,文件名建议使用守护者程序的名称,后缀名必须是opt。
4. 选项文件的内容样例
选项文件是个文本文件。
我的saltd.opt文件只有一行,内容是这样的
EXCLUDE “solid_modeling” USER kiger
它表示NX的零件建模模块不给用户kiger使用。
如果您不知道使用的模块名称,您可以用一下某个模块,然后打开许可证管理程序的log文件
C:\ProgramData\Siemens\License Server\saltd.log
拉到最后,看哪个模块被签出了,这个就是模块名称。
用户名是使用CAD程序的Windows用户名,在log文件中会带有域名,例如kiger@domain,
在选项文件中您只需要输入用户名kiger,不需要带域名。
5. 测试
当我运行NX,当我切换到零件建模(Modeling)时,会收到下面的错误信息
“User/Host on EXCLUDE list for feature”
![](https://caxlic.com/wp-content/uploads/2024/03/image.png)
确实被禁用了,测试通过。
6. 其他选择
如果您只想把某个模块给某人用,用EXCLUDE显然不现实,您可以用
INCLUDE f1 USER bob
这样的话,只有bob可以使用f1模块了。
使用INCLUDE的时候,就不要再使用EXCLUDE了,黑名单和白名单不要同时使用。
假如有好几个人都要使用某个模块,您可以写成
GROUP CADTeam bob howard james
INCLUDE f1 GROUP CADTeam
这样的话,CADTeam小组有三个用户,只有这三位可以使用f1模块。
7. 更多设置
请访问官方文档
C:\Program Files\Siemens\License Server\Documentation\flexnet_lic_admin.pdf
的Managing the Options File章节,您可以发现更多有用的设置,
例如限制计算机名,而不是限制用户名
例如保留某个模块的几个许可证给某小组用。
Leave a Reply