在AD中有可能以某种方式将用户帐户与计算机帐户相关联? 这个想法是,我想编写一个程序来查询AD用户拥有的计算机。
在“AD用户和计算机”中,您可以find每个计算机对象的“托pipe者”字段。 您可以将用户的AD帐户添加到此字段,并用它来标识工作站的所有者。
据我所知,通过将用户添加到“Managed By”字段中,没有额外的权限。 只是在那里保持logging。
我采用的另一种方法是标准化“描述”字段,以便它拥有一组一致的信息。 例如,在计算机的描述字段中,您可以具有:
Desktop,Brisbane,Dell Optiplex 720,Fred Bloggs,01-02-2007
从这个angular度来说,parsing和提取一个位置,计算机types,模型,用户名或购买date都是非常简单的。 您也可以让login脚本将相同的信息复制到操作系统的机器描述字段中。
另一个选项 – AD允许您像其他数据库一样扩展和增强模式。 您可以使用它来添加自定义字段 。 这是一个更多的参与,你冒着违反“不要乱用默认值”的风险,除非你没有select的networkingpipe理规则。
我最喜欢的方法是使用库存软件,自动将用户名和计算机名称关联起来。 如果我们在AD中维护这些信息,那么随着每个人员或设备的更改都要手动更新一次。 为什么我要手动做一些事情,如果我的networking会为我做?
OCS库存NG是一个很好的免费/开源替代品; 如果用户界面不适合特定的search,而且碰巧知道SQL,那么也可以直接查询MySQL数据库。 如果将其设置为每个工作站都在login时检入服务器,则您将始终知道谁login了哪台计算机。
从我记忆中来说,这并不是一个好的方法,因为用户可以login到多台机器,或者多个用户可以login到同一台机器。
假设它是一个一对一的(一台机器对一个用户)在一个较小或控制良好的环境中,你可能能够一起破解这样的事情…
根据截止date之前你有多less时间,你可能会有他们的login脚本更新谁login谁,以及通过vbscript或批处理什么机器。 您可以将该信息附加到服务器共享上的平面文件,然后稍后执行自己的parsing…
示例脚本(未testing)在机器%SYSTEMNAME%上echo“%USERNAME%”>> S:\ admins \ servermap.txt
然后用一些vbscriptparsing出来,然后通过文件查看,并返回用户名后面的机器名称。
或者,如果你很聪明,你可以在login脚本上做同样的事情,而是将机器名称写入用户的AD描述字段或其他一些你没有使用admod的字段…虽然这需要pipe理员访问…
admod -b dc = test,dc = net“description ::%USERNAME%COMPUTER”
这取决于你的意思是“拥有”。 如果您指的是他们每天login的站点,则可以通过parsing您的域控制器安全事件日志以及将login/注销事件与工作站关联来获得。 或者工作站本身的安全事件日志,如果你想要去那么远。
DC上的login事件显示了login的IP地址,因此您必须parsing机器帐户login才能将IP与计算机名称匹配。 查询工作站日志更好,因为它只显示login在该机器上的人员,但这意味着您必须打开安全日志; 它在XP上默认closures,但在Vista和7上默认是closures的。
不,你不能这样做,因为所谓的join到Windows AD机器/计算机实际上只是Windows安装程序,但物理机器没有被Windows AD识别。 你可以启动它:
所以,DC不会检测物理硬件电脑。 即使在理论上也不清楚要考虑一个物理安全单元。
我试图问在SF的类似问题,但它被closures:
我希望你的问题的命运会有所不同
我upvoted你的问题,继续前进!