检查用户是否具有读/写权限

时间:2016-01-18 16:25:58

标签: windows powershell file-permissions

我给出了用户域\名称,密码和路径,如果给定用户在给定目录中具有写入和/或读取权限,我想显示。

总体思路:

function Has-Read-Access {
    param(
        [Parameter(Mandatory=$true)][string]$userLogin
        [Parameter(Mandatory=$true)][string]$userPwd
        [Parameter(Mandatory=$true)][string]$directory
    )
    $hasReadAccess = 0
    #insert magic here
    return $hasReadAccess
}

Has-Read-Access -userLogin 'DOMAIN\user' -userPwd 'Passw0rd' -directory 'C:\FolderName\'

我尝试过其他用户运行powershell.exe

Start-Process powershell.exe -Credential "TestDomain\Me"

但这似乎是一种错误的做法。

1 个答案:

答案 0 :(得分:6)

查看谁拥有有效访问文件夹的简便方法(PowerShellAccessControl Module 3.0/4.0

一些代码如:

Get-Item $directory | Get-EffectiveAccess -Principal $UserName

要获取有权访问文件夹的用户列表,请使用Get-ACL(TechNet Article

Get-ACL $Directory

注意:您不需要知道某人的密码即可获得他们的访问权限。