Skip to content

La vie rêvée d’Akim

…ou le zèbre qui voulait être un homme

  • Style de vie
  • Informatique
  • Photographie
  • Musique
  • English (US)English (US)
  • FrançaisFrançais

Récupérer les serveurs DNS sous Windows par Powershell

Posted on jeudi 24 septembre 2015 by Akim

Aujourd’hui, un petit script pour résoudre une question simple mais fastidieuse quand on a plusieurs centaines de serveurs à gérer.

La donnée est la suivante: J’ai besoin de récupérer les serveurs DNS paramétrés de chaque serveur Windows dans l’environnement. J’ai une liste de nom d’hôtes à disposition. Autrement, il est également possible de récupérer la liste directement depuis votre serveur DNS pour autant que celui-ci soit correctement organisé, mais ce n’est pas le sujet de cet article.

Ce script va interroger chaque serveur dans le fichier winsrv.txt (un serveur par ligne) et récupérer par WMI l’adresse IP du serveur, l’ordre de recherche DNS (qui fourni donc la liste des serveurs DNS dans l’ordre), et le status du client DHCP.

Le résultat est un fichier CSV appelé result.txt qu’il sera facile de traiter dans Excel.

# Clear the display
Clear-Host
 
# Get list of hosts
$servers = Get-Content 'winsrv.txt'
 
# Define column headers
$result="hostname;ipaddress;dnssearchorder;DHCPEnabled"
$result | Out-File result.txt
 
# Loop through each host    
ForEach ($server in $servers) {
 
# Get Network configuration details from the host
   $details = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName $server
 
# Add hostname to the result string
#    $result=$result+"$server;"
    $result="$server;"
 
# Add host IP address to the result string
    $string=$($details.IPAddress| where {$_ -notmatch ":"})+";"
    $result=$result+$string
 
# Add host DNS search order to the result string
    $string=($($details.DNSServerSearchOrder)  -as [string])+";"
    $result=$result+$string
 
# Add host DNS search order to the result string
    $string=($($details.DHCPEnabled)  -as [string])
    $result=$result+$string
 
# Write host result in text file
    $result | Out-File result.txt -Append
    }
Posted in InformatiqueTagged dns, PowerShell, windows

Navigation de l’article

Rêve brisé
Le régime paléo et moi

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Proudly powered by WordPress | Theme: micro, developed by DevriX.