Figuring out what server does what

triplebless

Member
Reaction score
2
So am new to an environment and was told to figure out what each server does, There is a lot. Over 250 between the 7 locations. 99 percent are Windows platform. I can find DCs, DHCP, and DNS.

Trying to use nmap to find ports on intense scans but it keeps crapping out. Regular scans are not showing ports I know are open on a server. Also looking at naming convention to help.

Does anyone have any other suggestions/tools on how to figure out what each server does?
 
So am new to an environment and was told to figure out what each server does, There is a lot. Over 250 between the 7 locations.

Wow, is this a test of some sort? If not, in what possible universe would an environment that large not have documentation or someone (or an entire team) with historical knowledge? This sounds more like a hazing ritual than a job request.
 
Just have to start by asking what on earth happened for a company to reach 7 locations and 250+ servers without a single scrap of documentation?

For a quick and dirty solution you could probably leverage PowerShell and the Get-WindowsFeature command. Something like below would pull all the installed roles/features and dump them into a csv file for each server.

Major drawback - you need an account with admin credentials on every server. You also need powershell remoting enable on the servers, which isn't configured as standard for 2008R2.

It also won't list any third-party software. Only Windows roles/features. It really is just a quick & dirty overview.

Code:
import-module servermanager

# path to csv file containing server names.
$inputFile = "FILEPATH"

# path to output folder. Include trailing \
$outputFolder = "FOLDERPATH"

$ServerNames = Import-Csv $inputFile

foreach ($name in $ServerNames.hostname) {
Get-WindowsFeature -ComputerName $name | Where-Object {$_. installstate -eq "installed"} | Format-List DisplayName,InstallState | Export-Csv -Path $outputFile -append
}


The long-term solution = Stock up on coffee then manually log into each server and get documenting.

It might be boring and it might take several days or even weeks, but it's necessary if you every wish to support this setup successfully.
 
Last edited:
Have you tried asking around / looking around for documentation?

If it's only 7 sites with 250 plus servers someone somewhere must have a slight clue as to what they all do.

They can't all be domain controllers email servers and the such.

Sent from my SM-G870W using Tapatalk
 
Sounds like a case of VM sprawl. It's so easy to spin up a new VM for every little thing then some get left behind and forgotten about and more are created for testing, etc.

Yeah, but who has 250 licenses for a server OS just lying around......or somehow purchases that many without somebody in accounting wondering why IT is so far over-budget?
 
Yeah, but who has 250 licenses for a server OS just lying around......or somehow purchases that many without somebody in accounting wondering why IT is so far over-budget?
Maybe they have a datacenter license, there are a lot of unknowns here so it's hard to say. Maybe they aren't all licensed if they were used for testing.
 
Why not just power them down and see who complains lol

Actually not a half-bad idea. Turn it off and wait for the phone to ring. "Oh - great - thanks for reporting it - hang on a minute while I look [restart VM].....try it now, does it work?" You're the hero for the quick fix, and you find out what that machine was doing! Win Win.
 
I believe that's known as scream testing.

"I'm going to run a scream test on the network to help me identify things."
"OK, how's that work?"
"I turn things off and see who screams"

I shamefully have to admit using this tactic several times in the past few weeks. It's quite effective to be honest.

Quick tip - Don't shut things down. Just remove their network access for the same effect (disable NIC or remove cable). It's a lot faster to bring back online if people do infact start screaming at you.
 
Back
Top