update
This commit is contained in:
54
SharePoint Online/New-SpoLibrary.ps1
Normal file
54
SharePoint Online/New-SpoLibrary.ps1
Normal file
@ -0,0 +1,54 @@
|
||||
$creduser = Read-Host "Admin email"
|
||||
$credpassword = Read-Host "Admin Password"
|
||||
|
||||
[securestring]$secStringPassword = ConvertTo-SecureString $credpassword -AsPlainText -Force
|
||||
[pscredential]$credObject = New-Object System.Management.Automation.PSCredential ($creduser, $secStringPassword)
|
||||
|
||||
Connect-AzureAD -Credential $credObject
|
||||
|
||||
$SiteURL = "Site library URL"
|
||||
$Library = "List Name"
|
||||
|
||||
Connect-PnPOnline -Url $SiteURL -UseWebLogin
|
||||
|
||||
$MemberGroup = Get-PnPGroup -Identity "Site de partage - Membres"
|
||||
|
||||
$CsvFolderList = Import-csv "SharePoint_Config_Sub.csv" -Delimiter ";" -Encoding UTF8
|
||||
|
||||
foreach ($folder in $CsvFolderList) {
|
||||
|
||||
$NewFolder = Add-PnPFolder -Name $folder.name -Folder $Library
|
||||
|
||||
$NewFolderUrl = Get-PnPFolder -Url ($Library + "/" + $NewFolder.name) -Includes ListItemAllFields.HasUniqueRoleAssignments
|
||||
|
||||
If ($NewFolderUrl.ListItemAllFields.HasUniqueRoleAssignments) {
|
||||
Write-host "Folder is already with broken permissions!" -f Yellow
|
||||
}
|
||||
Else {
|
||||
Write-Host $NewFolderUrl
|
||||
|
||||
$NewFolderUrl.ListItemAllFields.BreakRoleInheritance($True, $True)
|
||||
|
||||
Invoke-PnPQuery
|
||||
|
||||
Write-host "Folder's Permission Inheritance is broken!!" -f Green
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach ($folder in $CsvFolderList) {
|
||||
|
||||
$ADgroupname = (Get-AzureADGroup | where { $_.displayname -eq $folder.Group } ).objectid
|
||||
|
||||
$SpFolder = Get-PnPFolder -Url ("/sites/partage" + $Library + "/" + $folder.name)
|
||||
|
||||
Set-PnPListItemPermission -List $Library -Identity ($folder.ListItemAllFields) -Group $MemberGroup -RemoveRole 'Lecture'
|
||||
|
||||
Set-PnPfolderPermission -list $Library -identity $SpFolder -user "c:0t.c|tenant|$ADGroupName" -AddRole 'Collaboration'
|
||||
}
|
||||
|
||||
foreach ($folder in $CsvFolderList) {
|
||||
|
||||
Add-PnPFolder -Name $folder.name -Folder ($Library + "/" + $folder.parent)
|
||||
|
||||
}
|
Reference in New Issue
Block a user