So we all know that you run Get-ExchangeServer it will list all the Exchange servers you have the roles that have installed on them.
This cool, but it you want to anything clever, you may think you need to parse the ServerRole value to find the role.
Well I discovered this. The ServerRole value actually has a Value__ (that is 2x underscore suffix) that give you what looks like a bitmask for the ServerRoles. How cool is that.
Get Server Roles for the current Server
$server = hostname
$serverroles = get-exchangeserver -identity $server
$RoleVar = $serverroles.ServerRole.Value__
2 #MBX Role
4 #CAS Role
6 #MBX & CAS
32 #HUB Role
34 #MBX & HUB
36 #HUB & CAS
38 #MBX & CAS & HUB
64 #EDG Role
So does anyone have a UM server isntalled so I can complete the bitmask map above?