服务器中有多个文件夹,使用域账户进行管理,每个文件夹的权限不同,如何取到所有文件夹的权限并生成到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 文件中。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 个人网站被恶意大量访问,怎么办
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM
- ¥15 划分vlan后不通了
- ¥15 GDI处理通道视频时总是带有白色锯齿
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制