
Ich habe einige Leistungsindikatoren, die in CSV-Dateien am Standardspeicherort ( %SYSTEMDRIVE%\Perflogs
) schreiben. Die Verzeichnisse, die sie erstellen, sind „speziell“. Wenn ich versuche, sie zu durchsuchen, beschwert sich der Explorer
Ich kann auf „Weiter“ klicken und habe dann keine Probleme mehr, mit dem Explorer in den Verzeichnissen zu stöbern.
Wenn ich jedoch versuche, über eine Cmd-Shell ohne erhöhte Rechte auf die Verzeichnisse zuzugreifen, erhalte ich die Meldung ACCESS_DENIED. Mit einem Cmd mit erhöhten Rechten kann ich problemlos auf die Datendateien zugreifen.
icacls meldet dies über das Verzeichnis (bevor ich darin stöbere)
MEMTEST2_20190724-000004 NT AUTHORITY\SYSTEM:(OI)(CI)(F)
BUILTIN\Administrators:(OI)(CI)(F)
BUILTIN\Performance Log Users:(OI)(R)
Der Benutzer, mit dem ich arbeite, ist bereits drin Performance Log Users
.
- Was passiert eigentlich, wenn ich „dauerhaft Zugriff auf diesen Ordner erhalte“?
- Wie ist dieses Verzeichnis eigentlich vor nicht erweiterbarem Zugriff gesichert?
- Gibt es eine gute Möglichkeit, den Schutz des Verzeichnisses aufzuheben, ohne den Leistungsindikator so neu zu konfigurieren, dass er an einen anderen Speicherort schreibt?
- ich lesediese Antwort, in dem beschrieben wird, wie ein Ereignislistener erstellt wird, um den Verzeichnisschutz aufzuheben, wenn der Zähler startet. Gibt es keine andere Möglichkeit?
Antwort1
Dieses Verhalten wird durch die Benutzerkontensteuerung verursacht: Die von Ihnen ausgeführten Prozesse (einschließlich Windows Explorer und CMD) verfügen eigentlich nicht über Administratorrechte, auch wenn Sie zur Gruppe der Administratoren gehören. Sie müssen sie explizit mit dem Befehl „Als Administrator ausführen“ anfordern. Dies ist jedoch für den Explorer selbst nicht möglich, da dieser immer ausgeführt wird und Sie daher keine weitere Instanz mit höheren Rechten ausführen können (es sei denn, Sie beenden ihn zuerst und verlieren dadurch Ihre Shell. Dies ist möglich, erfordert jedoch umständliche Workarounds).
Der Windows Explorer selbst weiß jedoch, wie UAC funktioniert. Wenn Sie also versuchen, auf einen Ordner zuzugreifen, auf den nur Administratoren Zugriff haben, und er erkennt, dass SieSindein Mitglied der Administratoren, aber es läuft nicht im erhöhten Modus, es versucht hilfreich zu sein und fragt, ob Sie "dauerhaft Zugriff" auf den Ordner erhalten möchten; wenn Sie aufContinue
ein expliziter Grant-ACE für Ihr Benutzerkonto wird dem Ordner hinzugefügt: Dadurch können Sie direkt auf den Ordner zugreifen, ohne sich auf Ihre Administratorrechte verlassen zu müssen, und so die Benutzerkontensteuerung umgehen.
Was ich verwirrend finde, ist, dass dies ein Standardverhalten (wenn auch umstritten) für UAC und Explorer ist, aberes passiert nur, wenn Administratorrechte beteiligt sind; wenn Sie Zugriff auf einen Ordner haben, weil Sie zu einer normalen Gruppe (ohne Administratorrechte) gehören, die darauf zugreifen kann, sollte UAC überhaupt nicht eingreifen.
Sofern Windows die Gruppe „Leistungsprotokollbenutzer“ hinsichtlich der Benutzerkontensteuerung nicht genauso behandelt wie die Gruppe „Administratoren“ und somit erhöhte Rechte erfordert, um die Mitgliedschaft tatsächlich nutzen zu können; wenn dies der Fall ist, ist mir das neu und ich kann nirgends einen Verweis darauf finden.