UW-Forum

Forum von UW-Operator.de
Aktuelle Zeit: Samstag 23. Juni 2018, 17:45

Alle Zeiten sind UTC+02:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
Ungelesener BeitragVerfasst: Dienstag 13. Dezember 2016, 14:52 
Offline
Benutzeravatar

Registriert: Samstag 10. Dezember 2011, 17:19
Beiträge: 248
Beruf: SysAdmin
PC-System: Board: Gigabyte X58A-UD7 rev. 2.0
CPU: Intel i7 930 bei 3,5GHz
Speicher: 12GB Corsair Dominator
Grafikkarte: MSI GTX 970 Gaming 4G
HDD: SSD 850 EVO 500GB Platte
Gehäuse: NZXT Guardian 921
Betriebssystem: Windows 10 Pro 64bit
Wohnort: Horgau
Es soll ja vorkommen, dass Server auch irgendwann das Zeitliche segnen...
Im Beispiel handelt es sich um einen DNS-Server. Der neue Server hat nun aber eine neue feste IP-Adresse - Warum ist hier egal, es ist eben so.

Nun müssen wir an allen Clients den Eintrag der DNS-Server anpassen. Gut das es die PowerShell gibt!
Natürlich kann die Shell nur Einträge auf Rechnern anpassen, die aktuell im Netzwerk zu erreichen sind.

Hier hab ich Script Nr. 1 für euch:
Code:
$Computer = Get-ADComputer -filter {"Name - like 'A*'"} | select Name | sort Name
$Computer | %{Invoke-Command -ComputerName $_.Name -ScriptBlock {
$Adapter = Get-WmiObject Win32_NetworkAdapterConfiguration | WHERE IPAddress -LIKE 192.168.1.*
$Array = @("192.168.1.10", "192.168.1.11")
$Adapter.SetDNSServerSearchOrder($Array)
} -AsJob -JobName DNSUpdate}
Im Script werden zunächst alle betroffenen Rechner aus der Domäne gefiltert (Der Computername beginnt im Beispiel mit A). Anschließend wird auf allen Rechnern die Netzwerkkarte gesucht, deren IP mit 192.168.1 beginnt. Auf diesem Adapter werden dann die beiden DNS-Einträge angepasst.

Das Script 2 funktioniert auch mit älteren Rechnern (XP zum Beispiel):
Code:
$XPSysteme = Get-ADComputer -Filter "Name -LIKE 'A*'" | sort Name
foreach($XPSystem in $XPSysteme){
Invoke-Command -ComputerName $XPSystem.Name -ScriptBlock{netsh interface ip show config} #Anzeige aktuelle Config
Invoke-Command -ComputerName $XPSystem.Name -ScriptBlock{netsh interface ip set dns "LAN-Verbindung" static 192.168.1.10} #Setzen primärer DNS-Server
Invoke-Command -ComputerName $XPSystem.Name -ScriptBlock{netsh interface ip add dns "LAN-Verbindung" 192.168.1.11} #Setzen 1. secundärer DNS-Server
Invoke-Command -ComputerName $XPSystem.Name -ScriptBlock{netsh interface ip delete wins "LAN-Verbindung" all} #Löschen des WINS-Servers
Invoke-Command -ComputerName $XPSystem.Name -ScriptBlock{netsh interface ip show config} #Anzeige aktuelle Config zur Kontrolle
}
Die Vorgehensweise ist nahezu identisch mit Script 1. Hier wird gleich der WINS-Server entfernt, da dieser bei den alten Rechnern früher eingesetzt war, nun aber nicht mehr benötigt ist.
Dieses Script läuft deutlich länger, da es die Befehle einzeln abarbeitet, die Ausgabe entsprechend anzeigt und nicht als Job an die Clients übergeben wurde.

Hoffe ich konnte mit diesen Scripts weiterhelfen und zum anpassen an ähnliche Aufgaben anregen. *grüßgott*

_________________
In diesem Sinne...

Ulrich Wiedholz
UW-Operator.de


Diesen Beitrag melden
Nach oben
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+02:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen neue Themen in diesem Forum erstellen.
Sie dürfen Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron

Datenschutz UW-Operator.de

Zusätzlich für das Forum:
Nutzungsbedingungen | Datenschutzrichtlinie

Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de