我得到了用户域\名称、密码和路径,我想显示给定用户是否在给定目录中具有写入或/和读取访问权限。
总体思路:
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"
但这似乎是一种错误的做法。
最佳答案
查看谁对文件夹具有有效访问权限的简单方法使用 ( PowerShellAccessControl Module 3.0/4.0
还有一些代码:
Get-Item $directory | Get-EffectiveAccess -Principal $UserName
要获取有权访问文件夹的用户列表,请使用 Get-ACL (TechNet Article)
Get-ACL $Directory
注意:您无需知道某人的密码即可获得他们的访问权限。
关于windows - 检查用户是否有读/写权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34859477/