Modifying Computer Objects with Active Directory - Identifying a Computer Role
(Page 6 of 6 )
Problem
You want to identify the role that a particular computer serves in an Active Directory domain.
Solution
Using a graphical user interface
Open the Active Directory Users and Computers MMC snap-in.
Right-click on the domain node and select Find.
In the Find drop-down box, select Computers and click Find Now.
The role of each computer will be displayed in the Machine Role column in the Search Results window.
Using a command-line interface
> wmic computersystem get domainrole
For a domain controller that holds the PDC Emulator FSMO role, this will return the following output:
DomainRole
5
For a DC that doesn’t hold the PDCe FSMO, this command will return a value of 4.
Using VBScript
' The following code will return the domain role of the
' local computer.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" _
& strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select DomainRole from Win32_ComputerSystem")
For Each objComputer in colComputers
Select Case objComputer.DomainRole
Case 0
strComputerRole = "Standalone Workstation"
Case 1
strComputerRole = "Member Workstation"
Case 2
strComputerRole = "Standalone Server"
Case 3
strComputerRole = "Member Server"
Case 4
strComputerRole = "Backup Domain Controller"
Case 5
strComputerRole = "Primary Domain Controller"
End Select
Wscript.Echo strComputerRole
Next
Discussion
Using a command-line interface
WMIC is the command-line component of the Windows Management Instrumentation that uses aliases to enable you to easily access WMI namespaces from the command line. To run wmic against a remote computer, specify the /node:"<ComputerFQDN> " switch.
Using VBScript
Rather than relying on an if...else construct to produce output, this script uses Select Case. In situations where there are numerous possible outcomes for a conditional statement, Select Case can produce far more elegant code than using numerous if...else statements.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
|
This article is excerpted from chapter eight of the Active Directory Cookbook, Second Edition, written by Robbie Allen and Laura E. Hunter (O'Reilly; ISBN: 059610202X). Check it out today at your favorite bookstore. Buy this book now.
|
|