Finding Hyper-V servers in your domain
One of the advantages of having Virtualization integrated with Windows is that the Hyper-V (and in fact Virtual Server 2005) registers itself in active directory so you can discover your servers easily - quite useful if servers start popping up like mushrooms.
John Howard has been tracking the number of registered servers on the Microsoft corporate network for a while now, and he shared his VB script internally a little while ago, and has now posted it on his blog,
I've reworked it to run in PowerShell, and I got a shock when I found how many machines in my Domain were running HyperV. Lots
function get-vmHosts
{param ($domain=([adsi]('GC://'+([adsi]'LDAP://RootDse').RootDomainNamingContext)))
$searcher= New-Object directoryServices.DirectorySearcher($domain)
$searcher.filter="(&(cn=Microsoft hyper-v)(objectCategory=serviceConnectionPoint))"
$searcher.Findall() | foreach {$_.path.split(",")[1].replace("CN=","")}
} #Example get-vmhosts "DC=ite,DC=contoso,DC=com" | foreach {$_; list-vmstate -server $_}
# Queries the domain ITE.Contoso.com for Hyper-V servers,
# prints the name of each and dumps the state of VMs on each
I've added this to the latest drop of my Hyper-V library which I will post to CodePlex towards the end of this week.