VA虚拟应用管理平台--详细问题

巧用批处理按应用显示不同水印

阅读(812)  VA技术支持03  2015-04-15 09:15:59


  •  

    屏幕水印作为一个安全功能,用于企业重要文档、企业BI图表等重要数据防截图、手机拍照有很好的威慑力。
    但现在水印只支持按用户开启该功能, 所以,问题来了,客户只想让发布的虚拟文件夹带水印,其它正常发布的ERP不带水印,如何办了?
    经过与老杨的交流,想出了一个牛X的办法,那就是水印支持各种变量,所以诞生以下开启水印的新办法 (从V6.0.2.8047版本开始支持)
     
    1、原理: 水印内容写在注册表
     
     
     
    那就是从当前用户注册表HKEY_CURRENT_USERSoftwareVAWaterMark中读取水印内容。
    所以,修改注册表 WaterMark内容即可显示不同水印,同时支持以下几种特殊值。
    注册表项 
    说明
    WaterMark 
    None
    不显示水印
    WaterMark 
    {{VaUsername}}
    登陆的帐号名
    WaterMark 
    {{VaUserFullName}}
    备注的姓名
    WaterMark 
    {{Product}}
    Web登面界面,关于中的产品名称
    WaterMark 
    {{time}}
    如:1504150930,表示15年4月15日9点30

     
    2、然后,把要显示的内容,写在环境变理批处理中。
     
     
    在VA的BIN目录中,建个VASInitW.bat批处理文档,
    注意:发布的应用名称 不要有空格、特殊符号,开启水印的应用,建议禁止会话共享。

    说明:
    Set MyWaterMark=None 
    先配置 MyWaterMark不显用水印,(控制台先启水印总开关,这是注册表水印开关)


    IF %VaAppName%==虚拟文件夹   Set MyWaterMark="在虚拟文件夹中显示" 
    如果”发布的应用名“等于“虚拟文件夹”,就配置变量 MyWaterMark等于  "在虚拟文件夹中显示"


    REG ADD HKEY_CURRENT_USERSoftwareVA
    使用REG命令增加注册表到 HKEY_CURRENT_USERSoftwareVA 

    参数 /v WaterMark,增加一个WaterMark的项 
    参数  /t REG_SZ,增加 字符串  数据类型
    参数/d %MyWaterMark%,表示前文中的变量,不同应用写不同水印内容,或不同用户写不同水印内容;
    参数/f 表示强行覆盖注册表项,不提示。
     
     
    还可使用的 常用变量有:
    CCOMPUTERNAME=LLF-PC (客户端电脑名称)
    CLIENTNAME=LLF-PC (客户端电脑名乐)
    USERNAME=llf (客户端登陆Windows帐号名称)
    VaAppName=桌面 (VA发布应用程序名)
    VaClientID=VCDD-774E-C181-E653-571C(VA客户端硬件ID) 
    VaUserName=llf (VA用户帐号名)

    所以,你就可以得到如下效果:
     
     
    用户打开文件夹,显示文件夹中的水印。
     
     
    用户打开另一个应用,显示不同的水印,或者不启用水印。
     
    附:VASInitW.bat文件 http://bj.bcebos.com/faqimg/VASInitW.zip
     

     

    1楼  VA技术支持03  2015-04-15 09:23:18