Rob Nicholson Asked: 2014-02-20 05:01:27 +0800 CST2014-02-20 05:01:27 +0800 CST 2014-02-20 05:01:27 +0800 CST 确定计算机上次开机的时间 772 有没有办法通过查询 Active Directory 来确定计算机何时运行?我想要一种快速的方法来排除域中已关闭(例如)7 天的计算机。LastLogonTime 字段没有帮助,因为这与用户登录无关。 windows 2 个回答 Voted Best Answer Ryan Ries 2014-02-20T05:11:29+08:002014-02-20T05:11:29+08:00 不,仅使用存储在 Active Directory 中的信息来了解计算机上次开机的时间并不是一个好方法。计算机对象的 LastLogonTimestamp 由计算机更新,所以我不确定你的最后一句话是什么意思。但无论如何,这将是 9 - 14 天的假期。每次计算机登录到域时,该属性都不会更新。这是该属性 dsquery computer -inactive 24 正在看。由于 lastLogonTimestamp 固有的缺乏精度,粒度以周为单位。 您可以重新配置 AD 以更频繁地更新 lastLogonTimestamp 属性,这会产生稍微更准确的值,但这仍然无法帮助您说明已开机但未连接到网络的计算机,或者如果您需要准确性不到一天就喜欢了。 http://blogs.technet.com/b/askds/archive/2009/04/15/the-lastlogontimestamp-attribute-what-it-was-design-for-and-how-it-works.aspx 考虑执行类似于在每台计算机上运行的脚本并查询 Win32_OperatingSystem WMI 类的操作。计算机的准确上次启动时间存储在该 WMI 类中。 Get-WMIObject -Query "SELECT LastBootUpTime From Win32_OperatingSystem" -ComputerName PC02 HopelessN00b 2014-02-20T06:56:00+08:002014-02-20T06:56:00+08:00 尽管我同意 Ryan 的回答,即使用存储在 Active Directory 中的信息(默认情况下)没有很好的方法来做到这一点...... 如果您绝对必须在 Active Directory 中有一些东西,那么最好的方法是设置一个机器启动脚本(通过 GPO 部署)来更改计算机对象的属性之一。将时间戳附加到属性是一种经典做法,但是如果您正在寻找要使用的属性并且不想附加到描述属性description,则有许多通常未使用的属性(department、departmentNumber、employeeID、等)。employeeNumber 或者,我已经看到通过将文本或 .csv 文件(包括启动时间)中的机器信息转储到Everyone具有写访问权限的共享来实现这种类型的事情,然后管理员使用脚本和/或眼球进行解析。我更喜欢 AD 属性方法,但两者都是有效的。
不,仅使用存储在 Active Directory 中的信息来了解计算机上次开机的时间并不是一个好方法。计算机对象的 LastLogonTimestamp 由计算机更新,所以我不确定你的最后一句话是什么意思。但无论如何,这将是 9 - 14 天的假期。每次计算机登录到域时,该属性都不会更新。这是该属性
dsquery computer -inactive 24
正在看。由于 lastLogonTimestamp 固有的缺乏精度,粒度以周为单位。
您可以重新配置 AD 以更频繁地更新 lastLogonTimestamp 属性,这会产生稍微更准确的值,但这仍然无法帮助您说明已开机但未连接到网络的计算机,或者如果您需要准确性不到一天就喜欢了。
http://blogs.technet.com/b/askds/archive/2009/04/15/the-lastlogontimestamp-attribute-what-it-was-design-for-and-how-it-works.aspx
考虑执行类似于在每台计算机上运行的脚本并查询 Win32_OperatingSystem WMI 类的操作。计算机的准确上次启动时间存储在该 WMI 类中。
Get-WMIObject -Query "SELECT LastBootUpTime From Win32_OperatingSystem" -ComputerName PC02
尽管我同意 Ryan 的回答,即使用存储在 Active Directory 中的信息(默认情况下)没有很好的方法来做到这一点......
如果您绝对必须在 Active Directory 中有一些东西,那么最好的方法是设置一个机器启动脚本(通过 GPO 部署)来更改计算机对象的属性之一。将时间戳附加到属性是一种经典做法,但是如果您正在寻找要使用的属性并且不想附加到描述属性
description
,则有许多通常未使用的属性(department
、departmentNumber
、employeeID
、等)。employeeNumber
或者,我已经看到通过将文本或 .csv 文件(包括启动时间)中的机器信息转储到
Everyone
具有写访问权限的共享来实现这种类型的事情,然后管理员使用脚本和/或眼球进行解析。我更喜欢 AD 属性方法,但两者都是有效的。