Hallo zusammen,
ich habe ein kleines Projekt angefangen, welches folgendes beinhaltet:
Ich möchte von einem Server aus mehrerer andere Server neustarten und das ganze soll dabei geloggt werden. Geloggt wird bis jetzt nur die Ausführung des Befehls. Was ich dann aber möchte ist, das geprüft wird (wie weis ich noch nicht genau) ob die Server auch gebootet wurden. Dazu aber später.
Jetzt bitte ich Euch das ihr auch das Teil mal anschaut und mir evtl. Verbesserungen vorschlagt, was ich besser machen könnte oder halt was ich anders machen sollte. Das wäre mir eine sehr große Hilfe da ich noch nicht sooo in den Tiefen stecke wie man andere hier.
Hier die Erklärung:
Am Anfang wird die Domäne, der User und ja auch das Kennwort eingetragen.
Anschließend der timeout vom Reboot Befehl.
Dann kommen die Befehlszeilen zum Neustart und Abbruch desselbigen.
Dann ein paar Sachen für das Log.
Checkpoint 1
Überprüft ober der User der im Script steht, der User ist der den Task ausführt, wenn ja startet er es ohne weitere Abfrage.
Checkpoint 2
Manuelles Starten des Scripts, dort soll dann ein Passwort eingegeben werden, welche oben extra aufgeführt ist. Wird es einegeben startet das Script und fragt dann anschließend ob der Neustart abgebrochen werden soll, falls nötig.
Unten dann die Funktionen.
Das wäre so der grobe Abriss dessen was drin steht.
Also hier das Teilchen:
Spoiler anzeigen
#cs ---------------------------------------------------------------------
AutoIt Version: 3.2.10.0
Author: Andreas Heß
Copyright:Andreas Heß
Script Function:Reboot mehrerer Server.
Script Version:1.5
Script Date:03.09.2008
#ce ---------------------------------------------------------------------
#NoTrayIcon
#include <Date.au3>
$Domaene = "localsite.localdomain.com"
$Benutzer = "userxy"
$Kennwort = "passwortxy"
$Passwort = "passwortxy"
$timeout = "120"
$srv01 = "\\srvxyz123"
$srv02 = "\\srvxyz124"
$srv03 = "\\srvxyz125"
$srv04 = ""
$srv05 = ""
$srv06 = ""
$srv07 = ""
$srv08 = ""
$srv09 = ""
$srv10 = ""
$srv11 = ""
$srv12 = ""
$srv13 = ""
$srv14 = ""
$srv15 = ""
$srv16 = ""
$srv17 = ""
$srv18 = ""
$srv19 = ""
$srv20 = ""
;------------------------------------------------------------------------
;------------------ Variablen zum Reboot und zum Abbruch ----------------
;------------------------------------------------------------------------
$reboot = @SystemDir & "\shutdown.exe -r -f -t " & $timeout & " -m "
$cancel = @SystemDir & "\shutdown.exe -a -m "
;------------------------------------------------------------------------
;------------------------- Variablen für Logdatei -----------------------
;------------------------------------------------------------------------
$Log = @ScriptDir & "\logs\Rebootlog vom " & _NowDate() & ".txt"
$txt1 = "Automatischer Reboot "
$txt2 = "Manueller Reboot "
$txt3 = " wurde ausgelöst "
$txt4 = " wurde abgebrochen "
$txt5 = "am " & _NowDate() & " um " & _NowTime() & " von " & @UserName
;------------------------------------------------------------------------
;------------------------------- Checkpoint 1 ---------------------------
;------------------------------------------------------------------------
$sec_1 = @UserName
$manuell = 0
If $sec_1 = $Benutzer Then
RunAsSet($Benutzer,$Domaene,$Kennwort)
If Not $srv01 = "" Then
_reboot_srv01()
EndIf
If Not $srv02 = "" Then
_reboot_srv02()
EndIf
If Not $srv03 = "" Then
_reboot_srv03()
EndIf
If Not $srv04 = "" Then
_reboot_srv04()
EndIf
If Not $srv05 = "" Then
_reboot_srv05()
EndIf
If Not $srv06 = "" Then
_reboot_srv06()
EndIf
If Not $srv07 = "" Then
_reboot_srv07()
EndIf
If Not $srv08 = "" Then
_reboot_srv08()
EndIf
If Not $srv09 = "" Then
_reboot_srv09()
EndIf
If Not $srv10 = "" Then
_reboot_srv10()
EndIf
If Not $srv11 = "" Then
_reboot_srv11()
EndIf
If Not $srv12 = "" Then
_reboot_srv12()
EndIf
If Not $srv13 = "" Then
_reboot_srv13()
EndIf
If Not $srv14 = "" Then
_reboot_srv14()
EndIf
If Not $srv15 = "" Then
_reboot_srv15()
EndIf
If Not $srv16 = "" Then
_reboot_srv16()
EndIf
If Not $srv17 = "" Then
_reboot_srv17()
EndIf
If Not $srv18 = "" Then
_reboot_srv18()
EndIf
If Not $srv19 = "" Then
_reboot_srv19()
EndIf
If Not $srv20 = "" Then
_reboot_srv20()
EndIf
RunAsSet()
Else
;------------------------------------------------------------------------
;------------------------------- Checkpoint 2 ---------------------------
;------------------------------------------------------------------------
$sec_2 = InputBox("Warnung -- Warnung", "Reboot erfordert Passwort.", "", "*",250,50)
$manuell = 1
If $sec_2 = $Passwort Then
RunAsSet($Benutzer,$Domaene,$Kennwort)
If Not $srv01 = "" Then
_reboot_srv01()
EndIf
If Not $srv02 = "" Then
_reboot_srv02()
EndIf
If Not $srv03 = "" Then
_reboot_srv03()
EndIf
If Not $srv04 = "" Then
_reboot_srv04()
EndIf
If Not $srv05 = "" Then
_reboot_srv05()
EndIf
If Not $srv06 = "" Then
_reboot_srv06()
EndIf
If Not $srv07 = "" Then
_reboot_srv07()
EndIf
If Not $srv08 = "" Then
_reboot_srv08()
EndIf
If Not $srv09 = "" Then
_reboot_srv09()
EndIf
If Not $srv10 = "" Then
_reboot_srv10()
EndIf
If Not $srv11 = "" Then
_reboot_srv11()
EndIf
If Not $srv12 = "" Then
_reboot_srv12()
EndIf
If Not $srv13 = "" Then
_reboot_srv13()
EndIf
If Not $srv14 = "" Then
_reboot_srv14()
EndIf
If Not $srv15 = "" Then
_reboot_srv15()
EndIf
If Not $srv16 = "" Then
_reboot_srv16()
EndIf
If Not $srv17 = "" Then
_reboot_srv17()
EndIf
If Not $srv18 = "" Then
_reboot_srv18()
EndIf
If Not $srv19 = "" Then
_reboot_srv19()
EndIf
If Not $srv20 = "" Then
_reboot_srv20()
EndIf
RunAsSet()
If MsgBox(4,"Cancel Reboot","Soll der Reboot abgebrochen werden?",$timeout)=6 Then
RunAsSet($Benutzer,$Domaene,$Kennwort)
If Not $srv01 = "" Then
_cancel_srv01()
EndIf
If Not $srv02 = "" Then
_cancel_srv02()
EndIf
If Not $srv03 = "" Then
_cancel_srv03()
EndIf
If Not $srv04 = "" Then
_cancel_srv04()
EndIf
If Not $srv05 = "" Then
_cancel_srv05()
EndIf
If Not $srv06 = "" Then
_cancel_srv06()
EndIf
If Not $srv07 = "" Then
_cancel_srv07()
EndIf
If Not $srv08 = "" Then
_cancel_srv08()
EndIf
If Not $srv09 = "" Then
_cancel_srv09()
EndIf
If Not $srv10 = "" Then
_cancel_srv10()
EndIf
If Not $srv11 = "" Then
_cancel_srv11()
EndIf
If Not $srv12 = "" Then
_cancel_srv12()
EndIf
If Not $srv13 = "" Then
_cancel_srv13()
EndIf
If Not $srv14 = "" Then
_cancel_srv14()
EndIf
If Not $srv15 = "" Then
_cancel_srv15()
EndIf
If Not $srv16 = "" Then
_cancel_srv16()
EndIf
If Not $srv17 = "" Then
_cancel_srv17()
EndIf
If Not $srv18 = "" Then
_cancel_srv18()
EndIf
If Not $srv19 = "" Then
_cancel_srv19()
EndIf
If Not $srv20 = "" Then
_cancel_srv20()
EndIf
RunAsSet()
EndIf
Else
Exit
EndIf
EndIf
;------------------------------------------------------------------------
;---------------------- Abschnitt Funktionen - Beginn -------------------
;------------------------------------------------------------------------
Func _reboot_srv01()
If $manuell = 1 Then
Run($reboot & $srv01,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv01 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv01,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv01 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv01()
Run($cancel & $srv01,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv01 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv02()
If $manuell = 1 Then
Run($reboot & $srv02,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv02 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv02,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv02 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv02()
Run($cancel & $srv02,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv02 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv03()
If $manuell = 1 Then
Run($reboot & $srv03,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv03 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv03,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv03 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv03()
Run($cancel & $srv03,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv03 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv04()
If $manuell = 1 Then
Run($reboot & $srv04,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv04 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv04,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv04 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv04()
Run($cancel & $srv04,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv04 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv05()
If $manuell = 1 Then
Run($reboot & $srv05,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv05 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv05,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv05 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv05()
Run($cancel & $srv05,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv05 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv06()
If $manuell = 1 Then
Run($reboot & $srv06,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv06 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv06,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv06 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv06()
Run($cancel & $srv06,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv06 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv07()
If $manuell = 1 Then
Run($reboot & $srv07,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv07 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv07,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv07 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv07()
Run($cancel & $srv07,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv07 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv08()
If $manuell = 1 Then
Run($reboot & $srv08,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv08 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv08,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv08 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv08()
Run($cancel & $srv08,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv08 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv09()
If $manuell = 1 Then
Run($reboot & $srv09,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv09 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv09,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv09 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv09()
Run($cancel & $srv09,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv09 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv10()
If $manuell = 1 Then
Run($reboot & $srv10,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv10 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv10,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv10 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv10()
Run($cancel & $srv10,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv10 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv11()
If $manuell = 1 Then
Run($reboot & $srv11,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv11 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv02,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv11 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv11()
Run($cancel & $srv11,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv11 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv12()
If $manuell = 1 Then
Run($reboot & $srv12,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv12 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv12,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv12 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv12()
Run($cancel & $srv12,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv12 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv13()
If $manuell = 1 Then
Run($reboot & $srv13,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv13 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv13,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv13 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv13()
Run($cancel & $srv13,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv13 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv14()
If $manuell = 1 Then
Run($reboot & $srv14,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv14 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv14,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv14 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv14()
Run($cancel & $srv14,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv14 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv15()
If $manuell = 1 Then
Run($reboot & $srv15,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv15 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv15,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv15 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv15()
Run($cancel & $srv15,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv15 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv16()
If $manuell = 1 Then
Run($reboot & $srv16,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv16 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv16,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv16 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv16()
Run($cancel & $srv16,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv16 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv17()
If $manuell = 1 Then
Run($reboot & $srv17,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv17 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv17,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv17 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv17()
Run($cancel & $srv17,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv17 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv18()
If $manuell = 1 Then
Run($reboot & $srv18,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv18 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv18,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv18 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv18()
Run($cancel & $srv18,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv18 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv19()
If $manuell = 1 Then
Run($reboot & $srv19,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv19 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv19,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv19 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv19()
Run($cancel & $srv19,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv19 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
Func _reboot_srv20()
If $manuell = 1 Then
Run($reboot & $srv20,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv20 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
Else
Run($reboot & $srv20,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt1 & $srv20 & $txt3 & $txt5 & @CRLF)
FileClose($Log)
EndIf
EndFunc
Func _cancel_srv20()
Run($cancel & $srv20,"",@SW_HIDE)
FileOpen($Log,9)
FileWrite($Log,$txt2 & $srv20 & $txt4 & $txt5 & @CRLF)
FileClose($Log)
EndFunc
;------------------------------------------------------------------------
;----------------------- Abschnitt Funktionen - Ende --------------------
;------------------------------------------------------------------------
Für Anregungen/Kritik und ähnliches wäre ich wie gesagt sehr dankbar.
LG
Schnuecks