Sky*_*rdw 2 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\'
Run Code Online (Sandbox Code Playgroud)
我尝试过powershell.exe不同的用户运行:
Start-Process powershell.exe -Credential "TestDomain\Me"
Run Code Online (Sandbox Code Playgroud)
但这似乎是一种错误的做法.
查看谁有效访问文件夹的简便方法(PowerShellAccessControl Module 3.0/4.0
一些代码如:
Get-Item $directory | Get-EffectiveAccess -Principal $UserName
Run Code Online (Sandbox Code Playgroud)
要获取有权访问文件夹的用户列表,请使用Get-ACL(TechNet文章)
Get-ACL $Directory
Run Code Online (Sandbox Code Playgroud)
注意:您无需知道某人的密码即可获得他们拥有的访问权限.