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, 3346 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Exchange Server
Maximale Größe für empfangene Nachricht (5)

Frage von HeinrichM zum Thema Exchange Server ...

Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...