#region AboutMe
####################################################################################################
# ABOUT: Restore Permissions on an OneDrive Site by adding the admin account as Site Coll Admin
# ParametersInput: User account and OneDrive Url
#
# Date: 19/Sep/2019
# Author: Jaqueline Goncalves
####################################################################################################
#endregion AboutMe
#region Variables
$env = "Company'sEnvironmentName"
$config = @{
siteAdminUrl = "https://$($env)-admin.sharepoint.com"
}
#endregion Variables
Function Add-SiteCollectionAdministrator{
Param(
$siteAdminUrl,
$siteColUrl,
$siteColAdminUser
)
Update-SiteCollectionAdministrator -siteAdminUrl $siteAdminUrl -siteColUrl $siteColUrl
-siteColAdminUser $siteColAdminUser -isSiteColAdmin:$true
}
Function Remove-SiteCollectionAdministrator{
Param(
$siteAdminUrl,
$siteColUrl,
$siteColAdminUser
)
Update-SiteCollectionAdministrator -siteAdminUrl $siteAdminUrl -siteColUrl $siteColUrl
-siteColAdminUser $siteColAdminUser -isSiteColAdmin:$false
}
## Internal Function
Function Update-SiteCollectionAdministrator{
Param(
$siteAdminUrl,
$siteColUrl,
$siteColAdminUser,
[bool]
$isSiteColAdmin
)
## Check Connection
Try{
$siteCheck = Get-SPOSite $siteAdminUrl
}
Catch{
Connect-SPOService -Url $siteAdminUrl
}
$updateSiteAdmin = Set-SPOUser -Site $siteColUrl -LoginName $siteColAdminUser
-IsSiteCollectionAdmin $isSiteColAdmin
if($updateSiteAdmin){
write-host "$($siteColUrl) \>" -NoNewline -ForegroundColor Gray
write-host " Is " -NoNewline
write-host "$($updateSiteAdmin.DisplayName) " -NoNewline -ForegroundColor Green
write-host "Site Coll Admin?" -NoNewline
switch($isSiteColAdmin){
$true{
write-host " $($isSiteColAdmin)." -ForegroundColor Green
}
$false{
write-host " $($isSiteColAdmin)." -ForegroundColor Yellow
}
}
}
}
## Example:
$properties = @{userAccount = "someemailaddress@domain.onmicrosoft.com"
userOneDrive = "https://$($env).sharepoint.com/sites/OneDriveIssue"}
$user = New-Object PSObject -Property $properties
Add-SiteCollectionAdministrator -siteAdminUrl $config['siteAdminUrl']
-siteColUrl $user.userOneDrive -siteColAdminUser $user.userAccount
Disconnect-SPOService
Friday, 25 October 2019
Update Site Collection Administrator
Handy script that can be used for removing or adding a Site Collection Administrator.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment