#1 $siteurl = "https://SHAREPOINTDOMAIN.sharepoint.com/sites/StudentDrive" #2 $listname1xxx = "Shared Documents/General/Student Uploads/1xxx" $listname2xxx = "Shared Documents/General/Student Uploads/2xxx" $listname3xxx = "Shared Documents/General/Student Uploads/3xxx" $listname4xxx = "Shared Documents/General/Student Uploads/4xxx" $listname5xxx = "Shared Documents/General/Student Uploads/5xxx" $listname6xxx = "Shared Documents/General/Student Uploads/6xxx" $listname7xxx = "Shared Documents/General/Student Uploads/7xxx" $listname7xxx2 = "Shared Documents/General/Student Uploads/7xxx" $listname8xxx = "Shared Documents/General/Student Uploads/8xxx" $listname9xxx = "Shared Documents/General/Student Uploads/9xxx" #3 $access = "full control" #4 $1xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\1xxx.csv" $2xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\2xxx.csv" $3xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\3xxx.csv" $4xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\4xxx.csv" $5xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\5xxx.csv" $6xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\6xxx.csv" $7xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\7xxx.csv" $8xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\8xxx.csv" $9xxx = Import-Csv "C:\Scripts\Sharepoint\FolderCreationKids\CSV\9xxx.csv" #6 $FullPath1xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/1xxx" $FullPath2xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/2xxx" $FullPath3xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/3xxx" $FullPath4xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/4xxx" $FullPath5xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/5xxx" $FullPath6xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/6xxx" $FullPath7xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/7xxx" $FullPath8xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/8xxx" $FullPath9xxx = "/sites/StudentDrive/Shared Documents/General/Student Uploads/9xxx" #7 $Staff = "STAFFGROUP@domain.com" #Login Creds Set-ExecutionPolicy Unrestricted -force $AdminName = "ADMIN@domain.com" $Pass = Get-Content "C:\cred.txt" | ConvertTo-SecureString $Cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $Pass #----------Run 1xxx----------# connect-PnPOnline –Url $siteurl -Credential $cred #–Credentials (Get-Credential) foreach ( $entry in $1xxx ) { $FolderName1xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName1xxx -Folder $listname1xxx Add-PnPFolder -Name Business -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name CEP -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Citizenship -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Drama -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name English -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name History -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Humanities -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name ICT -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Languages -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Maths -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Media -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Music -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name PE -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Psychology -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Science -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name Sociology -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname1xxx/$FolderName1xxx Add-PnPFolder -Name "Other" -Folder $listname1xxx/$FolderName1xxx #get folder properites from list $listItem1xxx = Get-PnPListItem -List $listname1xxx -FolderServerRelativeUrl $FullPath1xxx -Query "$($FolderName1xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname1xxx -Identity $listItem1xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname1xxx -Identity $listItem1xxx -User $Staff -AddRole $access } #----------END 1xxx----------# #----------Run 2xxx----------# foreach ( $entry in $2xxx ) { $FolderName2xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName2xxx -Folder $listname2xxx Add-PnPFolder -Name Business -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name CEP -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Citizenship -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Drama -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name English -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name History -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Humanities -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name ICT -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Languages -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Maths -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Media -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Music -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name PE -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Psychology -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Science -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name Sociology -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname2xxx/$FolderName2xxx Add-PnPFolder -Name "Other" -Folder $listname2xxx/$FolderName2xxx #get folder properites from list $listItem2xxx = Get-PnPListItem -List $listname2xxx -FolderServerRelativeUrl $FullPath2xxx -Query "$($FolderName2xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname2xxx -Identity $listItem2xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname2xxx -Identity $listItem2xxx -User $Staff -AddRole $access } #----------End 2xxx----------# #----------Run 3xxx----------# foreach ( $entry in $3xxx ) { $FolderName3xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName3xxx -Folder $listname3xxx Add-PnPFolder -Name Business -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name CEP -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Citizenship -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Drama -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name English -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name History -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Humanities -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name ICT -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Languages -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Maths -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Media -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Music -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name PE -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Psychology -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Science -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name Sociology -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname3xxx/$FolderName3xxx Add-PnPFolder -Name "Other" -Folder $listname3xxx/$FolderName3xxx #get folder properites from list $listItem3xxx = Get-PnPListItem -List $listname3xxx -FolderServerRelativeUrl $FullPath3xxx -Query "$($FolderName3xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname3xxx -Identity $listItem3xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname3xxx -Identity $listItem3xxx -User $Staff -AddRole $access } #----------End 3xxx----------# #----------Run 4xxx----------# foreach ( $entry in $4xxx ) { $FolderName4xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName4xxx -Folder $listname4xxx Add-PnPFolder -Name Business -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name CEP -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Citizenship -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Drama -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name English -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name History -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Humanities -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name ICT -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Languages -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Maths -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Media -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Music -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name PE -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Psychology -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Science -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name Sociology -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname4xxx/$FolderName4xxx Add-PnPFolder -Name "Other" -Folder $listname4xxx/$FolderName4xxx #get folder properites from list $listItem4xxx = Get-PnPListItem -List $listname4xxx -FolderServerRelativeUrl $FullPath4xxx -Query "$($FolderName4xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname4xxx -Identity $listItem4xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname4xxx -Identity $listItem4xxx -User $Staff -AddRole $access } #----------End 4xxx----------# #----------Run 5xxx----------# foreach ( $entry in $5xxx ) { $FolderName5xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName5xxx -Folder $listname5xxx Add-PnPFolder -Name Business -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name CEP -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Citizenship -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Drama -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name English -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name History -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Humanities -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name ICT -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Languages -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Maths -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Media -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Music -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name PE -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Psychology -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Science -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name Sociology -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname5xxx/$FolderName5xxx Add-PnPFolder -Name "Other" -Folder $listname5xxx/$FolderName5xxx #get folder properites from list $listItem5xxx = Get-PnPListItem -List $listname5xxx -FolderServerRelativeUrl $FullPath5xxx -Query "$($FolderName5xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname5xxx -Identity $listItem5xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname5xxx -Identity $listItem5xxx -User $Staff -AddRole $access } #----------End 5xxx----------# #----------Run 6xxx----------# foreach ( $entry in $6xxx ) { $FolderName6xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName6xxx -Folder $listname6xxx Add-PnPFolder -Name Business -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name CEP -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Citizenship -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Drama -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name English -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name History -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Humanities -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name ICT -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Languages -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Maths -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Media -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Music -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name PE -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Psychology -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Science -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name Sociology -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname6xxx/$FolderName6xxx Add-PnPFolder -Name "Other" -Folder $listname6xxx/$FolderName6xxx #get folder properites from list $listItem6xxx = Get-PnPListItem -List $listname6xxx -FolderServerRelativeUrl $FullPath6xxx -Query "$($FolderName6xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname6xxx -Identity $listItem6xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname6xxx -Identity $listItem6xxx -User $Staff -AddRole $access } #----------End 6xxx----------# #----------Run 7xxx----------# foreach ( $entry in $7xxx ) { $FolderName7xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName7xxx -Folder $listname7xxx Add-PnPFolder -Name Business -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name CEP -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Citizenship -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Drama -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name English -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name History -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Humanities -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name ICT -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Languages -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Maths -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Media -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Music -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name PE -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Psychology -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Science -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name Sociology -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname7xxx/$FolderName7xxx Add-PnPFolder -Name "Other" -Folder $listname7xxx/$FolderName7xxx #get folder properites from list $listItem7xxx = Get-PnPListItem -List $listname7xxx -FolderServerRelativeUrl $FullPath7xxx -Query "$($FolderName7xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname7xxx -Identity $listItem7xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname7xxx -Identity $listItem7xxx -User $Staff -AddRole $access } #----------End 7xxx----------# #----------Run 8xxx----------# foreach ( $entry in $8xxx ) { $FolderName8xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName8xxx -Folder $listname8xxx Add-PnPFolder -Name Business -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name CEP -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Citizenship -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Drama -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name English -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name History -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Humanities -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name ICT -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Languages -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Maths -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Media -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Music -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name PE -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Psychology -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Science -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name Sociology -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname8xxx/$FolderName8xxx Add-PnPFolder -Name "Other" -Folder $listname8xxx/$FolderName8xxx #get folder properites from list $listItem8xxx = Get-PnPListItem -List $listname8xxx -FolderServerRelativeUrl $FullPath8xxx -Query "$($FolderName8xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname8xxx -Identity $listItem8xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname8xxx -Identity $listItem8xxx -User $Staff -AddRole $access } #----------End 8xxx----------# #----------Run 9xxx----------# foreach ( $entry in $9xxx ) { $FolderName9xxx = $entry.sAMAccountName $emailaddress = $entry.UserPrincipalName #Create Folder Add-PnPFolder -Name $FolderName9xxx -Folder $listname9xxx Add-PnPFolder -Name Business -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name CEP -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Citizenship -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Drama -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name English -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name History -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Humanities -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name ICT -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Languages -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Maths -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Media -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Music -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name PE -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Psychology -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Science -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name Sociology -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name "Visual Arts" -Folder $listname9xxx/$FolderName9xxx Add-PnPFolder -Name "Other" -Folder $listname9xxx/$FolderName9xxx #get folder properites from list $listItem9xxx = Get-PnPListItem -List $listname9xxx -FolderServerRelativeUrl $FullPath9xxx -Query "$($FolderName9xxx)" Write-Host "setting folder up for $foldername" #set permissions on the folder Set-PnPListItemPermission -List $listname9xxx -Identity $listItem9xxx -User $emailaddress -AddRole $access -ClearExisting Set-PnPListItemPermission -List $listname9xxx -Identity $listItem9xxx -User $Staff -AddRole $access } #----------End 9xxx----------#