2016-05-27 4 views
0

Meine Firma hat mich gebeten, einige .NET-Software für sie zu bauen (im Grunde ein Health Check Client, der als Dienst auf jedem unserer Computer sitzt und meldet verschlüsselte Daten zurück zum Server, der es dann in SQL hochlädt, das für wöchentliche Berichte, eine Webkonsole, usw. benutzt werden kann). Das Programm ist im Grunde genommen - außer der einen Sache, die ich dachte, wäre die einfachste. Hier ist, was ich habe Probleme mit:erhalten genaue GPresult-Ausgabe bei der Ausführung von einem Skript auf einem Dienstkonto

Die letzte Information, die wir brauchen, ist das letzte Mal, dass der Client mit Gruppenrichtlinie eincheckte. Sollte einfach sein ... oder? Führen Sie gpresult aus und holen Sie sich das Datum und die Uhrzeit! Ich habe den Code dafür geschrieben, und er funktioniert perfekt, wenn ich ihn von meinem eigenen Konto aus starte. Das Problem ist, dass dies von einem Dienst ausgeführt wird; Das bedeutet, dass es als "lokales System" -Konto ausgeführt werden muss, wenn es bereitgestellt wird. Wenn es als Dienst vom Konto "Lokales System" ausgeführt wird, tritt ein Fehler auf, weil die Gruppenrichtlinie (offensichtlich) nicht für das lokale Systemkonto gilt. Ich habe versucht, den Umfang auf Computer zu beschränken, aber es gibt mir immer noch nichts.

Ich versuchte auch, Dateien zu finden, die gpupdate ändert, wenn es eincheckt, so dass ich vielleicht anders darüber gehen und diese Dateien stattdessen analysieren könnte (das habe ich für den Rest der Programme getan, die wir überprüfen), aber bis jetzt hatte ich kein Glück darin, etwas zu finden, das ständig geändert wird, wenn der Computer gpupdate ausführt.

Irgendwelche Vorschläge zu allem, was ich versuchen könnte? Ich mache mich selbst verrückt (kurze Reise), und ich habe versucht, Google und Foren ohne Ergebnisse zu suchen.

Vielen Dank im Voraus für Ihre Hilfe!

Antwort

0

Ich fand eine teilweise Antwort. Es scheint, dass GP einen Registrierungsschlüssel speichert, der angibt, ob die Richtlinie überfällig ist (Standard ist ein 90-minütiger Check-in mit einem Offset von 0-30 Minuten). Das ist genug, um zu machen, was ich arbeiten will (gewährt, ich würde immer noch die "Verbose" lieben [kann ich ein Wort erfinden?], Das Datum zu haben, aber das funktioniert jetzt).

Für alle, die dies in Zukunft betrachten, lautet der Schlüssel: HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Gruppenrichtlinie \ History \ PolicyOverdue (DWORD).

Für jetzt fange ich an, das zu verwenden, aber ich würde immer noch gerne hören, wenn jemand einige Vorschläge hat, wie ich in der Lage sein könnte, gpresponse arbeiten oder eine andere Möglichkeit, ein Datum für das letzte Mal GP aktualisiert bekommen. :)

Danke!

+0

Es ist auch erwähnenswert, dass ich nicht eine Menge Tests durchgeführt habe, um sicher zu sein, dass der Schlüssel immer noch funktioniert. Es sieht so aus, als wäre es ursprünglich für mich eingesetzt worden. Ich nehme an, es würde immer noch funktionieren, aber ich werde dich wissen lassen, während ich mehr Tests mache. – thegeekkid

Verwandte Themen