我给出了用户域\名称,密码和路径,如果给定用户在给定目录中具有写入和/或读取权限,我想显示。
总体思路:
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"
但这似乎是一种错误的做法。
答案 0 :(得分:6)
查看谁拥有有效访问文件夹的简便方法(PowerShellAccessControl Module 3.0/4.0
一些代码如:
Get-Item $directory | Get-EffectiveAccess -Principal $UserName
要获取有权访问文件夹的用户列表,请使用Get-ACL(TechNet Article)
Get-ACL $Directory
注意:您不需要知道某人的密码即可获得他们的访问权限。