谁在Windows 7 PowerShell上打开共享文件

时间:2016-04-06 12:34:44

标签: powershell windows-7 share

我需要确定谁在我的计算机上打开文件,我想要自动化它。

我尝试过使用:

网络文件显示我打开的文件,但我看到用户GUEST,但我需要在我的局域网上的计算机名称向其发送消息。

net session 给我电脑,但我可以看到哪些文件打开了。 powershell v 2.0

我找到了这个脚本,但它只显示了像GUEST这样的用户

function get-openfiles{
    param(
    $computername=@($env:computername),
    $verbose=$false)
    $collection = @()
    foreach ($computer in $computername){
        $netfile = [ADSI]"WinNT://$computer/LanmanServer"
        $netfile.Invoke("Resources") | foreach {
        try{
        $collection += New-Object PsObject -Property @{
        Id = $.GetType().InvokeMember("Name", 'GetProperty', $null, $, $null)
        itemPath = $.GetType().InvokeMember("Path", 'GetProperty', $null, $, $null)
        UserName = $.GetType().InvokeMember("User", 'GetProperty', $null, $, $null)
        LockCount = $.GetType().InvokeMember("LockCount", 'GetProperty', $null, $, $null)
        Server = $computer
        }
    }
        catch{
        if ($verbose){write-warning $error[0]}
        }
        }
}
Return $collection
}

更新

所以这个脚本让我输出我的mashine script output 我们在这里可以看到用户GUEST。 打开控制管理 - >分享文件夹 - >会话并查看3个用户打开的文件 Session 在这里我们看到Anna PC打开3个文件和Art-PC打开9个文件。 Open Control Managments-> Sharefolder-> openfiles opened files 但我怎么能理解谁打开哪个文件?

0 个答案:

没有答案