最新消息:因从typecho切换到wordpress, 由于转换导入问题,文章可能存在部分乱码或者排版问题,逐个排查修复中...

脚本干活:BAT批处理定时清理Bartender license server

工作相关 admin 1686浏览 0评论

公司购买了Bartender软件,网络版。供多台电脑连接使用。

但是实践使用中发现,这个软件的license的验证是限定的打印机数量的,并不是我们传统理解的限制的电脑数量。于是乎,就发生下面所说的情况了:

A电脑接了一台USB接口的打印机,连接license server 后占用了一个license数量。然后因为某种原因,用户换了USB接口的话,有的时候显示在电脑端的打印机名字可能就换了一个什么 XXXX Copy, XXX 副本之类的名字,这时再去连接License server 的话,License Server 会认为这是一个新的打印机,因为它看起来只认打印机名字。时间一久,明明实际使用的用户,实际使用的打印机没多少,但是购买的License 数量也会被占用光,非常不合理。别的真正要连接的打印机,这里因为没有剩余的可用的License数量了,也就连接不上了,无法使用了,只能由管理员连上License Server 进行手工清理。时间久了耗时耗精力。本来50个的使用量,如果额外买license也相当于浪费银两。于是决定研究一下。

经过研究发现,发现它会使用slspl.lpl文件记录打印机名字。每增加一台就往里记录。明白了该License server 的机制,于是写了个脚本,配合Windows计划任务终于可以实现无人值守定期自动清理了。

批处理原理:

  1. 停用license server (service)
  2. 删除slspl.lpl 文件(sls printer list )
  3. 启动license service
net stop "Seagull License Server"
del “C:\ProgramData\Seagull\Seagull License Server\slspl.lpl” /q
net start "Seagull License Server"

之所有需要停用服务,删除列表文件后再启用服务。
是因为如果不停用的话,你即使删除了文件,它的数据仍在内存中,在下次服务停用时(比如服务器重启时),它还会将内存中数据保存到文件中。

声明:

  1. 本批处理基于本人所在的公司购买了充足license数量的前提下制作,仅为方便管理之用,他人滥用引发的license问题与本人无关;
  2. 这种license数量计算方式确实有缺陷,没办法手工设置失效打印机的存活期,并自动清理。希望官方软件后续版本中有所提高。

转载请注明:Linc Hu » 脚本干活:BAT批处理定时清理Bartender license server

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址