How to tell whether it’s a Server Core Domain Controller

DomainController_thumb_450BCD5C[1] Server Core installations of Windows Server 2008 can be utilized in a variety of ways. I’ve written about using them as Web 2.0 Servers with IIS 7, PHP and MySQL, as Streaming media (reverse) proxies, as branch office servers, loaded with DFS, DNS, DHCP and secured with BitLocker Drive Encryption and of course using them as highly-optimized Active Directory Domain Controllers.

But, how exactly do you tell whether a Server Core box is a Domain Controller?

 

The command to check this is actually surprisingly simple:

wmic.exe ComputerSystem get DomainRole

But the output is puzzling, to say the least…

wmicDomainRole

In the screenshot above the command returns a numeric value.

Again, just like when you want to find out what edition of Windows Server you’re running, deciphering the value to something that makes sense to humans is key to get the info.

The table to use to decipher the DomainRole value can be found on the MSDN page of the ComputerSystem class:

 

Value Hexidecimal value DomainRole
0 0x0 Standalone Workstation
1 0x1 Member Workstation
2 0c2 Standalone Server
3 0x3 Member Server
4 0x4 Backup Domain Controller
5 0x5 Primary Domain Controller

 

In the screenshot above the returned value is 5, which means the Server Core installation is, in fact, a Domain Controller. Not just a Domain Controller though… It’s the Domain Controller holding the Primary Domain Controller emulator (PDCe) Flexible Single Master Operations (FSMO) role.

 

Concluding

Using the DomainRole property of the ComputerSystem class is a useful and fast way to check whether a Server Core installation of Windows Server is a Domain Controller, whether it’s domain-joined and whether it holds the PDCe FSMO role.

Further Reading

Win32_ComputerSystem Class
How to Check whether a machine is domain controller or not?
How can I determine if a server is a domain controller?
Determining If a Machine is a Domain Controller
How can a script determine if the computer it is running on is a Domain Controller?
Identifying read only domain controller through WMI : DOTNET
Determine the Primary Domain Controler
Hey, Scripting Guy! How Can I Tell Whether a Logon Script is Running on a Workstation or on a Server?

leave your comment