Get-Acl 获取800个不同目录的访问用户
时间: 2024-01-08 15:02:23 浏览: 154
您可以编写一个 PowerShell 脚本来获取每个目录的访问控制列表(ACL),并从中提取访问用户。以下是一个示例脚本:
```powershell
# 指定包含目录的文件夹路径
$folders = "C:\Folder1", "C:\Folder2", "C:\Folder3", ...
# 循环遍历每个文件夹并获取 ACL
foreach ($folder in $folders) {
$acl = Get-Acl $folder
# 循环遍历 ACL 中的访问规则并提取访问用户
foreach ($accessRule in $acl.Access) {
$accessRule.IdentityReference.Value
}
}
```
此脚本将循环遍历每个文件夹并获取 ACL。然后,它将循环遍历 ACL 中的每个访问规则,并提取访问用户。最终,您将获得一个包含所有访问用户的列表。
相关问题
Get-Acl 获取800个不同共享目录的访问用户
您可以编写一个 PowerShell 脚本来获取每个共享目录的访问控制列表(ACL),并从中提取访问用户。以下是一个示例脚本:
```powershell
# 指定包含共享目录的计算机名称
$computers = "Computer1", "Computer2", "Computer3", ...
# 循环遍历每台计算机并获取共享目录
foreach ($computer in $computers) {
$shares = Get-WmiObject -Class Win32_Share -Computer $computer | Where-Object {$_.Type -eq 0}
# 循环遍历每个共享目录并获取 ACL
foreach ($share in $shares) {
$acl = Get-Acl $share.Path
# 循环遍历 ACL 中的访问规则并提取访问用户
foreach ($accessRule in $acl.Access) {
$accessRule.IdentityReference.Value
}
}
}
```
此脚本将循环遍历每台计算机并获取共享目录。然后,它将循环遍历每个共享目录并获取 ACL。接下来,它将循环遍历 ACL 中的每个访问规则,并提取访问用户。最终,您将获得一个包含所有访问用户的列表。请注意,此脚本需要以管理员身份运行。
阅读全文