Netzwerk neu konfigurieren

Antworten
rechle
Beiträge: 38
Registriert: 29 Jul 2008, 10:10
Kontaktdaten:

Netzwerk neu konfigurieren

Beitrag von rechle »

Hallo,

ich habe mir ein kleines Paket erstellt, in dem ich die Netzwerkkonfiguration (IP,Netzmaske, GW, DNS-Server)
entsprechend der Konfiguration änderen kann. Das funktioniert soweit ganz gut, nur bleibt der Agent mit
der Meldung "Sende Logfile zum Server ..." stehen.

Die Einträge werden alle vorgenommen, IP usw. stimmen und ich kann den Client auch remote neu starten.
Leider startet er nicht von alleine.

Ich habe dann der Anleitung von opsi-winst folgend ein "ExitWindows /ImmediateReboot" eingefügt. In der
Logdatei auf "C:" sagt er mir auch, dass er zu diesem Kommando kommt ... nur kommt er nicht über die
Hürde mit der Logdatei hinweg.

Wenn ich ihm dann über den Webclient zum Neustart auffordere, dann folgt er dieser Aufforderung und führt
dann den 2. Teil des Skriptes aus und setzt den Status auf dem Server korrekt.

Die Umstellung auf dhcp funktioniert hingegen problemlos (uninstall)

Code: Alles auswählen

Set $IPADDRESS$ = GetProductProperty("ipaddress", "")
Set $NETMASK$ = GetProductProperty("netmask", "")
Set $DEVICE$ = GetProductProperty("device", "")

Set $MSVersion$ = GetMsVersionInfo

Set $WinstRegKey$ = "HKLM\SOFTWARE\opsi.org\winst"
Set $Flag$ = GetRegistryStringValue32("["+$WinstRegKey$+"] "+"RebootFlag")

if ($MSVersion$ >= "6")
    if not ($Flag$ = "1")
        ; anweisung vor Reboot
        WinBatch_sub_win7
        Set $Flag$ = "1"
        Registry_SaveRebootFlag
        ExitWindows /ImmediateReboot
    else
        WinBatch_timeserver
        Set $Flag$ = "0"
        Registry_SaveRebootFlag
    endif
else
    stop "not supported OS-Version"
endif

[WinBatch_sub_win7]
netsh int ipv4 set address name=$DEVICE$ source=static address=$IPADDRESS$ mask=$NETMASK$ gateway=$GATEWAY$
netsh int ipv4 set dns name=$DEVICE$ source=static address=$DNS1$ register=primary
netsh int ipv4 add dns $DEVICE$ $DNS2$

Code: Alles auswählen

Set $IPADDRESS$ = GetProductProperty("ipaddress", "")
Set $NETMASK$ = GetProductProperty("netmask", "")
Set $DEVICE$ = GetProductProperty("device", "")

Set $MSVersion$ = GetMsVersionInfo

if ($MSVersion$ >= "6")
    WinBatch_sub_win7
else
    stop "not supported OS-Version"
endif

[WinBatch_sub_win7]

netsh int ipv4 set address name=$DEVICE$ source=dhcp
netsh int ipv4 set dns name=$DEVICE$ source=dhcp
grüße

Reinhard
Benutzeravatar
SisterOfMercy
Beiträge: 1556
Registriert: 22 Jun 2012, 19:18

Re: Netzwerk neu konfigurieren

Beitrag von SisterOfMercy »

It probably takes a while before the connection is established.

You might want to try something like this:

Code: Alles auswählen

	sleepseconds 15
I sorta had the same problems with installing OpenVPN client via the VPN connection. Of course you would have to copy all files to a local directory first, which you don't have to do in your case.

If it doesn't work you might first want to restart a network service to force something.

Something like this:

Code: Alles auswählen

[Winbatch_start_service]
"%SystemRoot%\system32\sc.exe" start "OpenVPNService"

[Winbatch_stop_service]
"%SystemRoot%\system32\sc.exe" stop "OpenVPNService"
However, in this case (and in my case too, I'm going to change the script soon), sc.exe does not wait for the service to start or stop. Better use 'net start' or something like that.

How does your 'WinBatch_timeserver' look like? Perhaps you do not need to restart.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
rechle
Beiträge: 38
Registriert: 29 Jul 2008, 10:10
Kontaktdaten:

Re: Netzwerk neu konfigurieren

Beitrag von rechle »

@SisterOfMercy
thanks for this hint. I've noticed that it takes some seconds to establish the connection again.
I've verified this with ping on windows. But I've lost only 3 pings and even with 15 seconds I
had still the same problem.

Ich verstehe jedoch absolut nicht warum

Code: Alles auswählen

ExitWindows /ImmediateReboot
nicht neu startet, obwohl der Befehl laut lokalem Logfile gefunden wird und auch die Registry
Einträge und die Netzwerkkonfiguration vollständig abgearbeitet wurden. Ich erreiche den
Client auch von remote, d.h. ich kann ihn aus dem Admininterface heraus zu einem Neustart
bewegen ... und ein Timeout scheint es auch nicht zu geben. Auch nach mehr als einer Stunde
stand der Rechner noch im gleichen Status ... sehr seltsam ...

grüße

Reinhard
rechle
Beiträge: 38
Registriert: 29 Jul 2008, 10:10
Kontaktdaten:

Re: Netzwerk neu konfigurieren

Beitrag von rechle »

so, ich denke dass ich mein Problem im Griff habe ... nicht vollständig verstanden, aber es läuft ...

Im Manual fand ich einen Hinweis, dass man die Sections mit Parametern aufrufen kann. Ich habe
an den Aufruf von "WinBatch_sub_win7" noch ein "/WaitSeconds 8" angehängt.

Code: Alles auswählen

	WinBatch_sub_win7 /WaitSeconds 8
Zur Überprüfung ob die Verbindung auch funktioniert habe ich noch eine
Section erstellt, die ein einen Host anpingt und die Ausgabe als comments rausgeschrieben.

Code: Alles auswählen

        Set $PING$ = getOutStreamFromSection("DosBatch_ping")
        for $line$ in $PING$ do comment $line$
Die Pings sind alle erfolgreich, somit hat des blockierende Warten der Section "*sub_win7"
wohl mein Problem gelöst ...

grüße

Reinhard
Antworten