批量导入导出站点权限site permissions
批量导入站点权限
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相关推荐
- 使用cardme读写VCard文件,实现批量导入导出电话簿
转载自 使用cardme读写VCard文件,实现批量导入导出电话簿 首先下载jar包cardme. http://sourceforge.net/projects/cardme/?source=nav ...
- dw如何导入php站点,Dreamweaver CS6如何导入/导出站点?
Dreamweaver CS6(DW CS6)是一款拥有可视化操作界面的专业网页设计软件,Dreamweaver CS6支持HTML.PHP.CSS等众多编程语言,能够帮助用户轻松制作出充满特色的网页 ...
- AD域中如何批量导入导出账号
本帖出现于51CTO论坛中,是一位网友自己的实际工作经历.是在AD域中如何批量导入导出账号.工作上有一个需求,需要批量的导入一些账号,并要求有一些属性,比如:部门,职位,分机等! 如果您有兴趣也可以去 ...
- Java实现文件批量导入导出实例(兼容xls,xlsx)
<link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON"> &l ...
- CATIA批量导入导出数据到EXCEL
CATIA批量导入导出数据到EXCEL 序言 一.EXCEL数据点批量导入到CATIA 二.CATIA数据点批量导入到EXCEL 三.VB批量输出点到EXCEL 序言 工作中,由于测量基准和建模基准不 ...
- 批量导入/导出Excel文件(Python+Matlab)
简单整理了下批量导入/导出Excel的Python和Matlab代码. Matlab 连续数字型.xlsx文件(如file_1.xlsx, file_2.xlsx, file_3.xlsx) clc, ...
- android手机导出联系人,OPPO Reno如何批量导入/导出联系人?
准备换新手机,怎么将联系人号码全部存到新机里呢?现在的手机都有导入/导出联系人的功能,很方便哦! OPPO Reno如何批量导入/导出联系人? 1.依次进入手机[设置]-[系统应用]-[电话本]-[导 ...
- win10批量导入导出windows计划任务的批处理脚本
批量导入导出windows计划任务的批处理脚本 2017年11月16日 16:19:31 yyusea 阅读数:2705 先把参考摆上: 参考1: How to: Use schtasks_tool ...
- 导出ad 计算机用户,批量导入导出域(活动目录AD)用户账户
在活动目录的管理中会遇到对用户进行批量操作的问题,例如,在升级操作系统时或在刚刚使用活动目录时,管理人员需要批量的添加或删除用户帐户. 批量导入/导出域用户可以使用Windows服务器中的csvde. ...
最新文章
- 千万级高德服务单元化方案和架构实践
- javascript基础(幼兔、小兔成兔数量等典型例题)
- Webpack 知识点总结
- C++---哈希闭散列与开散列
- npm run dev时报错:Node Sass does not yet support../nodejs与node-sass版本冲突
- JSTL简介以及简单示例
- 极客大挑战基础部分解题过程
- CART决策树算法的Python实现(注释详细)
- 17.JAVA对象的进阶
- Android进程间通讯AIDL使用及问题详解(雷惊风)
- svn update 时报错 Node remains in conflict 和解决方法
- python全栈(中国历史天气可视化系统)
- 自己搭建的三相永磁同步电机直接转矩控制(DTC)模型
- 区块链技术已进入图书出版领域,并推出图书区块链系统
- Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(下)
- JDK内置并发AQS同步器的独占锁获取与释放
- Revit 编辑生成复合墙
- 【教學】如何使用Ghost 2003備份還原SATA硬碟?
- Freesurfer Mac版本安装过程及教程资源收集
- Adobe全家桶介绍及软件下载