You can remove site collection admin from All Site Collection and then add site collection admin to ALL SharePoint online site collection .
For remove site collection admin :
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking
#Variables for processing
$AdminURL = "https://crescent-admin.sharepoint.com/"
$AdminAccount="[email protected]"
#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential (Get-Credential)
#Get All Site Collections
$Sites = Get-SPOSite -Limit ALL
#Loop through each site and add site collection admin
Foreach ($Site in $Sites)
{
Write-host "Scanning site:"$Site.Url -f Yellow
#Get All Site Collection Administrators
$Admins = Get-SPOUser -Site $site.Url | Where {$_.IsSiteAdmin -eq $true}
#Iterate through each admin
Foreach($Admin in $Admins)
{
#Check if the Admin Name matches
If($Admin.LoginName -eq $AdminAccount)
{
#Remove Site collection Administrator
Write-host "Removing Site Collection Admin from:"$Site.URL -f Green
Set-SPOUser -site $Site -LoginName $AdminAccount -IsSiteCollectionAdmin $False
}
}
}
For Add site collection admin :
#Variables for processing
$AdminURL = "https://Crescent-admin.sharepoint.com/"
$AdminName = "[email protected]"
#User Names Password to connect
$Password = Read-host -assecurestring "Enter Password for $AdminName"
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $Password
#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential $Credential
$Sites = Get-SPOSite -Limit ALL
Foreach ($Site in $Sites)
{
Write-host "Adding Site Collection Admin for:"$Site.URL
Set-SPOUser -site $Site -LoginName $AdminName -IsSiteCollectionAdmin $True
}
Reference :
http://www.sharepointdiary.com/2017/02/sharepoint-online-remove-site-collection-administrator-using-powershell.html
http://www.sharepointdiary.com/2015/08/sharepoint-online-add-site-collection-administrator-using-powershell.html