emptyman
Goto Top

DNS-Einträge per GPO verteilen

Hallo liebe Administratorengemeinde,

habe ein kleines Problem und hoffe, dass mir vielleicht einer von euch auf die Sprünge helfen kann!?

Ich habe zwei neue DC´s aufgesetzt und möchte meine beiden Alten (2003´er) entfernen. Ehe ich dies tun kann, muss ich aber zuerst alle meine Clients (mit Masse HP ThinClients) die neuen DNS-Server übergeben.
Muss dazu sagen, dass ich erst seit drei Wochen in der Frima bin und für die momentane Konfiguration der Systeme nichts kann! face-wink

Problem ist, dass es kein DHCP gibt, mit dem ich die DNS-Server übergeben könnte. Hier ist alles mit statischen IP´s geregelt.

Habe mir nun also eine .bat geschrieben mit der ich per netsh die DNS-Server überschreibe und möchte diese per GPO verteilen.
Getestet habe ich das mit einem Laptop, FatClient und einem ThinClient. (Test OU, Computerkonten in die Test OU geschoben und diese mit der neuen GPO verlinkt).
Bei dem Laptop und FatClient hat alles super geklappt und die Einträge wurden geändert.
Doch klappt das einfach nicht bei den ollen ThinClient´s und ich bin mit meinem Latein am Ende!

Ich hoffe, dass mir vielleicht jemand noch einen Tipp geben kann? Vielleicht stehe ich ja auch gerade auf dem Schlauch und übersehe etwas ganz einfaches!!!??

Vielen Dank im Voraus

Gruß Basti

Content-Key: 162640

Url: https://administrator.de/contentid/162640

Printed on: April 26, 2024 at 23:04 o'clock

Member: aivilon
aivilon Mar 15, 2011 at 07:58:12 (UTC)
Goto Top
Salut


Also zu deiner Frage:

ganz ehrlich...wüsst ich auch net...

Aber das sieht viel versprechend aus: ==> hier musste klick maschn <==


Grüsse
Member: Emptyman
Emptyman Mar 15, 2011 at 08:11:25 (UTC)
Goto Top
Danke.
Das hilft mir aber nur bedingt weiter!

An die Variante mit dem Anmeldescript habe ich natürlich auch schon gedacht und das eigentlich als erstes.
Leider haben wir, was mein Vorgänger eingeführt hat, ein Logonscript das mit VB, also ein .vbs Script.
Da ich keine Ahnung von VB habe, weiß ich nicht wie ich das im Logonscript angeben muss! Mit netsh geht das nicht! Schon getestet! face-wink

Aber vielleicht weiß das einer von euch? face-smile
Member: Snowman25
Snowman25 Mar 15, 2011 at 08:23:48 (UTC)
Goto Top
Hallo @Emptyman,

Um einen Shell-Befehl aus VBS heraus zu starten. musst du zuerst ein Shell-Objekt erzeugen:
Set objShell = CreateObject("WScript.Shell")  
Danach kanns du per objShell.Run("command",0,True) ein command bzw. eine Anwendung laufen lassen.
Parameter 2 und 3 beziehen sich auf die Sichtbarkeit des Shell-Fensters und darauf, ob das aufrufende Skript warten soll, oder nicht.
Mehr Infos beim MSDN.

Gruß
Snow
Member: SlainteMhath
SlainteMhath Mar 15, 2011 at 08:26:20 (UTC)
Goto Top
Moin,

Mit netsh geht das nicht! Schon getestet
Dann haste falsch getestet face-smile

Versuchs mal so:
netsh exec DNS.netsh

Inhalt von "DNS.netsh":
pushd interface ip

set dns name="LAN-Verbindung" static 1.1.1.1   
add dns "LAN-Verbindung" 2.2.2.2 index=2  

popd

Das muss natuerlich als Startup (nicht Logon!) Script laufen. Einfahc eine neue GPO erstellen, script reinpacken und gut is.

lg,
Slainte
Member: aivilon
aivilon Mar 15, 2011 at 08:29:54 (UTC)
Goto Top
Hmm...okey

sorry war vorher ein bisschen zu faul um alles zu lesen.


also...auf den TCs gehts nicht.
Haste sowas wie ne management console die du per browser öffnen kannst?

Aber du denkst es könnte mit dem vb logonscript funktionieren?

das wäre per VBS (Quelle):
arrNewDNSServerSearchOrder = Array( "192.168.1.3", _  
                                    "192.168.1.4"  )  
                                    
'to find the right adapter(s) to change:  
strOneOfTheOldDNSServers = "192.168.1.2"  


strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  


Set colNetCards = objWMIService.ExecQuery _
    ("Select DNSServerSearchOrder From Win32_NetworkAdapterConfiguration")  

For Each objNetCard in colNetCards
  blnFound = 0
  arrDNSServerSearchOrder = objNetCard.DNSServerSearchOrder
  If Not IsNull(arrDNSServerSearchOrder) Then
    For i = 0 to UBound(arrDNSServerSearchOrder)
      If (arrDNSServerSearchOrder(i) = strOneOfTheOldDNSServers) Then
        arrDNSServerSearchOrder = Array()
        objNetCard.SetDNSServerSearchOrder(arrDNSServerSearchOrder)
        wscript.sleep 600
        arrDNSServerSearchOrder = arrNewDNSServerSearchOrder
        objNetCard.SetDNSServerSearchOrder(arrDNSServerSearchOrder)
        Exit For
      End If
    Next    
  End If
Next


müsstest eigentlich nur diese Variablen anpassen:

arrNewDNSServerSearchOrder = Array( "[die IP des ersten neuen DNS]", _
"[die IP des zweiten neuen DNS]" )

strOneOfTheOldDNSServers = "[die IP des ersten ALTEN! DNS]"

(strOneOfTheOldDNSServers ist dafür da, dass er herausfindet, welchen Adapter du ändern willst)


Getestet hab ichs nicht, da ich ja nicht die Umgebung hab die du hast. Aber vieleicht funktionierts ja.
Member: aivilon
aivilon Mar 15, 2011 at 08:33:34 (UTC)
Goto Top
Zitat von @SlainteMhath:

Das muss natuerlich als Startup (nicht Logon!) Script laufen. Einfahc eine neue GPO erstellen, script reinpacken und gut is.


Sprich unter "Computer Configuration" => "Policies" => "Windows Settings" => "Scripts"
Member: Emptyman
Emptyman Mar 15, 2011 at 10:20:06 (UTC)
Goto Top
Hey,

vielen Dank erstmal für die Antworten bis hierher! face-smile
Member: Emptyman
Emptyman Mar 16, 2011 at 14:12:47 (UTC)
Goto Top
Hallo nochmal!

Bin leider noch immer nicht weitergekommen!? face-sad

Mit dem VB Script hat es nicht geklappt. Bekomme da eine Fehlermeldung, was mit Sicherheit auf meine Unwissenheit was VB angeht zurückzuführen ist!

Hat vielleicht irgend jemand eine andere Idee, wie ich diese "sorry" beknackten DNS-Einträge auf die ThinClients verteilen kann!?

Vielen Dank im Voraus.

MfG