Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Gruppenrichtlinienscipts - Maximale Wartezeit im Script ermitteln

Frage Entwicklung

Mitglied: eicky2007

eicky2007 (Level 1) - Jetzt verbinden

16.01.2009, aktualisiert 12:54 Uhr, 3351 Aufrufe, 1 Kommentar

Hallo zusammen,

da ich ein Herunterfar-Script in VBScript erstellen möchte, das regelmäßig die Festplatte defragmentiert, möchte ich gern vorher prüfen, ob die Maximale Wartezeit für Gruppenrichtlinienscripts deaktiviert wurde (eine Defragmentierung kann ja durchaus mal einige Stunden dauern).

Bisher habe ich mir folgende Funktion zusammen "geschustert":

01.
Private Function CheckIfGPScriptWaitIsDisabled 
02.
  CheckIfGPScriptWaitIsAbsolute = False 
03.
  Dim objReg, intWaitGPO, intWaitSystem 
04.
  Set objReg = GetObject("winmgmts:\\.\root\default:StdRegProv") 
05.
  objReg.GetDWORDValue HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system", "MaxGPOScriptWait", intWaitGPO 
06.
  objReg.GetDWORDValue HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "MaxGPOScriptWait", intWaitSystem 
07.
  Dim boolWaitSystemOK, boolWaitGPOOK, boolGPOSet 
08.
  boolWaitSystemOK = False 
09.
  boolWaitGPOOK = False 
10.
  boolGPOSet = False 
11.
  If IsNumeric(intWaitSystem) Then 
12.
    If intWaitSystem = 0 Then 
13.
      boolWaitSystemOK = True 
14.
    End If 
15.
  End If 
16.
  If IsNumeric(intWaitGPO) Then 
17.
    boolGPOSet = True 
18.
    If intWaitGPO = 0 Then 
19.
      boolWaitGPOOK = True 
20.
    End If 
21.
  End If 
22.
  If (Not boolGPOSet And boolWaitSystemOK) Or boolWaitGPOOK Then 
23.
    CheckIfGPScriptWaitIsAbsolute = True 
24.
  End If   
25.
  Set objReg = Nothing 
26.
End Function
Die Funktion prüft grob gesagt, ob die entsprechende Einstellung per Gruppenrichtlinie vorgenommen wurde. Falls ja, gibt die Funktion ein positives Ergebnis zurück, falls die Einstellung "0" - also deaktiviert - ist. Falls kein Richtlinieneintrag existiert, wird die lokale Einstellung gegen "0" geprüft...

Mein Problem:
Es scheint, als ob der in der Registry ermittelte Wert nicht unbedingt immer mit dem angewandten Wert übereinstimmt. Ein Beispiel wäre ein Computer, der vor dem Setzen der entsprechenden Richtlinie gestartet wurde und die Einstellung offenbar bisher nicht übernommen hat.

Kennt jemand von euch eine Möglichkeit, bspw. per WMI den AKTUELLEN Wert für die Wartezeit abzufragen ? Ich habe mit dem Scriptomatic schon einige WMI-Klassen durch, aber bisher keinen entsprechenden Wert finden können...

Viele Grüße,
Eicky
Mitglied: eicky2007
24.01.2009 um 21:32 Uhr
Hallo nochmal,

da ich bisher keine Möglichkeit gefunden habe, den aktuell geltenden Wert der Wartezeit zu ermitteln, habe ich mir folgendermaßen beholfen:

Ich prüfe mit obiger Methode, ob die Wartezeit auf unendlich gesetzt ist. Dann prüfe ich, ob ein ggf. zuvor selbst erstellter Registry-Eintrag bei der letzten Script-Ausführung den Wert 1 hat. Falls nicht, setze ich diesen und breche ab. Bei der nächsten Ausführung des Scripts mit aktuell und zuvor festgestellter, unendlicher Wartezeit führe ich den Rest aus.
Falls allerdings später mal das Ergebnis der Wartezeitermittlung negativ ausfallen sollte, setze ich den Registry-Eintrag auf 0 und breche wieder ab.
Da das Script bei jedem Herunterfahren ausgeführt wird, kann ich recht sicher sein, dass die Einstellung auch wirklich übernommen wird... oder eben nicht ;)

Gruß, Eicky
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Windows Server
gelöst Login Script nach der Anmeldung Zeitverzögert ausführen (4)

Frage von Intruder0001 zum Thema Windows Server ...

PHP
Ein Script, verschiedene Intervalle für Cronjob (7)

Frage von tsunami zum Thema PHP ...

Netzwerkmanagement
Cisco SG 300 DHCP Pool maximale Anzahl (4)

Frage von Maik82 zum Thema Netzwerkmanagement ...

Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (21)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...