#------------begin script--------------------#------------begin script----------------------------- $TimeStamp = Get-Date -UFormat "%Y%m%d-%H%M" # Get date/time stamp of script runtime $ScriptPath = Split-Path $MyInvocation.MyCommand.Path # Path of the script $List = $ScriptPath + "\servers.txt" # Input File containing the list of servers $log = New-Item -ItemType file -Path $ScriptPath -name query_DNS_$TimeStamp.csv -Force # Log File $dnsexists = "empty" Add-Content -Path $log -Value "Servers,DNSHostName,MacAddress,IpAddress,IpSubnet,DefaultIpGateway,DNSServerSearchOrder,FullDNSREgistrationEnabled,DHCPEnabled" [array]$List = get-content $List for($i=0; $i -lt $List.Length; $i++) { $Server = $List[$i] Write-Progress -Activity "Querying DNS for " -Status "Server: $Server" if (Test-Connection -ComputerName $Server -Quiet) { $colItems = GWMI -cl "Win32_NetworkAdapterConfiguration" -name "root\CimV2" -comp $Server -filter "IpEnabled = TRUE" foreach ($objItem in $colItems) { $strDNSServerSearchOrder = $objItem.DNSServerSearchOrder $dnsexists = $strDNSServerSearchOrder if ($dnsexists -ne "empty") { Add-Content -Path $log -Value ` "$($Server),$($objItem.DNSHostName),$($objItem.MacAddress),` $($objItem.IpAddress),$($objItem.IpSubnet),$($objItem.DefaultIpGateway),` $($objItem.DNSServerSearchOrder),$($objItem.FullDNSREgistrationEnabled),` $($objItem.DHCPEnabled)" } else { Add-Content -Path $log -Value "$($Server),No comments" } $dnsexists = "empty" } } else { Add-Content -Path $log -Value "$($Server),Offline" } } #------------End script--------------------------
POWERSHELL: Query Network Settings On Remote Systems
Posted by
Jeremy
No comments:
Post a Comment