需求原因:AD中所有计算机命名规则:公司+PC序列号,操作系统为Windows 7 Professional版本。当我使用Powershell将AD中所有计算机信息导出,并排序检查时,发现有部分机器命名不符合规则,且操作系统为Win7旗舰版或Win10系统。对于这些机器的操作系统公司并未购买许可,会存在法律风险。作为IT人员,应当及时处理这些不合规的机器。所以,我们需要及时找到机器的使用者,并培养用户软件正版化的思维。
解决方案:让AD中所有计算机显示出当前用户登录信息,及时沟通处理不合规机器。使用组策略部署脚本将用户登录信息写入对应的计算机描述中或用户登录名称中
一、登录DC,打开AD用户和计算机管理中心,右键“Computers组织单位(OU)”选择”属性”
二、选择“安全”,“Authenticated Users”点击“高级”
三、选择“Authenticated Users”点击“编辑”
四、选择“应用于后代计算机对象”给予“写入描述权限”,点击确定(注意:对于权限给予一定要仔细审核!!!)
五、打开“组策略管理”,可在默认组策略或OU下新建策略都可以,此处已默认策略为例
六、右键“Default Domain Policy”点击“编辑”
七、选择“用户配置”,“Windows设置”"脚本(登录/注销)"
八、双击“登录”点击“添加”,点击“浏览”
九、放入VBS脚本,点击“打开”,点击“确定”
十、点击“应用”“确定”,关闭组策略管理,结束
十一、可以使用gpupdate /force 强制刷新组策略,测试结果成功
附件脚本如下,改为VBS后缀即可正常使用
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
Set objComputer = GetObject("LDAP://" & objSysInfo.ComputerName)
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
strCompDesc =objUser.CN
if strCompDesc <> "" then
objComputer.Description = strCompDesc & "|" & date & " " & time
objComputer.SetInfo
end if
Set objUser = Nothing
Set objComputer = Nothing
Set objSysInfo = Nothing
十二、如果需要写入“用户登录名称”需要更改脚本“Description“”和重新给予OU“后代计算机对象“”写入“UserPrincipalName”的权限,此处不做详细解释
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。