Working on a tenant to tenant migration the customer was leveraging a 3rd party to migrate their OneDrive data to a new tenant. There was a requirement to have 20 service accounts added to each of the users OneDrive as a secondary admin. I created the following script to go through all the OneDrive URL’s and add the service accounts:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Function Add-OnedriveSecondaryAdmin { #Get all Onedrive URL's. $OneDriveURLs = Get-SPOSite -IncludePersonalSite $true -Limit All -Filter "Url -like '-my.sharepoint.com/personal/'" foreach($OneDriveURL in $OneDriveURLs) { #Add Secondary administrator to Onedrive Site. Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive1@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive2@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive3@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive4@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive5@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive6@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive7@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive8@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive9@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive10@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive11@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive12@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive13@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive14@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive15@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive16@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive17@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive18@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive19@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Set-SPOUser -Site $OneDriveURL.URL -LoginName svc-onedrive20@domain.com -IsSiteCollectionAdmin $True -ErrorAction SilentlyContinue Write-Host "Added secondary admin to the site $($OneDriveURL.URL)" } } Add-OnedriveSecondaryAdmin -AdminURL "https://domain-admin.sharepoint.com" |
The service accounts will need to be created before running the script. You will need to update the last line AdminURL to match your tenant and change the UPN of each of the service accounts.