Aufgabe:
Ein Paket soll an alle Mitarbeiter verteilt werden.
1. es soll einen cmd ausführen und einen internen Server anpingen,
1.1 wenn es Erfolgreich ist, der Server pingbar ist, eine Datei auf den PC überträgt.
1.2 wenn es nicht Erfolgreich ist, der Server nicht pingbar ist, -> 2.
2. Zeit X warten
3. Anzahl an läufen Y durchführen
4. Wenn es nicht erfolgreich ist, Abbruch nur über Empirum zurück melden
5. Wenn es erfolgreich ist, siehe 1.1 und Success über Empirum zurück melden.
Problem:
Momentan hängt es jedoch am "For Counter", er läuft endlos im loop durch und hört nicht nach den gesetzten 3 Durchläufen auf.
Info:
"localhos" wurde genommen um eine nicht mögliche Verbindung zu emulieren. Bei "localhost" funktioniert die Installation und alles beendet korrekt
_____________________________
Code: Select all
[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT
;ReplaceEnv <Variable>
#Set:User, DONTDELETE CLIENT
#Reg:OnUninstallProduct, DELETE
#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE
#Security:Product
#Set:Uninstall, DELETE
[Set:User]
If Counter == "3" Then "NoConnection" EndIf
If GetDCName() == "" Then "NoDomainController" EndIf
Sleep 36
Call cmd /c "ping localho -n 1"
If %Errorlevel% == 0 Then "UpSig" EndIf
If %Errorlevel% == 1 Then "next_try" EndIf
[next_try]
For Counter,1,3,,"Set:User" else "NoDomainController"
[UpSig]
callhidden cmd /c "%logonserver%\path\filename.vbs"
[NoDomainController]
ErrorLogMsg "Keine Verbindung zum Server"
Abort
[NoConnection]
Echo "Keine Verbindung zum Server"
Abort
Zur Information ich habe bereits folgende Versuche durchgeführt:
Den Eintrag: "For Counter,1,5,,Set:User" habe ich auch wie folgt getestet:
For Counter,1,5,1,Set:User
= endlosschleife
For Counter,1,5,1,%Set:User%
= Fehlermeldung
For Counter,1,5,1,"Set:User"
= Restart von der Installation
V3
Code: Select all
[Set:User]
If Counter == "3" Then "NoDomainContoller" EndIf
If GetDCName() == "" Then "NoDomainController" EndIf
Sleep 36
Call cmd /c "ping localho -n 1"
If %Errorlevel% == 0 Then "UpSig" EndIf
If %Errorlevel% == 1 Then "next_try" EndIf
[next_try]
For Counter,1,5,1,Set:User
#NoDomainController
[UpSig]
callhidden cmd /c "logonserver%\path\filename.vbs"
[NoDomainController]
ErrorLogMsg "Keine Verbindung zum Server"
Abort
V2
Code: Select all
[Set:User]
If Counter == "3" Then "NoDomainContoller" EndIf
If GetDCName() == "" Then "NoDomainController" EndIf
Sleep 36
Call cmd /c "ping localhos -n 1"
If %Errorlevel% == 0 Then "UpSig" EndIf
If %Errorlevel% == 1 Then "next_try" EndIf
[next_try]
For Counter,1,5,,Set:User
#NoDomainController
[UpSig]
callhidden cmd /c "logonserver%\path\filename.vbs"
[NoDomainController]
ErrorLogMsg "Keine Verbindung zum Server"
Abort