Hinzufügen eines DNS-A-Eintrags zu einem Win 2008R2-Server von einem Win 2008R2-Server oder Win7 über Powershell

4

Ich habe kürzlich herausgefunden, dass es möglich ist, die Verwaltung von DNS-Einträgen einfach mit einem netten Cmdlet zu automatisieren:

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

Ich möchte dieses Programm auf einem Windows 2008 R2-Computer (der in einem Webdienst aufgerufen wird) ausführen, um einen DNS-Eintrag auf einem anderen zu ändern. Ich habe gesehen, dass Powershell v3 dies bereits unterstützt, aber ich konnte es auch nicht für Powershell v4 zum Laufen bringen, anscheinend kann das Modul nicht importiert werden. Liegt es daran, dass ich es auf einem Windows 7-Computer getestet habe? Ich habe eine Windows 7-Entwicklungsmaschine, auf der ich sie entwickeln und debuggen möchte. Ist es möglich, dass ich dieses Modul irgendwie neu laden muss? Wenn ja, wie kann ich das machen?

Ich habe auf der MS-Seite gesehen, dass es unter Windows Server 2012 unterstützt wird, aber ich habe kein Win2012-System, auf dem ich es testen könnte, um zu bestätigen, dass das Umschalten der Produktivserver 2012 derzeit nicht möglich ist.

vielen Dank im Voraus

vm370
quelle

Antworten:

2

Sie müssen den DNS-Server angeben, andernfalls wird er auf dem lokalen Server ausgeführt. Wenn Sie dieses Cmdlet also remote ausführen, müssen Sie angeben, wo sich der DNS-Server auswirken soll.

Verwenden:

-ComputerName Geben Sie im Cmdlet den Namen oder die IP-Adresse des DNS-Servers an, auf dem die Änderung erfolgen soll.

Gibt einen DNS-Server an. Wenn Sie diesen Parameter nicht angeben, wird der Befehl auf dem lokalen System ausgeführt. Sie können eine IP-Adresse oder einen beliebigen Wert angeben, der in eine IP-Adresse aufgelöst wird, z. B. einen vollqualifizierten Domänennamen (FQDN), einen Hostnamen oder einen NETBIOS-Namen.

Das Cmdlet gibt jedoch nur Windows 8.1 und Windows 2012 R2 an. Es wird also höchstwahrscheinlich auf keinem früheren Betriebssystem ausgeführt. Aus diesem Grund wird es in den Technet-Dokumenten angegeben.

Der Reiniger
quelle
Danke für diese Information. Um ehrlich zu sein, habe ich den Befehl nicht direkt hinzugefügt, da ich ihn in meinem Skript verwende, sondern nur als Beispiel, sodass mein Aufruf dies tatsächlich berücksichtigt. Ihre Antwort wird für andere nützlich sein, obwohl ich denke, also gebe ich ihr eine Gegenstimme. edit: oder ich würde wenn ich genug
ruf
Der Anforderungsteil war für mich interessanter, danke. Da dies jedoch nicht ausdrücklich von den Anforderungen ausgenommen war, war ich mir nicht sicher, ob frühere Windows-Versionen unterstützt werden. Das ist allerdings bedauerlich, dann muss ich wohl nach einer Alternative suchen.
VM370
2
@ vm370 - siehe meine letzte Bearbeitung unten ... es funktioniert nur auf 8.1 oder 2012 R2. Sie können "Add DNS Record Powershell 2008" googeln, damit einige WMI-Cmdlets das tun, wonach Sie suchen. Wenn die Antwort ausreicht, markieren Sie diese bitte, damit die Frage beantwortet wird.
TheCleaner
5

Sie müssen die Remoteserver-Verwaltungstools installieren.

Auf einem Server werden sie als Feature installiert.

Für einen Client googeln Sie "rsat windows 7" und laden Sie das Installationsprogramm herunter.

Nach der Installation erhalten Sie die PowerShell Server Admin-Module, die dem Import-Modul cmd-let zur Verfügung stehen.

[EDIT] Das DndServer-Modul wird mit dem win8.1 RSAT ausgeliefert. Sie können dies unter win7 auch auf andere Weise tun: http://blogs.technet.com/b/heyscriptingguy/archive/2010/09/13/manage-dns-in-a-windows-environment- by-using-powershell.aspx

Ich habe jedoch eine CSV-Datei importiert, als ich vor ein paar Wochen einen DNS-Server migriert habe (woran ich beim Schreiben meiner Antwort nicht gedacht habe). Ich fand es einfacher, dnscmd von Powershell aus aufzurufen, als herumzuspielen.

Hier ist die tatsächliche Ausführung, die ich verwendet habe, CSV-Import und Looping entfernt:

dnscmd $DNS_DNSServerName /recordadd $DNS_Domain $DNS_Name $DNS_ResourceType $DNS_Data
ErikE
quelle
Vielen Dank für Ihre Antwort, ich hatte dies bereits installiert und habe jetzt die DNS-Server-Tools hinzugefügt, dies hat jedoch leider nichts geändert.
VM370
Ah, @TheCleaner, ich habe deinen Beitrag bis jetzt nicht gesehen. Du rockst.
ErikE
Vielen Dank für Ihre Hinzufügung, ich werde dies versuchen. Sie werden beide eine
hohe
@ErikE - Ich habe dir bereits +1 für deine Antwort gegeben, oder ich würde es für deine Bearbeitung wieder tun. Große Köpfe denken ähnlich.
TheCleaner
0

Entnommen von hier: http://daniel.streefkerkonline.com/2014/12/09/change-a-nics-dns-server-settings-with-powershell-and-wmi-setdnsserversearchorder/

Überprüfen Sie dies heraus:

Die Server, die wir verwenden möchten

$ newDNSServers = "192.168.1.1", "192.168.1.2"

Rufen Sie alle Netzwerkadapter ab, für die bereits DNS-Server festgelegt sind

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

Legen Sie die Suchreihenfolge für den DNS-Server für alle zuvor gefundenen Adapter fest

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

Bill Daugherty
quelle