Keresés „rejtett” e-mail címekben a PowerShell használatával | Office 365 | 11. rész #13
A jelenlegi cikkben áttekintjük azt a folyamatot, amelyben a PowerShellt használjuk az Office 365 és az Exchange Online környezetben történő kereséshez, „rejtett” vagy „szellem” e-mail címet keresve.
A „szellem-e-mail cím” kifejezés nem egy technikai kifejezés, hanem egy olyan kifejezés, amelyet egy olyan forgatókönyv leírására használok, amelyben meg kell találnunk egy adott e-mailt, amelyet nem találunk meg az Exchange Online szabványos webes kezelőfelületével. .
Ilyen eset például az a forgatókönyv, amelyben egy e-mail címet szeretnénk hozzáadni az Exchange Online címzetthez, és hibaüzenetet kapunk, amely arról tájékoztat, hogy az e-mail cím egy másik címzetthez van társítva.
A kihívás, amellyel szembe kell néznünk, az: hogyan találjuk meg az e-mail címet birtokló „rejtett címzettet”.
PowerShell-szkript használata az e-mail cím „egységesített keresésének” megvalósításához | Exchange Online + Office 365 infrastruktúra
Az e-mail cím megkeresésére használt PowerShell-lekérdezés a PowerShell „Where” utasításán alapul.
A PowerShell Where utasítás meghatároz egy „keresési feltételt”, amely az Exchange Online címzettjét és az Office 365 felhasználóit szólítja meg.
- Az Exchange Online címzett esetében lekérdezzük az EmailAddresse tulajdonságot.
- Az Office 365 felhasználói fiókkal kapcsolatban lekérdezzük a ProxyAddresses tulajdonságot, és
- a UserPrincipalName tulajdonságot
A következő PowerShell-parancs keresést hajt végre egy adott e-mail címre úgy, hogy „megcímzi” az Exchange Online összes címzettjét (a PowerShell parancs Get-Recipient).
A Where utasítás az Exchange Online címzett „EmailAddresses tulajdonságát” címezi, és keres egy „*bob@o365info.com” szöveges karakterláncot.
Get-Recipient -ResultSize unlimited| Where {$_.EmailAddresses -like "*bob@o365info.com"} | FL DisplayName,EmailAddressesVegye figyelembe, hogy a PowerShell „Tetszik” operátort használjuk, amely nem ad „pontos egyezést”.
Bár technikailag használhatjuk az eq (egyenlő) PowerShell operátort, én inkább a „Tetszik” PowerShell operátort használom, mert az Office 365 alapú környezetben az „E-mail cím”, amelyet keresünk, „felfedheti” a következőt:
- SMTP E-mail cím
- SIP E-mail cím
- Office 365 UPN név
Ha az eq (egyenlő) PowerShell operátort használjuk, akkor pontosan a keresett karakterláncot kell megadnunk.
Például, ha a bob e-mail címet akarjuk keresni, akkor a következő szintaxist kell használnunk:
Where {$_.EmailAddresses -eq "smtp:bob@o365info.com"}PowerShell-szkript használata „egységes keresés” végrehajtásához, egy adott e-mail cím vagy meghatározott UPN név kereséséhez.
A következő PowerShell-szkript célja, hogy segítsen nekünk egy „egységes” keresést, amely lekérdezi - Azure Active Directory infrastruktúrát és Exchange Online infrastruktúrát.
- Az „address” szkript az összes elérhető Exchange Online-címzettet és Office 365-felhasználót érinti, és lekérdezi azokat a konkrét tulajdonságokat, amelyek az e-mail címre vagy az UPN-névre vonatkozó információkat tartalmaznak.
- A PowerShell-szkript a „Where” utasítást használja, amely meghatározza a keresési lekérdezés feltételét - egy adott e-mail címet keres. (a szkript futtatásakor be kell írnia a keresett „E-mail címet”).
- Ha a PowerShell olyan Office 365-felhasználót vagy Exchange Online-címzettet talál, aki az adott e-mail címet használja, az információ megjelenik a képernyőn.
Menü alapú PowerShell-szkript használata.
Ha „fél” az összetett szintaxistól, elkészítettem a könnyen használható e-mail címek kezelése az Office 365 PowerShell-szkriptben.
A PowerShell-szkript segít létrehozni a szükséges távoli PowerShell-kapcsolatot az Azure Active Directory + Exchange Online-hoz, és végrehajtani a szükséges keresést az adott menüszám kiválasztásával.
Távoli PowerShell-munkamenet létrehozása.
Csatlakoznia kell az Exchange Online szolgáltatáshoz a PowerShell segítségével.
Konkrét e-mail cím keresése | keresési hatókör=Exchange Online
Ez a következő PowerShell-példa olyan keresést hajt végre, amely csak az Exchange Online infrastruktúrára vonatkozik. A keresés az összes meglévő Exchange Online-címzettet megcélozza, és egy adott e-mail címre keres.
$Alias = Read-Host "Type the name of the E-mail address that you are looking for "
# Exchange Online infrastructure
$SoftDeleted = Get-Mailbox -SoftDeletedMailbox | Where { $_.EmailAddresses -like "*$Alias" }
$UnifiedGroups = Get-UnifiedGroup | Where { $_.EmailAddresses -like "*$Alias" }
$AllRecipients = Get-Recipient -ResultSize unlimited | Where { $_.EmailAddresses -like "*$Alias" }
if ($SoftDeleted -eq $null) {
write-host "The E-mail address $Alias, is not a Soft Deleted Exchange Online mailbox"
}
Else {
write-host --------------------------------------------------------
write-host "The E-mail address $Alias, belong to Unified Group"
write-host Recipient display name is- $AllRecipients.DisplayName
write-host Recipient E-mail addresses are - $AllRecipients.EmailAddresses
write-host Recipient Type is - $AllRecipients.RecipientType
write-host -------------------------------------------------------
}
if ($UnifiedGroups -eq $null) {
write-host "The E-mail address $Alias, is not a Unified Group"
}
Else {
belong to Soft Deleted Exchange Online mailbox
}
if ($AllRecipients -eq $null) {
write-host "The E-mail address $Alias, is not Exchange Online recipient "
}
Else {
write-host --------------------------------------------------------
write-host "The E-mail address $Alias, belong to Exchange Online Recipient"
write-host Recipient display name is- $AllRecipients.DisplayName
write-host Recipient E-mail addresses are - $AllRecipients.EmailAddresses
write-host Recipient Type is - $AllRecipients.RecipientType
write-host -------------------------------------------------------
}A következő cikkben az E-mail-címek eltávolítása a PowerShell segítségével | Office 365 | 12. rész #13.
