mededeling weergeven wanneer actie mislukt DOS

Status
Niet open voor verdere reacties.

Semafoor

Gebruiker
Lid geworden
29 aug 2007
Berichten
129
Hallo iedereen,

Ik heb een bat bestand geschreven wat alle systemen in ons netwerk afsluit. Ik wil er alleen iets aan toevoegen maar ik weet niet of dat wel kan..

Wanneer een systeem succesvol afsluit moet er een regel in het scherm verschijnen met de tekst Afsluiten systeem L088 succes vol!
en als het mislukt Afsluiten systeem L088 Foutief!!
Of een ander nummer bij ee ander systeem.. Maar dat snap je wel..
Is het mogelijk om dat te doen?
Of is dat niet mogelijk? Moet ik dan met :_naam gaan werken of niet.. In verband met 300 systemen is dat wel lastig te maken denk ik.. (:_dan he...)

Stefan
 
Je zal dan met Ping moeten werken :confused: je kan nm. de remote computer niet de opdracht geven om jou een bevestiging te sturen (Al helemaal niet als het een succes is en de computer uit staat :D). Dus kan je wel met ping de remote computer benaderen is de ping succesvol is de computer nog on line zo niet is de shutdown een succes..

Met batch heb ik niet voldoende ervaring en weet ik niet of er echo methodes zijn om aan te geven of een ping wel of niet succesvol is. Met VBS is dat wel te regelen denk ik..

Maar hoe je het ook doet, ik kan je wel vertellen dat het voor 300 computers best lang kan duren eerdat alles is afgewerkt. Zolang de opdracht pending is zal het script wachten voordat het doorgaat naar de volgende hier kan soms wel 20 seconden inzitten.
In het slechste geval zit je dus 300 x 20 sec te wachten tot alles is afgesloten en bevestigt.
 
Klopt, je zou iets van een pingreeks dienen te gebruiken.
Ik ben niet een super batchschrijver.. wat je zou kunnen proberen:

- Voor elke computer een variabele maken.
- Deze initializen op true
- vervolgens zou je dan zoiets kunnen gebruiken (ik geef het nu in pseudocode):
Code:
if(pc88 == true) {
    if(ping geeft timeout) {
        pc88 = false;
      } 
  }
Dan pingt hij alleen de pc's waarvan hij hiervoor nog response heeft gehad.
Deze loop zou je eens keer per 30 seconden ofzo kunnen herhalen
Als hij na bijvoorbeeld 5 of 10 loops nog steeds response krijgt van een aantal PC's. Dan deze laten returnen.
Bij die kan je dan langsgaan om te kijken wat er fout gaat.
 
dat kan wel
wel aanpassen natuurlijk

Code:
if "%netwerk%" == "error" goto error
if "%netwerk%" == "goed" goto ok

:error 
echo Fout bij %NetwerkID%
echo.
goto verder

:ok
echo %NetwerkID% is nu uit!
echo.
goto verder

:verder
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan