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, 3358 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 ..
Ähnliche Inhalte
Microsoft Office
Excel: maximale Anzahl in Folge stehender Werte ermitteln (1)

Frage von Flexxa zum Thema Microsoft Office ...

Windows Server
GPO maximalen Kennwortalter (9)

Frage von Adnan88 zum Thema Windows Server ...

Microsoft Office
gelöst VBA - aktuelle Kalenderwoche ermitteln (3)

Frage von Ghost108 zum Thema Microsoft Office ...

Visual Studio
gelöst SIDs eines Verzeichnisses ermitteln (1)

Frage von joehuaba zum Thema Visual Studio ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Router & Routing
FTTH bzw FTTB Router (13)

Frage von ukulele-7 zum Thema Router & Routing ...