我正在构建一个组策略以应用于我组织内的一部分用户。这部分用户没有在其 Active Directory 对象上设置主目录,而其他用户则分配了 I:\ 驱动器。
我需要找到一个 WMI 查询,它允许用户配置 GPO 应用于没有 I:\ 驱动器的用户。
我可以很容易地找到它的倒数:
Select * From Win32_LogicalDisk Where DeviceID = 'I:'
但是如果我将这个 WHERE DeviceID <> 'I:\' 设为,它会返回 C:、D: 和其他映射驱动器。
我想过用这样的方式查询用户个人资料:
select RoamingPath from Win32_UserProfile where RoamingPath <> '\\*'
但是,这会返回系统帐户和本地管理员配置文件的许多结果,而不是登录用户。
我读过可以直接查询 AD,但是下面的命令给了我一个“无效类”错误,我不知道它是否适用于登录用户:
select * from ds_user where ADSIPath = LDAP://OU=CA,DC=global,DC=opus AND DS_homeDirectory=’*’
我认为理想情况下,这将通过使用 Win32_LogicalDisk 来计算驱动器总数,第二个查询来获得 I:\ 驱动器的计数(1 或 0),然后从第一个结果中减去第二个结果来解决。如果结果是 = 第一个查询,我有我的一组用户。到目前为止,在 GPO wmi 过滤器中找到执行此操作的语法还没有运气。
我已经确定完全按照我在问题中定义的方式完成此操作是不可能的。
我遇到的两个最佳选择是:
我在我的环境中选择了选项 #2。