原生审计
- 打开 PowerShell ISE → 通过运行以下 cmdlet 来导入 Microsoft SharePoint 的 PowerShell 插件:
Add-PSSnapin Microsoft.SharePoint.PowerShell
- 在 SharePoint 服务器上运行以下脚本,指定 SharePoint 站点 URL($SPSiteURL)以及用于导出为 CSV 的文件路径($ExportFile):
[void][System.Reflection.Assembly]::LoadWithPartialName
("Microsoft.SharePoint")
$SPSiteUrl = "http://sharepoint/sites/ent"
$SPSite = New-Object Microsoft.SharePoint.SPSite($SPSiteUrl);
$ExportFile = "C:\root\Permissions.csv"
"Web Title,Web URL,List Title,User or Group,Role,Inherited" | out-file $ExportFile
foreach ($WebPath in $SPSite.AllWebs)
{
if ($WebPath.HasUniqueRoleAssignments)
{
$SPRoles = $WebPath.RoleAssignments;
foreach ($SPRole in $SPRoles)
{
foreach ($SPRoleDefinition in $SPRole.RoleDefinitionBindings)
{
$WebPath.Title + "," + $WebPath.Url + "," + "N/A" + "," +
$SPRole.Member.Name + "," + $SPRoleDefinition.Name + "," +
$WebPath.HasUniqueRoleAssignments | out-file $ExportFile -append
}
}
}
foreach ($List in $WebPath.Lists)
{
if ($List.HasUniqueRoleAssignments)
{
$SPRoles = $List.RoleAssignments;
foreach ($SPRole in $SPRoles)
{
foreach ($SPRoleDefinition in $SPRole.RoleDefinitionBindings)
{
$WebPath.Title + "," + $WebPath.Url + "," + $List.Title + "," +
$SPRole.Member.Name + "," + $SPRoleDefinition.Name | out-file $ExportFile -append
}
}
}
}
}
$SPSite.Dispose();
- 在 MS Excel 中打开脚本生成的文件。
示例报告:
Netwrix Auditor for SharePoint
- 运行 Netwrix Auditor → 导航到“Reports” → 展开“SharePoint”部分 → 转到“SharePoint – State-in-Time” → 选择“SharePoint Object Permissions” → 点击“View”。
- 指定“Object Path”,并将“Permissions”设置为“(Select All)”.
- 要将报告导出为 CSV 或其他格式,请点击“Export”按钮 → 从下拉菜单中选择一种格式 → 点击“Save”。
示例报告:
分享到