Very nice, thanks for posting
Method 1:can be slow, as it actually looks thru all of the severs in the domain, looking for a match.Method 2:Can have errors. While the group should not contain other data, it is possible for it to have old servers, or data from incorrect changes to the group.Method 3:The faster of options, with much greater accuracy. Try the command "Get-ADDomainController -Filter *" at least once, to see the actual wealth of information provided.
Also:$a = new-object 'System.DirectoryServices.ActiveDirectory.DirectoryContext'("domain", "devad.swacorp.com" )[System.DirectoryServices.ActiveDirectory.DomainController]::FindAll($a)
Easiest way get-addomaincontrollers -filter *