服务器中有多个文件夹,使用域账户进行管理,每个文件夹的权限不同,如何取到所有文件夹的权限并生成到excel中
1条回答 默认 最新
关注引用 皆我百晓生 小程序回复内容作答:
要获取共享文件夹的权限并生成到Excel中,可以使用 PowerShell 脚本来实现。以下是一种可能的解决方案:
在服务器上打开 PowerShell 窗口。
使用以下命令获取所有共享文件夹的名称和路径:
$shares = Get-WmiObject -Query "SELECT * FROM Win32_Share" foreach ($share in $shares) { $share.Name $share.Path }- 使用以下命令获取每个共享文件夹的权限:
foreach ($share in $shares) { $share.Name $share.Path $acl = Get-Acl $share.Path foreach ($access in $acl.Access) { $access.IdentityReference.Value $access.FileSystemRights $access.AccessControlType } }- 将输出结果保存到一个变量中,以便后续处理:
$results = @() foreach ($share in $shares) { $shareName = $share.Name $sharePath = $share.Path $acl = Get-Acl $sharePath foreach ($access in $acl.Access) { $entry = New-Object -TypeName PSObject $entry | Add-Member -MemberType NoteProperty -Name "ShareName" -Value $shareName $entry | Add-Member -MemberType NoteProperty -Name "SharePath" -Value $sharePath $entry | Add-Member -MemberType NoteProperty -Name "IdentityReference" -Value $access.IdentityReference.Value $entry | Add-Member -MemberType NoteProperty -Name "FileSystemRights" -Value $access.FileSystemRights $entry | Add-Member -MemberType NoteProperty -Name "AccessControlType" -Value $access.AccessControlType $results += $entry } }- 使用以下命令将结果输出到 Excel 文件中:
$results | Export-Excel -Path "C:\Path\To\Output.xlsx"在运行脚本之前,请确保已经安装了 PowerShell 和
ImportExcel模块。若尚未安装ImportExcel模块,可使用以下命令来安装:Install-Module -Name ImportExcel通过按照上述步骤操作,你应该能够获取服务器上所有共享文件夹的权限,并将结果生成到 Excel 文件中。
解决 无用评论 打赏 举报 编辑记录