Weboldal keresés

Távolítsa el az e-mail címeket a PowerShell segítségével | Office 365 | 12. rész #13


Ebben a cikkben az e-mail cím PowerShell használatával történő eltávolításának (törlésének) témáját tekintjük át. A „meglévő e-mail cím eltávolítása” tárgya a PowerShell használatával némi zavart okozhat, mivel kétféle „törlési művelet” létezik, amelyek az általunk használt PowerShell-parancs szintaxisától függenek.

Az e-mail cím eltávolításának (törlésének) két módja a PowerShell használatával

Az e-mail cím PowerShell használatával történő törlésének feladatát kétféleképpen lehet megvalósítani:

  1. Az e-mail cím lecserélése egy másik e-mail címre.
  2. Az e-mail cím törlése a meglévő „pool” e-mail címekből.

1. Az e-mail cím lecserélése egy másik e-mail címre

Az első módszer, amelyet úgy írtam le, hogy a meglévő e-mail címet „lecseréljük” egy új e-mail címre, kissé trükkös lehet.

Ennek az opciónak a használatakor az ÚJ e-mail cím „felülírja” a meglévő e-mail címet (törli a meglévő e-mail címet), és lecseréli az általunk megadott ÚJ e-mail címre.

A „meglévő e-mail cím törlése” szabályai nem annyira egyértelműek, mert ebben a forgatókönyvben az „e-mail cím törlése” művelet nem szándékosan jön létre.

Amikor a PowerShell Set-Mailbox parancsmagot használjuk, és megadjuk az „ÚJ e-mail címet”, amelyet bizonyos Exchange Online-címzettekhez szeretnénk hozzáadni, a PowerShell eltávolít minden meglévő e-mail címet, majd hozzáadja az ÚJ E-mail címet.

Például egy Office 365 környezetben jelentős számú alkalommal tapasztaltam olyan forgatókönyvet, amelyben az ÚJ e-mail címet hozzáadó PowerShell parancs még a nem SMTP e-mail címeket, például a SIP-címet is törli, és emellett a „onMicrosoft” beépített e-mail cím.

Ennek a koncepciónak a bemutatására használjuk a következő példát:

A következő képernyőképen láthatjuk egy Exchange Online-címzett e-mail címét,
név: Christina.

Christinának 1 elsődleges e-mail címe + 2 alias e-mail címe van.

Szeretnénk lecserélni Christina elsődleges e-mail címét a következő e-mail-címre: Christina-NEW01@o365info.com >

A meglévő elsődleges e-mail cím cseréjéhez a következő PowerShell parancsot használjuk:

Set-Mailbox Christina -EmailAddress Christina-NEW01@o365info.com

A következő képernyőképen láthatjuk az eredményt:

Az ÚJ e-mail cím lecseréli a meglévő elsődleges e-mail címet, és a korábbi elsődleges e-mail címet - Alias E-mail címként menti.

Figyelje meg, hogy az alias e-mail címet eltávolították!

Az e-mail cím eltávolításának második módszere (amelyet szívesebben használok) a PowerShell @{remove paraméterének használatával valósítható meg.

Amikor a @{remove PowerShell-paramétert használjuk, akkor „megmondjuk” a PowerShellnek, hogy pontosan melyik e-mail címet szeretnénk eltávolítani (törölni).

Egy adott e-mail törléséhez a @{remove PowerShell-paraméter használatával a következő PowerShell-parancs szintaxist kell használnunk.

PowerShell parancs szintaxisa:

Set-Mailbox <identity> -EmailAddresses @{remove="<E-mail address>"}

Példa a PowerShell parancsra:

Set-Mailbox Christina -EmailAddresses @{remove="Christina-Alias02@o365info.com"}

Ennek a koncepciónak a bemutatásához használjuk a következő példát:

A következő képernyőképen egy Christina nevű Exchange Online-címzett e-mail címét láthatjuk.

Christinának 1 elsődleges e-mail címe + 2 alias e-mail címe van.

Szeretnénk eltávolítani a következő e-mail címet - Christina-Alias02@o365info.com Christina postafiókjából.

Erre a célra a következő PowerShell parancsot használjuk:

Set-Mailbox Christina -EmailAddresses @{remove="Christina-Alias02@o365info.com" }

A következő képernyőképen láthatjuk az eredményt, az Alias e-mail címet eltávolították, és az összes többi Christina e-mail cím semmilyen módon nem változott.

A PowerShell-parancsmag - Set-Mailbox „viselkedéséről” az e-mail cím hozzáadásakor további információkat olvashat az E-mail címek hozzáadása PowerShell segítségével | Office 365 | 3. rész #13.

Gyors tipp

Egy másik szintaktikai lehetőség, amelyet az e-mail cím eltávolítására használhatunk, a „mínusz” (-) karakterek használatával valósítható meg az „eltávolítás” kifejezés helyett.

A mínusz karaktert idézőjelek közé kell tennünk.

Például:

Set-Mailbox Christina -EmailAddresses @{"-"="Christina-Alias01@o365info.com" }

Távolítsa el az összes e-mail címet, amely egy adott domain névvel rendelkezik | Tömeges mód.

Ebben a részben egy olyan forgatókönyvet szeretnék áttekinteni, amelyben el kell távolítanunk (törölnünk) az olyan e-mail címet, amely bizonyos karaktereket tartalmaz, például - Domain név utótag.

Ez a művelet, amelynek során egyszerre több „objektumot” (Exchange Online címzetteket) címezünk meg, és egy konkrét frissítést hajtunk végre, például - eltávolítjuk az e-mail címet, amelyet „tömeges” néven írnak le.

Mielőtt folytatnánk a pontos PowerShell szintaxist, nagyon fontos, hogy „figyelmeztessek”, mert a „Tömeges” opció használatakor, és különösen az e-mail címek törlésének feladatánál, alaposan meg kell terveznünk lépéseinket, tesztelje a PowerShell tömeges parancsának eredményét, használja a Whatif opciót és így tovább.

A „WhatIf” lehetőségről további információt az E-mail címek hozzáadása PowerShell használatával - Tömeges mód című cikkben olvashat | Office 365 | 4. rész #13.

Forgatókönyv leírása

Cégünk két nyilvános domain név tulajdonosa: o365info.com és o365pilot.com.
Jogi probléma miatt el kell távolítanunk a domain nevet - o365pilot.com, és törölte azokat az e-mail címeket, amelyek utótagja tartalmazza a domain nevet - o365pilot.com

Szervezetünk e-mail cím infrastruktúrájának karakterei a következők:

  • A szervezet minden címzettje rendelkezik egy elsődleges e-mail címmel, amely az o365info.com domain néven alapuló e-mail címet használja.
  • A szervezet minden címzettje rendelkezik egy további alias e-mail címmel, amely tartalmazza az „egyéb” vállalati domain nevet, például -o365pilot.com

„Írnunk kell” egy PowerShell tömeges parancsot, amely a következő feladatokat hajtja végre:

  1. Futtasson hurokfolyamatot a meglévő Exchange Online-címzetten.
  2. Keressen és találjon egy e-mailt egy adott domain név utótaggal.
  3. Törölje ezt az e-mail címet.

Használjuk a következő forgatókönyvet:

Az eltávolítani kívánt domain neve a $RemoveDomain változón keresztül van konfigurálva.

Az összes meglévő Exchange Online-postafiókra vonatkozó információkat a rendszer a $AllMailboxes nevű változóba menti.

A $AllMailboxes változó tartalom egy PowerShell-lekérdezéssel jön létre, amely megkeresi az összes olyan címzettet, akinek e-mail címe tartalmazza a domain nevet - o365pilot.com.

Ezután futtatunk egy PowerShell ForEach utasítást, amely az Exchange Online postafiókok tömbjén keresztül fut, és a következő feladatokat futtatja a tömbben megjelenő minden Exchange Online postafiókon:

  • Ellenőrizze, hogy az Exchange Online-postaládáknak van-e e-mail címe a tartománynév utótagjával - o365pilot.com.
  • Ha a válasz „Igen”, távolítsa el az összes olyan e-mail címet, amely tartalmazza a domain nevet - o365pilot.com.
  • „Ugrás” a következő postafiókra a listában.

Példa a PowerShell parancsra:

$Domain = "o365pilot.com"
$RemoveSMTPDomain = "smtp:*@$Domain"

$AllMailboxes = Get-Mailbox | Where-Object { $_.EmailAddresses -clike $RemoveSMTPDomain }

foreach ($Mailbox in $AllMailboxes) {

    $AllEmailAddress = $Mailbox.EmailAddresses -cnotlike $RemoveSMTPDomain
    $RemovedEmailAddress = $Mailbox.EmailAddresses -clike $RemoveSMTPDomain
    $MailboxID = $Mailbox.PrimarySmtpAddress 
    Set-Mailbox "$MailboxID" -EmailAddresses $AllEmailAddress #-whatif

    Write-Host "The following email address where removed $RemovedEmailAddress from $MailboxID Mailbox"
}

A következő cikkben a PowerShell-szkript használata - az e-mail címek kezelése az Office 365-ben című témakört tekintjük át. 13. rész #13.

Kapcsolódó cikkek