You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell批量获取Windows Server 2012R2所有共享及权限?

批量获取Windows Server 2012R2所有共享文件夹权限

可以用PowerShell组合命令批量遍历所有共享并导出权限信息,具体操作如下:

  • 直接在控制台查看所有共享权限(排除系统隐藏共享)
    运行以下PowerShell命令,会实时输出每个共享的详细权限信息:

    Get-SmbShare | Where-Object { $_.Name -notmatch '^\$' } | ForEach-Object {
        $shareName = $_.Name
        $sharePath = $_.Path
        Get-SmbShareAccess -Name $shareName | ForEach-Object {
            [PSCustomObject]@{
                共享名称 = $shareName
                共享路径 = $sharePath
                权限组/用户 = $_.AccountName
                权限类型 = $_.AccessControlType
                权限 = $_.AccessRight
            }
        }
    }
    
  • 导出为CSV文件(方便后续整理查看)
    如果需要把结果保存成表格文件,在命令末尾加上导出参数,指定保存路径即可:

    Get-SmbShare | Where-Object { $_.Name -notmatch '^\$' } | ForEach-Object {
        $shareName = $_.Name
        $sharePath = $_.Path
        Get-SmbShareAccess -Name $shareName | ForEach-Object {
            [PSCustomObject]@{
                共享名称 = $shareName
                共享路径 = $sharePath
                权限组/用户 = $_.AccountName
                权限类型 = $_.AccessControlType
                权限 = $_.AccessRight
            }
        }
    } | Export-Csv -Path "C:\共享权限列表.csv" -Encoding UTF8 -NoTypeInformation
    

补充说明

  • 命令中的Where-Object { $_.Name -notmatch '^\$' }是用来过滤名称以$结尾的系统隐藏共享(比如ADMIN$、C$),如果需要包含这些共享,直接删除这一段代码即可。
  • 最终输出的结果会清晰展示每个共享的名称、路径、对应的权限组/用户、权限类型(允许/拒绝)以及具体权限(读取/修改等)。

内容的提问来源于stack exchange,提问作者Spacewalker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:52:11