Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Check the DNS Settings for all Windows Servers
# Source:
# Could use error checking to not throw an alert when the server isn't accessible
$AllServers=Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*"}
ForEach ($Server in $AllServers){
$Result=Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled = 'True'" -Property DNSServerSearchOrder -ComputerName $Server.Name
$output = new-object PSObject
$output | add-member NoteProperty "ComputerName" $Server.Name
$output | add-member NoteProperty "DNSServerSearchOrder" $Result.DNSServerSearchOrder
Copy link

brucefordev commented Jul 12, 2021

Hi Josiah,

Thank you so much for this script. Can you please also add another line to get the result via excel file instead of showing output within Powershell console itself? TIA


Copy link

flickerfly commented Jul 12, 2021

Been a long time since I did Powershell stuff, but I think you could just modify the last line to $output | export-CSV or something like that.

Copy link

brucefordev commented Jul 12, 2021

Wow, didn't expect you to answer but you did. I will try that. Thank you so much!

Copy link

brucefordev commented Jul 12, 2021

I tried the last line to $output | export-csv "c:\dnssettings" but no results when I open the excel spreadsheet. Please let me know if you have any thoughts about it. Thanks for your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment