检查文档集中 files/documents 中的权限
Check permissions in files/documents within document sets
我正在尝试遍历文档库中的文档集并列出 files/documents(如果它们已设置 "unique permissions")。到目前为止,我有以下脚本,但由于某种原因,检查未 working/bringing 返回预期结果:
$siteURL = new-object
Microsoft.SharePoint.SPSite("https://test.code/sites/ITTest")
$web = $siteURL.rootweb
#Getting the required document library
$libraryName = $web.Lists["FurtherTests"]
$rootFolder = $libraryName.RootFolder
#Iterating through the required documents sets
foreach ($docsetFolder in $rootFolder.SubFolders)
{
#check document sets/folders of content type = "TestDocSet"
if($docsetFolder.Item.ContentType.Name -eq "TestDocSet")
{
write-host -f Yellow `t $docsetFolder.Name
#Iterating through the files within the document sets
foreach ($document in $docsetFolder.Files)
{
if(!$document.HasUniqueRoleAssignments)
{
write-host -f Cyan `t " " $document.Name
write-host -f Red `t " ..permissions inheritance detected. Process
skipped"
}
}
}
}
$web.Dispose()
$siteURL.Dispose()
在我的文档集中,我有两个文档 1 具有独特的权限集,另一个继承权限。
我希望脚本只显示 documents/files 没有设置唯一权限,但我得到了所有文件。我在上面的独特权限检查中遗漏了什么吗?
提前感谢您的任何建议。
问题出在你检查的地方。中断的继承或唯一角色分配选项实际上在 ListItem 对象上。如果您按如下方式修改代码,它应该可以工作:
if(!$document.Item.HasUniqueRoleAssignments)
{
write-host -f Cyan `t " " $document.Name
write-host -f Red `t " ..permissions inheritance detected. Process skipped"
}
如果您有任何问题,请告诉我。
我正在尝试遍历文档库中的文档集并列出 files/documents(如果它们已设置 "unique permissions")。到目前为止,我有以下脚本,但由于某种原因,检查未 working/bringing 返回预期结果:
$siteURL = new-object
Microsoft.SharePoint.SPSite("https://test.code/sites/ITTest")
$web = $siteURL.rootweb
#Getting the required document library
$libraryName = $web.Lists["FurtherTests"]
$rootFolder = $libraryName.RootFolder
#Iterating through the required documents sets
foreach ($docsetFolder in $rootFolder.SubFolders)
{
#check document sets/folders of content type = "TestDocSet"
if($docsetFolder.Item.ContentType.Name -eq "TestDocSet")
{
write-host -f Yellow `t $docsetFolder.Name
#Iterating through the files within the document sets
foreach ($document in $docsetFolder.Files)
{
if(!$document.HasUniqueRoleAssignments)
{
write-host -f Cyan `t " " $document.Name
write-host -f Red `t " ..permissions inheritance detected. Process
skipped"
}
}
}
}
$web.Dispose()
$siteURL.Dispose()
在我的文档集中,我有两个文档 1 具有独特的权限集,另一个继承权限。
我希望脚本只显示 documents/files 没有设置唯一权限,但我得到了所有文件。我在上面的独特权限检查中遗漏了什么吗?
提前感谢您的任何建议。
问题出在你检查的地方。中断的继承或唯一角色分配选项实际上在 ListItem 对象上。如果您按如下方式修改代码,它应该可以工作:
if(!$document.Item.HasUniqueRoleAssignments)
{
write-host -f Cyan `t " " $document.Name
write-host -f Red `t " ..permissions inheritance detected. Process skipped"
}
如果您有任何问题,请告诉我。