批量导入站点权限

 
cls
$Web = Get-SPWeb "http://16.178.115.14:91/"
Get-Content c:\export\account.txt | ForEach-Object {Write-Host $_$account = $web.EnsureUser($_.Split(',')[0])$role = $web.RoleDefinitions[$_.Split(',')[1]]$assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($account)$assignment.RoleDefinitionBindings.Add($role)$web.RoleAssignments.Add($assignment)
}

-----------

mitpalm4\xuting,Full Control
mitpalm4\lily,Read

批量导出站点权限

cls
if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) {Add-PSSnapin "Microsoft.SharePoint.PowerShell"}$properties=@{SiteUrl='';SiteTitle='';ListTitle='';ObjectType='';ObjectUrl='';ParentGroup='';GroupOwner='';MemberType='';MemberName='';MemberLoginName='';JobTitle='';Department='';RoleDefinitionBindings='';};$Permissions=@();$UserInfoList="";$RootWeb="";$SiteCollectionUrl = Read-Host "Enter a Site Collection Url";Get-SPSite $SiteCollectionUrl|Get-SPWeb -limit ALL|%{$web = $_;#Root Web of the Site Collectionif($web.IsRootWeb -eq $True){$RootSiteTitle = $web.Title;$RootWeb = $web;$UserInfoList = $RootWeb.GetList([string]::concat($web.Url,"/_catalogs/users"));}$siteUrl = $web.Url;$siteRelativeUrl = $web.ServerRelativeUrl;Write-Host $siteUrl -Foregroundcolor "Red";$siteTitle = $web.Title;#Get Site Level Permissions if it's uniqueif($web.HasUniqueRoleAssignments -eq $True){$web.RoleAssignments|%{$RoleDefinitionBindings=@();$_.RoleDefinitionBindings|%{$RoleDefinitionBindings += $_.Name;}$MemberName = $_.Member.Name;$MemberLoginName = $_.Member.LoginName;$MemberType = $_.Member.GetType().Name;$GroupOwner = $_.Member.Owner.Name;if($MemberType -eq "SPGroup"){$JobTitle="NA";$Department="NA";$permission = New-Object -TypeName PSObject -Property $properties;$permission.SiteUrl =$siteUrl;$permission.SiteTitle = $siteTitle;$permission.ListTitle = "NA";$permission.ObjectType = "Site";$permission.ObjectUrl = $siteRelativeUrl;$permission.MemberType = $MemberType;$permission.ParentGroup = $MemberName;$permission.GroupOwner = $GroupOwner;$permission.MemberName = $MemberName;$permission.MemberLoginName = $MemberLoginName;$permission.JobTitle = $JobTitle;$permission.Department = $Department;$permission.RoleDefinitionBindings = $RoleDefinitionBindings -join ",";$Permissions +=$permission;#Expand Groups$web.Groups[$MemberName].Users|%{$JobTitle="NA";$Department="NA";try{$userinfo = $UserInfoList.GetItemById($_.ID);$JobTitle=$userinfo["JobTitle"];$Department=$userinfo["Department"];}catch{}$permission = New-Object -TypeName PSObject -Property $properties;$permission.SiteUrl =$siteUrl;$permission.SiteTitle = $siteTitle;$permission.ListTitle = "NA";$permission.ObjectType = "Site";$permission.ObjectUrl = $siteRelativeUrl;$permission.MemberType = "SPGroupMember";$permission.ParentGroup = $MemberName;$permission.GroupOwner = $GroupOwner;$permission.MemberName = $_.DisplayName;$permission.MemberLoginName = $_.UserLogin;$permission.JobTitle = $JobTitle;$permission.Department = $Department;$permission.RoleDefinitionBindings = $RoleDefinitionBindings -join ",";$Permissions +=$permission;}}elseif($MemberType -eq "SPUser"){$JobTitle="NA";$Department="NA";try{$userinfo = $UserInfoList.GetItemById($_.ID);$JobTitle=$userinfo["JobTitle"];$Department=$userinfo["Department"];}catch{}$permission = New-Object -TypeName PSObject -Property $properties;$permission.SiteUrl =$siteUrl;$permission.SiteTitle = $siteTitle;$permission.ListTitle = "NA";$permission.ObjectType = "Site";$permission.MemberType = $MemberType;$permission.ObjectUrl = $siteRelativeUrl;$permission.ParentGroup = "NA";$permission.GroupOwner = "NA";$permission.MemberName = $MemberName;$permission.MemberLoginName = $MemberLoginName;$permission.JobTitle = $JobTitle;$permission.Department = $Department;$permission.RoleDefinitionBindings = $RoleDefinitionBindings -join ",";$Permissions +=$permission;}}}#Get all Uniquely secured objects$uniqueObjects = $web.GetWebsAndListsWithUniquePermissions();#Get uniquely secured Lists pertaining to the current site$uniqueObjects|?{$_.WebId -eq $web.Id -and $_.Type -eq "List"}|%{$listUrl = ($_.Url);$list = $web.GetList($listUrl);#Exclude internal system lists and check if it has unique permissionsif($list.Hidden -ne $True){Write-Host $list.Title -Foregroundcolor "Yellow";$listTitle = $list.Title;#Check List Permissionsif($list.HasUniqueRoleAssignments -eq $True){$list.RoleAssignments|%{$RoleDefinitionBindings="";$_.RoleDefinitionBindings|%{$RoleDefinitionBindings += $_.Name;}$MemberName = $_.Member.Name;$MemberLoginName = $_.Member.LoginName;$MemberType = $_.Member.GetType().Name;$JobTitle="NA";$Department="NA";if($MemberType -eq "SPUser"){try{$userinfo = $UserInfoList.GetItemById($_.ID);$JobTitle=$userinfo["JobTitle"];$Department=$userinfo["Department"];}catch{}}$permission = New-Object -TypeName PSObject -Property $properties;$permission.SiteUrl =$siteUrl;$permission.SiteTitle = $siteTitle;$permission.ListTitle = $listTitle;$permission.ObjectType = $list.BaseType.ToString();$permission.ObjectUrl = $listUrl;$permission.ParentGroup = "NA";$permission.GroupOwner = "NA";$permission.MemberType=$MemberType;$permission.MemberName = $MemberName;$permission.MemberLoginName = $MemberLoginName;$permission.JobTitle = $JobTitle;$permission.Department = $Department;$permission.RoleDefinitionBindings = $RoleDefinitionBindings -join ",";$Permissions +=$permission;}}if($list.BaseType -eq "DocumentLibrary"){#Check All Folders$list.Folders|%{$folderUrl = $_.Url;if($_.HasUniqueRoleAssignments -eq $True){$_.RoleAssignments|%{$RoleDefinitionBindings="";#Get Permission Level against the Permission$_.RoleDefinitionBindings|%{$RoleDefinitionBindings += $_.Name;}$MemberName = $_.Member.Name;$MemberLoginName = $_.Member.LoginName;$MemberType = $_.Member.GetType().Name;$JobTitle="NA";$Department="NA";if($MemberType -eq "SPUser"){try{$userinfo = $UserInfoList.GetItemById($_.ID);$JobTitle=$userinfo["JobTitle"];$Department=$userinfo["Department"];}catch{}}$permission = New-Object -TypeName PSObject -Property $properties;$permission.SiteUrl =$siteUrl;$permission.SiteTitle = $siteTitle;$permission.ListTitle = $listTitle;$permission.ObjectType = $list.BaseType.ToString();$permission.ObjectUrl = $folderUrl;$permission.MemberType = $MemberType;$permission.ParentGroup = "NA";$permission.GroupOwner = "NA";$permission.MemberName = $MemberName;$permission.MemberLoginName = $MemberLoginName;$permission.JobTitle = $JobTitle;$permission.Department = $Department;$permission.RoleDefinitionBindings = $RoleDefinitionBindings -join ",";$Permissions +=$permission;}}}#Check All Items$list.Items|%{$fileUrl = $_.File.Url;$file=$_.File;if($_.HasUniqueRoleAssignments -eq $True){$_.RoleAssignments|%{$RoleDefinitionBindings="";$_.RoleDefinitionBindings|%{$RoleDefinitionBindings += $_.Name;}$MemberName = $_.Member.Name;$MemberLoginName = $_.Member.LoginName;$MemberType = $_.Member.GetType().Name;$JobTitle="NA";$Department="NA";if($MemberType -eq "SPUser"){try{$userinfo = $UserInfoList.GetItemById($_.ID);$JobTitle=$userinfo["JobTitle"];$Department=$userinfo["Department"];}catch{}}$permission = New-Object -TypeName PSObject -Property $properties;$permission.SiteUrl =$siteUrl;$permission.SiteTitle = $siteTitle;$permission.ListTitle = $listTitle;$permission.ObjectType = $file.GetType().Name;$permission.ObjectUrl = $fileUrl;$permission.MemberType=$MemberType;$permission.MemberName = $MemberName;$permission.MemberLoginName = $MemberLoginName;$permission.JobTitle = $JobTitle;$permission.Department = $Department;$permission.RoleDefinitionBindings = $RoleDefinitionBindings -join ",";$Permissions +=$permission;}}}}}}if($_.IsRootWeb -ne $True){$_.Dispose();}}#Dispose root web$RootWeb.Dispose();$Permissions|select SiteUrl,SiteTitle,ObjectType,ObjectUrl,ListTitle,MemberName,MemberLoginName,MemberType,JobTitle,Department,ParentGroup,GroupOwner,RoleDefinitionBindings|Export-CSV ("c:\"+$RootSiteTitle+"-Permissions.csv") -NoTypeInformation;

批量导入导出站点权限site permissions相关推荐

  1. 使用cardme读写VCard文件,实现批量导入导出电话簿

    转载自 使用cardme读写VCard文件,实现批量导入导出电话簿 首先下载jar包cardme. http://sourceforge.net/projects/cardme/?source=nav ...

  2. dw如何导入php站点,Dreamweaver CS6如何导入/导出站点?

    Dreamweaver CS6(DW CS6)是一款拥有可视化操作界面的专业网页设计软件,Dreamweaver CS6支持HTML.PHP.CSS等众多编程语言,能够帮助用户轻松制作出充满特色的网页 ...

  3. AD域中如何批量导入导出账号

    本帖出现于51CTO论坛中,是一位网友自己的实际工作经历.是在AD域中如何批量导入导出账号.工作上有一个需求,需要批量的导入一些账号,并要求有一些属性,比如:部门,职位,分机等! 如果您有兴趣也可以去 ...

  4. Java实现文件批量导入导出实例(兼容xls,xlsx)

    <link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON"> &l ...

  5. CATIA批量导入导出数据到EXCEL

    CATIA批量导入导出数据到EXCEL 序言 一.EXCEL数据点批量导入到CATIA 二.CATIA数据点批量导入到EXCEL 三.VB批量输出点到EXCEL 序言 工作中,由于测量基准和建模基准不 ...

  6. 批量导入/导出Excel文件(Python+Matlab)

    简单整理了下批量导入/导出Excel的Python和Matlab代码. Matlab 连续数字型.xlsx文件(如file_1.xlsx, file_2.xlsx, file_3.xlsx) clc, ...

  7. android手机导出联系人,OPPO Reno如何批量导入/导出联系人?

    准备换新手机,怎么将联系人号码全部存到新机里呢?现在的手机都有导入/导出联系人的功能,很方便哦! OPPO Reno如何批量导入/导出联系人? 1.依次进入手机[设置]-[系统应用]-[电话本]-[导 ...

  8. win10批量导入导出windows计划任务的批处理脚本

    批量导入导出windows计划任务的批处理脚本 2017年11月16日 16:19:31 yyusea 阅读数:2705 先把参考摆上: 参考1:  How to: Use schtasks_tool ...

  9. 导出ad 计算机用户,批量导入导出域(活动目录AD)用户账户

    在活动目录的管理中会遇到对用户进行批量操作的问题,例如,在升级操作系统时或在刚刚使用活动目录时,管理人员需要批量的添加或删除用户帐户. 批量导入/导出域用户可以使用Windows服务器中的csvde. ...

最新文章

  1. 千万级高德服务单元化方案和架构实践
  2. javascript基础(幼兔、小兔成兔数量等典型例题)
  3. Webpack 知识点总结
  4. C++---哈希闭散列与开散列
  5. npm run dev时报错:Node Sass does not yet support../nodejs与node-sass版本冲突
  6. JSTL简介以及简单示例
  7. 极客大挑战基础部分解题过程
  8. CART决策树算法的Python实现(注释详细)
  9. 17.JAVA对象的进阶
  10. Android进程间通讯AIDL使用及问题详解(雷惊风)
  11. svn update 时报错 Node remains in conflict 和解决方法
  12. python全栈(中国历史天气可视化系统)
  13. 自己搭建的三相永磁同步电机直接转矩控制(DTC)模型
  14. 区块链技术已进入图书出版领域,并推出图书区块链系统
  15. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(下)
  16. JDK内置并发AQS同步器的独占锁获取与释放
  17. Revit 编辑生成复合墙
  18. 【教學】如何使用Ghost 2003備份還原SATA硬碟?
  19. Freesurfer Mac版本安装过程及教程资源收集
  20. Adobe全家桶介绍及软件下载

热门文章

  1. Django Bakend--后台管理插件开发-01
  2. 基于re模块的计算器
  3. 操作与配置CISCO设备
  4. c8051单片机注意事项:
  5. javascript高级程序设计笔记
  6. Cognos配置oracle类型内容库时报错
  7. 2009_01_15_星期三
  8. php下扩展php_curl.dll的安装
  9. 给出一种符号表的组织方式和结构设计,要考虑数组类型和函数(不得与课件上的雷同)
  10. vba excel 开发游戏_为什么要学习VBA?