2016-12-19 7 views
0

Ich möchte für Ihren Vorschlag sehen, ob es eine Möglichkeit gibt zu sagen, wer zugegriffen/geändert/löschen eine bestimmte Datei in Windows mit PowerShell-Befehl oder Batch-Befehl ohne die Anmeldung auf Dateiebene auf einem Windows-Host einzuschalten? Der folgende Powershell-Befehl gibt mir nicht unbedingt den Benutzernamen, wer die Datei geändert hat.Wie kann man wissen, welcher Benutzer eine Datei in Windows-Umgebung mit Powershell geändert hat?

Get-ChildItem 'C:\Test Folder' | Where {$_.LastWriteTime} | select -last 1 
+3

Sie müssten die Überwachung der Dateien aktivieren, die Sie überwachen und dann aus den erstellten Protokollen lesen müssen. – BenH

Antwort

0

Windows-Dateiüberwachung ist standardmäßig nicht aktiviert. Wenn die Datei derzeit keine Überwachungsinformationen meldet, können Sie diese Informationen nicht abrufen. Wenn Sie diese Option aktivieren, werden zukünftige Prüfereignisinformationen in einem Windows-Protokoll protokolliert. Es wird nicht in den Dateimetadaten gespeichert. (Achtung: Das Aktivieren der Dateiüberwachung kann aufgrund der möglicherweise großen Datenmengen zu einer unbeabsichtigten Dienstverweigerung führen.) Die Überwachung kann durch Öffnen des Datei-Explorers und Navigieren zu dem Ordner/der Datei, die Sie überwachen möchten, aktiviert werden.

  • Rechtsklick auf die Datei
  • Wählen Sie Sicherheit Tab
  • Klicken Sie auf Schaltfläche Erweitert
  • Klicken Sie auf Registerkarte Überwachung (erheben privledges)
  • Klicken Sie auf Hinzufügen
  • ein Prinzip wählen (können Benutzer oder Domäne sein Benutzer), Wählen Sie die Berechtigungen aus, die Sie überwachen möchten (z. B. Schreiben)
  • Klicken Sie auf OK

Sobald dies erledigt ist, sollten die Überwachungseinträge im Windows-Sicherheitsprotokoll angezeigt werden.

+0

also, wie es zu aktivieren, und wo ist das Protokoll? – Swing

Verwandte Themen