As far as Active Directory is concerned, computers are very similar to users. In fact, computer objects inherit directly from the user object class, which is used to represent user accounts. That means that computer objects possess all of the attributes of user objects and then some. Computers need to be represented in Active Directory for many of the same reasons users do, including the need to access resources securely, utilize GPOs, and have permissions assigned to them.

To participate in a domain, computers need a secure channel to a domain controller. A secure channel is an authenticated connection that can transmit encrypted data. To set up the secure channel, a computer must present a password to a domain controller. Similar to the way in which it authenticates a user account, Active Directory will use Kerberos authentication to verify the identity of a computer account. Without the computer object and, by association, the password stored with it that is changed behind the scenes on a regular basis by the operating system, there would be no way for the domain controller to verify a computer is what it claims to be.

The Anatomy of a Computer

The default location for computer objects in a domain is the cn=Computers container located directly off the domain root. You can, however, create computer objects anywhere in a domain. And in Windows Server 2003, you can modify the default location for computer objects as described in Recipe 8.12. Figure contains a list of some of the interesting attributes that are available on computer objects.

Attributes of computer objects




Relative distinguished name of computer objects.


Fully qualified DNS name of the computer.


The approximate timestamp of the last time the computer logged in to the domain. This is a new attribute in Windows Server 2003.


The distinguished name (DN) of user or group that manages the computer.


List of DNs of the groups the computer is a member of.


Textual description of the operating system running on the computer. See Recipe 8.13 for more information.


Currently not being used, but will hopefully be populated at some point.


Service pack version installed on the computer. See Recipe 8.13 for more information.


Numeric version of the operating system installed on the computer. See Recipe 8.13 for more information.


Large integer that can be translated into the last time the computer's password was set. See Recipe 8.9 for more information.


NetBIOS-style name of the computer. This is typically the name of the computer with $ at the end.


Account flag that defines various account properties. In the case of a computer object, this specifies whether the computer is a member computer or a domain controller.

 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows