且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用脚本规范化企业office程序注册名

更新时间:2022-09-24 08:00:51

 在大企业中,office软件基本上时最常用的办公软件了,当你需要编辑文件服务器上一个WORD文档时却提示XX正在编辑你只能以只读方式打开,而这个XX可能是叫“user”,也可能是一串字符,总之不是你所认识的正常的人名。
 
    Office最终的注册用户名取决于每个用户第一次打开office组件时登记的那个名字,通常系统默认将你安装系统时定义的Name作为默认用户,Company定义为office使用者的组织名。如果每个使用者都按照默认或者随便输入一串字符来忽视这个office注册,就出现了上面的现象,如果这种情况出现在大型企业,将会增加IT管理成本,每天都会有不同的用户向IT部咨询xx文件当前是被谁打开?。。。
 
    以下脚本可以解决上述问题,让IT管理者拥有自己喝咖啡的时间^_^
    思路:由于office注册必须有用户本人完成,所以不能使用计算机脚本,于是乎想到了下派到用户的logon脚本中去。
 
    复制以下代码并另存为Office-Reg-STD.vbs
 
On Error Resume Next  '如果不是AD环境或者缺少office程序不用此行会报错
'从AD中查询当前用户的身份

  1. Set objSysInfo = CreateObject("ADSystemInfo")  
  2. Set objNetwork = CreateObject("Wscript.Network")  
  3. strUserPath = "LDAP://" & objSysInfo.UserName  
  4. Set objUser = GetObject(strUserPath)  
  5. '修改office注册名为用户的displayname  
  6. Set objWord = CreateObject("Word.Application")  
  7. objWord.UserName = objUser.displayName  
  8. objWord.Quit 
 
注:不要被上面的word迷惑,实际上它代表了整个office的注册,不仅仅是word组件。客户端重启后生效,部分组件立即生效。


本文转自yangye1985 51CTO博客,原文链接:http://blog.51cto.com/yangye/269541,如需转载请自行联系原作者