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:
- Az e-mail cím lecserélése egy másik e-mail címre.
- 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.comA 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:
- Futtasson hurokfolyamatot a meglévő Exchange Online-címzetten.
- Keressen és találjon egy e-mailt egy adott domain név utótaggal.
- 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.



