哪个用户打开此文件?自动化

时间:2014-06-19 20:32:32

标签: powershell

我有一个大约1000个PST的列表,这些PST没有分配活动目录所有者,也没有为用户识别文件夹或文件名。

我想知道用户打开此文件的位置,以便我可以识别所有者。

给出文件名列表。

C:\asdf.pst
C:\fdsa.pst

还有一台电脑。
Murigar

我相信可以使用OpenFiles.exe生成所有打开文件的列表,然后提取此信息。

1 个答案:

答案 0 :(得分:3)

当用户打开PST文件时,它会使用~asdf.pst.tmp这样的文件名创建一个临时文件。您可以检查该文件的所有者,以查看谁打开了PST。

Get-ChildItem "\\server\folder\*.pst.tmp" -Force | ForEach-Object {
    $acl = Get-Acl -Path $_.FullName
    $owner = $acl.Owner
    $file = $_.Name.Replace("~","").Replace(".tmp","")
    "$file is currently open by $owner"
    }