Ta bort domän Office 365

För att kunna ta bort en domän från Office 365 så får den inte användas i användarnamn eller e-postadresser. För att hitta dom användare som använder domänen kan man köra:

Get-MsolUser -DomainName fqdn

Detta listar dom användare som använder domänen. Dom användare som har domänen som upnsuffix i sitt inloggningsnamn byter man med:

Set-MsolUserPrincipalName -UserPrincipalName old.upn -NewUserPrincipalName new.upn

Om det är många så får man köra ett script.

För att få en lista på object som använder domänen så kan man skriva:

get-recipient | where {$_.EmailAddresses -match “contoso.com”} | fl Name, RecipientType, EmailAddresses

I listan som skapas ovan är det object av typerna UserMailbox, MailUniversalDistributionGroup, MailUniversalSecurityGroup och DynamicDistributionGroup som är intressanta.

För att hitta dom användare som har domänen i sina proxyadresser skriver man:

get-mailbox -resultsize unlimited| where {$_.EmailAddresses -match “contoso.com”} | fl Name, RecipientType, EmailAddresses

Vill man ta reda på hur många det är så kan man skriva:

(get-mailbox -resultsize unlimited| where {$_.EmailAddresses -match “utb.lessebo.se”}).count

Om det är användare som är syncade med lokalt AD så måste man göra ändringen i det lokala AD:et. Nedanstående script kan användas för detta:

$Mailboxes = get-mailuser -resultsize unlimited | where {$.EmailAddresses -match “contoso.com”}
$Mailboxes | foreach{
    for ($i=0;$i -lt $.EmailAddresses.Count; $i++)
    {
        $address = $.EmailAddresses[$i]
        if ($address.IsPrimaryAddress -eq $false -and $address.SmtpAddress -like “*contoso.com” )
        {
            Write-host($address.AddressString.ToString() | out-file c:\temp\addressesRemovedO365.txt -append )
            $.EmailAddresses.RemoveAt($i)
        }
    }
    Set-Mailbox -Identity $.Identity -EmailAddresses $.EmailAddresses
    }

Om det är icke syncade användare så kan nedanstående script användas:

param ([string] $CSVPath)
$CSVUsers = (Import-csv -delimiter “;” $CSVPath)
ForEach ( $CSVUser in $CSVUsers )
{set-mailbox $($CSVUser.UserPrincipalName) -EmailAddresses @{Remove=”$($CSVUser.proxyaddress)”}}

Scriptet använder en csv fil som innehåller 2 kolumner en med UserPrincipalName och en med proxyaddress. Proxyaddress är den adress som du vill ta bort.

Samma förfarande kan användas på grupperna.

Domänen tar man sedan bort med Remove-MsolDomain -DomainName fqdn