{"id":1381,"date":"2015-09-24T11:02:00","date_gmt":"2015-09-24T09:02:00","guid":{"rendered":"https:\/\/akim.sissaoui.com\/?p=1381"},"modified":"2015-09-24T11:02:00","modified_gmt":"2015-09-24T09:02:00","slug":"recuperer-les-serveurs-dns-sous-windows-par-powershell","status":"publish","type":"post","link":"https:\/\/akim.sissaoui.com\/en\/informatique\/recuperer-les-serveurs-dns-sous-windows-par-powershell\/","title":{"rendered":"R\u00e9cup\u00e9rer les serveurs DNS sous Windows par Powershell"},"content":{"rendered":"<p>Aujourd&#8217;hui, un petit script pour r\u00e9soudre une question simple mais fastidieuse quand on a plusieurs centaines de serveurs \u00e0 g\u00e9rer. <\/p>\n<p>La donn\u00e9e est la suivante: J&#8217;ai besoin de r\u00e9cup\u00e9rer les serveurs DNS param\u00e9tr\u00e9s de chaque serveur Windows dans l&#8217;environnement. J&#8217;ai une liste de nom d&#8217;h\u00f4tes \u00e0 disposition. Autrement, il est \u00e9galement possible de r\u00e9cup\u00e9rer la liste directement depuis votre serveur DNS pour autant que celui-ci soit correctement organis\u00e9, mais ce n&#8217;est pas le sujet de cet article.<\/p>\n<p>Ce script va interroger chaque serveur dans le fichier winsrv.txt (un serveur par ligne) et r\u00e9cup\u00e9rer par WMI l&#8217;adresse IP du serveur, l&#8217;ordre de recherche DNS (qui fourni donc la liste des serveurs DNS dans l&#8217;ordre), et le status du client DHCP.<\/p>\n<p>Le r\u00e9sultat est un fichier CSV appel\u00e9 result.txt qu&#8217;il sera facile de traiter dans Excel.<\/p>\n<pre lang=\"powershell\">\r\n# Clear the display\r\nClear-Host\r\n \r\n# Get list of hosts\r\n$servers = Get-Content 'winsrv.txt'\r\n \r\n# Define column headers\r\n$result=\"hostname;ipaddress;dnssearchorder;DHCPEnabled\"\r\n$result | Out-File result.txt\r\n \r\n# Loop through each host    \r\nForEach ($server in $servers) {\r\n \r\n# Get Network configuration details from the host\r\n   $details = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName $server\r\n \r\n# Add hostname to the result string\r\n#    $result=$result+\"$server;\"\r\n    $result=\"$server;\"\r\n \r\n# Add host IP address to the result string\r\n    $string=$($details.IPAddress| where {$_ -notmatch \":\"})+\";\"\r\n    $result=$result+$string\r\n \r\n# Add host DNS search order to the result string\r\n    $string=($($details.DNSServerSearchOrder)  -as [string])+\";\"\r\n    $result=$result+$string\r\n \r\n# Add host DNS search order to the result string\r\n    $string=($($details.DHCPEnabled)  -as [string])\r\n    $result=$result+$string\r\n \r\n# Write host result in text file\r\n    $result | Out-File result.txt -Append\r\n    }\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Aujourd&#8217;hui, un petit script pour r\u00e9soudre une question simple mais fastidieuse quand on a plusieurs centaines de serveurs \u00e0 g\u00e9rer. La donn\u00e9e est la suivante: J&#8217;ai besoin de r\u00e9cup\u00e9rer les serveurs DNS param\u00e9tr\u00e9s de chaque serveur Windows dans l&#8217;environnement. J&#8217;ai une liste de nom d&#8217;h\u00f4tes \u00e0 disposition. Autrement, il est \u00e9galement possible de r\u00e9cup\u00e9rer la [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[220],"tags":[191,209,192],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/1381"}],"collection":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/comments?post=1381"}],"version-history":[{"count":2,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/1381\/revisions"}],"predecessor-version":[{"id":1383,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/1381\/revisions\/1383"}],"wp:attachment":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/media?parent=1381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/categories?post=1381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/tags?post=1381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}