4 votes

Ajout d'un enregistrement DNS A à un serveur Win 2008R2 à partir d'un serveur Win 2008R2 ou Win7 via Powershell

J'ai récemment découvert qu'il est possible d'automatiser simplement l'administration des entrées DNS avec une belle cmdlet:

Import-Module DnsServer
Add-DnsServerResourceRecordA -Name mail2 -IPv4Address 192.168.0.10 -ZoneName powershell.local

J'aimerais exécuter celui-ci sur une machine Windows 2008 R2 (il est appelé dans un service web) pour modifier une entrée DNS sur une autre. J'ai vu que Powershell v3 le prend déjà en charge, mais je n'ai pas réussi à le faire fonctionner sur Powershell v4 non plus, apparemment le module ne peut pas être importé. Est-ce parce que je l'ai testé sur une machine Windows 7? J'ai une machine de développement Windows 7 sur laquelle j'aimerais développer et le déboguer. Est-il possible que je doive recharger ce module d'une manière ou d'une autre? Si oui, comment puis-je le faire?

J'ai vu sur la page MS que c'est pris en charge sur Windows Server 2012, mais je n'ai pas de système Win2012 pour le tester et confirmer et passer les serveurs productifs en 2012 n'est actuellement pas possible.

Merci beaucoup d'avance

5voto

ErikE Points 4616

Vous devez installer les outils d'administration du serveur distant.

Sur un serveur, ils sont installés en tant que fonctionnalité.

Pour un client, recherchez "rsat windows 7" sur Google et téléchargez l'installateur.

Après l'installation, vous disposez des modules d'administration du serveur Powershell disponibles pour la cmdlet d'import-module.

[MODIFIER] Le module DndServer est livré avec le RSAT de win8.1. Vous pouvez le faire d'autres manières sur win7 cependant, consultez le scripting guy : http://blogs.technet.com/b/heyscriptingguy/archive/2010/09/13/manage-dns-in-a-windows-environment-by-using-powershell.aspx

Cependant, j'ai fait une importation de fichier csv car j'ai migré un serveur dns il y a quelques semaines seulement (ce que je n'ai pas pris en compte lorsque j'ai rédigé ma réponse). J'ai trouvé plus facile d'appeler dnscmd depuis Powershell que de bidouiller.

Voici l'exécution réelle que j'ai utilisée, l'importation csv et la boucle sont supprimées :

dnscmd $DNS_DNSServerName /recordadd $DNS_Domain $DNS_Name $DNS_ResourceType $DNS_Data

2voto

Craig Points 361

Vous devrez spécifier le serveur DNS, sinon il s'exécutera sur le serveur local, donc si vous exécutez cette commande à distance, vous devrez spécifier où se trouve le serveur DNS que vous voulez affecter.

Utilisez :

-ComputerName dans la commande et spécifiez le nom ou l'IP du serveur DNS sur lequel vous souhaitez effectuer le changement.

Spécifie un serveur DNS. Si vous ne spécifiez pas ce paramètre, la commande s'exécute sur le système local. Vous pouvez spécifier une adresse IP ou toute valeur qui se résout en une adresse IP, comme un nom de domaine pleinement qualifié (FQDN), nom d'hôte ou nom NETBIOS.

Cependant, la commande ne spécifie que Windows 8.1 et Windows 2012 R2. Il est donc très probable qu'elle ne s'exécute pas sur des versions antérieures à ces systèmes d'exploitation... c'est pourquoi ils le spécifient dans la documentation sur Technet.

0voto

Bill Daugherty Points 181

Extraite de ici

Jetez un œil :

Les serveurs que nous voulons utiliser

$newDNSServers = "192.168.1.1","192.168.1.2"

Obtenir tous les adaptateurs réseau ayant déjà des serveurs DNS définis

$adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DNSServerSearchOrder -ne $null}

Définir l'ordre de recherche des serveurs DNS pour tous les adaptateurs trouvés précédemment

$adapters | ForEach-Object {$_.SetDNSServerSearchOrder($newDNSServers)}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X