Documenting your Exchange environment is always an important process for Exchange Admins and their organization. Documentation makes the messaging environment easier to support, lessens the scrambling when important information is needed and in general can make your life easier.
One of the important bits of information you can gather about your Exchange Servers has nothing to do with Exchange itself. It has to do with the servers. If all of your Exchange servers are virtualized then this article will not hold as much meaning. So what is this piece of information? Serial numbers. These numbers can be used for a variety of purposes, but most importantly for warranty claims or renewals. Having the serial number of a server on hand can save you a trip to the colo, datacenter or even your internal server room where your server is physically located. This will not help for virtual servers as you will get something odd as a result.
So how do we get these programmatically? PowerShell. Here is the script that I use:
# Serial number check script
# first we need to export the serial numbers to a CSV file
get-qadcomputer -searchroot ‘mydomain.com/BaseOU/ServerOU’ | export-csv c:
\scripts\Servers.csv
# Now we need to loop through this to find any Postmaster mailboxes in the Accepted
Domains
$servers = import-csv c:\scripts\servers.csv
foreach ($line in $servers) {
$server = $line.name
$s = get-wmiobject Win32_BIOS -computername $server
write-host $server,$s.serialnumber
}
This will produce a quick output to your PowerShell window:
Server1 KQKKLA5
Server2 99T1464
Server3 KQYCMP3
Server4 99T7192
Server5 99FC071
Server6 99FC076
You can also export the output to CSV if you wish as well. With WMI you would be able to build up a more informative table as well.
** You will need Quest’s ActiveRoles Management Shell plugin installed as well – you can download it from here for free.