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, 3350 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
Ähnliche Inhalte
LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Ubuntu
Nregp ereignis für bash-script (1)

Frage von rsadmchef zum Thema Ubuntu ...

MikroTik RouterOS
gelöst Script - exportieren Hotspot user (4)

Frage von sebasscha zum Thema MikroTik RouterOS ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

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

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...