Wie liste ich alle Dateien auf, auf die ein Prozess zugreift? (auch veröffentlicht)

340
snovelli

Ich versuche, eine Liste von Dateien abzurufen, auf die von einem bestimmten Prozess zugegriffen wird, indem entweder dessen Prozess-ID verwendet wird oder indem sie unter einem Befehlszeilenprogramm gestartet wird.

Ich habe es versucht, xperfaber die Dokumentation ist sehr vage und trotz eines Tages voller Versuche kann ich nicht bekommen, was ich brauche.

Ist sich jemand einer solchen Nützlichkeit bewusst?

Hinweis: Die Liste der Dateien, auf die zugegriffen wird, sollte auch die Datei enthalten, die geöffnet und geschlossen wurde.

1
Sie können eine Kombination aus Powershell und [Handle] (https://technet.microsoft.com/en-ca/sysinternals/bb896655.aspx) verwenden. Einen Startpunkt finden Sie unter [Get-OpenFile] (http://msgoodies.blogspot.co.uk/2009/03/get-openfile.html). DavidPostill vor 7 Jahren 2
@DavidPostill: Ich habe darüber nachgedacht, aber ich denke, dass ich mit diesem Ansatz möglicherweise einige Informationen verlieren könnte. Wenn zum Beispiel eine Datei sehr kurz geöffnet wird, kann ich sie möglicherweise nicht erfassen snovelli vor 7 Jahren 0

1 Antwort auf die Frage

1
Sun

Ich weiß, dass Process Monitor 3.2 das tut, was Sie wollen, aber es ist hauptsächlich als GUI-basiertes Tool bekannt. Wenn Sie eingeben procmon /?, erhalten Sie eine Liste mit Befehlszeilenoptionen. Mein Vorschlag wäre, eine Konfiguration (.pmf) zu exportieren und zum Exportieren einer CSV- oder XML-Datei zur Analyse zu verwenden.

Wenn Sie zuvor eine Konfigurationsdatei erstellen müssen, können Sie leider nicht einfach den Namen des Prozesses eingeben, dem Sie folgen möchten. Sie können das Schreiben von Filtern automatisieren, Sie müssen jedoch PowerShell verwenden.

Sieht vielversprechend aus. Werde es versuchen snovelli vor 7 Jahren 0