1. Active Directory Users

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    $Username = "SMRU\ADAdmin"
    $Password = ConvertTo-SecureString -AsPlainText -Force -String '<Password>'
    $Credential = New-Object System.Management.Automation.PSCredential($Username, $Password)
    
    $ADUsers = Get-ADUser -Credential $Credential -Filter * -Properties *
    # Add Manager property to Active Directory users.
    foreach ($User in $ADUsers) {
        if ($User.Manager) {
            $Value = $User.Manager -replace "CN=", "" -replace ",OU=.*", ""
            $User | Add-Member -Force -MemberType NoteProperty -Name Manager -Value $Value
        }
    }
    
    # Exclude MAC addresses, service accounts.
    $ADUsers = $ADUsers | Where-Object { $_.AllowReversiblePasswordEncryption -eq $False }
    $ADUsers = $ADUsers | Where-Object { $_.CanonicalName -notmatch "Service Accounts" }
    $ADUsers = $ADUsers | Where-Object { $_.DistinguishedName -notmatch "OU=Service Accounts" }
    
    $ADUsers.Count
    $ADUsers | Select-Object -Property Name, Description, Title, Department, Manager, Office, SAMAccountName, EmailAddress | Format-Table
    Name                         Description                         Title                               Department            Manager                     Office                                  SAMAccountName  EmailAddress
    ----                         -----------                         -----                               ----------            -------                     ------                                  --------------  ------------
    Ahsar Sar                    Data Entry                          Data Entry                          Data Management                                   MRM - Data Management                   Ahsar           ahsar@shoklo-unit.com
    Amorn                        Accountant                          Accountant                          Finance               Kee                         MRM - Finance Office                    Amorn           amorn_29@shoklo-unit.com
    Atcharaporn Pondod           Accountant                          Accountant                          Finance               Kee                         MRM - Finance Office                    Atcharaporn     atcharaporn@shoklo-unit.com
    Aung Kyaw Hsan               Store Keeper                        Store Keeper                        Procurement           Sompis Surasakpanya         MRM                                     Aungkyawhsan
    Aung Myint Thu               Program Coordinator                 Program Coordinator                 Malaria                                           MRM - Malaria Department                Aungmyintthu    aungmyintthu@shoklo-unit.com
    Aung Pyae Phyo               Physician                           Physician                           Research                                          MRM - Malaria Department                Aungpyaephyo    aungpyaephyo@tropmedres.ac
    Aung Than                    Consultant                          Consultant                          TB                    Win Pa Pa Htun              MRM - TB Department                     aungthan        aungthan@shoklo-unit.com
    Aye Be                       Mediator&Communication Assistant    Mediator&Communication Assistant    METF                  Kasiha Pilaseng             MRM - M&E Offce                         Ayebe           ayebe@shoklo-unit.com
    Aye Khin                     M&E Assistant                       M&E Assistant                       Malaria Department    Aung Myint Thu              MRM - Malaria Department                Ayekhin         ayekhin@shoklo-unit.com
    Aye Min                      Physician                           Physician                           MCH                                               MRM - MCH Department                    Ayemin          ayemin@shoklo-unit.com
    Bancha Khachathonkun         Driver                              Driver                              Logistics             Pattipat Monasikankird      MRM - Logistics Office                  bancha          bancha@bhf-th.org
    Banyar Maung                 TB doctor                           TB doctor                           TB                    Francois                    MRM - TB Department                     Banyar          banyar@shoklo-unit.com
    Baw Nyaw                     Monitor                             Monitor                             METF                  Suphak Nosten               MRM - Cross Border & IT (Data) Building Bawnyaw         bawnyaw@shoklo-unit.com
    Baw Soh Wah                  PE Assistant                        PE Assistant                        PE Department         Micho (Ladda Kajeechiwa)    MRM - PE Office                         Bawsohwah       bawsohwah@shoklo-unit.com
    Bellar                       Store Keeper                        Store Keeper                        Pharmacy                                          WPA - Pharmacy                          Bellar          bellar@shoklo-unit.com
    Bulakorn Tinoi               PE Assistant                        PE Assistant                        PE                    Micho (Ladda Kajeechiwa)    MRM - PE Office                         Bulakorn        bulakorn@shoklo-unit.com
    Carela                       Store Keeper                        Store Keeper                        Procurement                                       MRM - Pharmacy                          Carela          care@shoklo-unit.com
    Chalita Jaiprommin           Bookkeeping Assistant               Bookkeeping Assistant               Finance               Kee                         MRM - Finance Office                    Chalita.J       chalita.j@bhf-th.org
    Chalita Kaewkanya            Lab Technician                      Lab Technician                      Malaria InVitro                                   MRL - Malaria InVitro                   Chalita         chalita@shoklo-unit.com
    Chanapat Pateekham           Namsai                              Epidemiologist                      Malaria               Aung Myint Thu              MRM - Malaria Department                Chanapat        chanapat@shoklo-unit.com
    Chanchai Sisukthippanya      Tao                                 IT Helpdesk Junior                  IT                    Douwe Kiestra               MRM - IT Office                         chanchai        chanchai@bhf-th.org
    Chanida                      Lab Assistant                       Lab Assistant                       Entomology            Victor Chaumeau             MST - Entomology                        Chanida         chanida@shoklo-unit.com
    Chintana Watthanaworawit     Lab Data Manager                    Lab Data Manager                    Microbiology          Wanitda Watthanaworawit     MRL - Microbiology Office               Chintana        chintana@shoklo-unit.com
    Chit Nu                      M&E Assistant                       M&E Assistant                       METF                  Suphak Nosten               SKK - METF                              Chitnu          chitnu@shoklo-unit.com
    Dah Dah                      CE Facilitator                      CE Facilitator                      PE                    Sansoe                                                              Dahdah          dahdah@shoklo-unit.com
    Decer Paw                    CE Facilitators                     CE Facilitators                     Malaria Department    Kasiha Pilaseng             MRM - Malaria Department                Decerpaw        decerpaw@shoklo-unit.com
    Deena                        Site Administrative Assistant       Site Administrative Assistant       Pharmacy              Woranit Hiramloetthanyakit  MKT - Pharmacy                          Deena           deena@shoklo-unit.com
    Diluai Laongmekkhajeeprai    Laboratory Technician               Laboratory Technician               Microscopy            Stephane Proux              MRL - Microscopy Office                 Diluai          diluai@shoklo-unit.com
    Douwe Kiestra                Moses                               IT Manager                          IT                                                MRM - IT Office                         Douwe           douwe@shoklo-unit.com
    Duangtip Khongkhetkhram      CE Coordinator                      CE Coordinator                      PE                    Micho (Ladda Kajeechiwa)    MRM - PE Office                         Duangtip        duangtip@bhf-th.org

2. Azure Active Directory

Install-Module -Name AzureAD

# Connect to AAD
Import-Module -Name AzureAD
Connect-AzureAD
# Type "bhf@tbhf.onmicrosoft.com" for the email account and click "Next".               ???
# Type the password and click "Sign in".                                                ???
# Type the 6-digit verification code and click "Verify".                                ???

$ADUsers = Get-AzureADUser
$Germana = $ADUsers | Where-Object { $_.Mail -eq "germana@tropmedres.ac" }
$Germana.ShowInAddressList

Set-AzureADUser -ObjectId $Germana.ObjectId -ShowInAddressList $True

$ADUsers = Get-AzureADUser
$Germana = $ADUsers | Where-Object { $_.Mail -eq "germana@tropmedres.ac" }
$Germana.ShowInAddressList

3. Microsoft Graph

3.1. Microsoft Graph Users

  • Note: Make sure to have the same version of all Microsoft Graph modules to prevent the Get-MgBetaUser : One or more errors occurred. error.

  • Note: Make sure to load the ExchangeOnlineManagement module after the Microsoft.Graph modules to prevent the Import-Module : Could not load file or assembly 'file:///C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\3.5.1\netFramework\Azure.Core.dll' or one of its dependencies. The system cannot find the file specified. error.

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    Install-Module -Force -Name Microsoft.Graph.Authentication -Scope AllUsers
    #Install-Module -Force -Name Microsoft.Graph.Beta.Groups -Scope AllUsers
    Install-Module -Force -Name Microsoft.Graph.Beta.Users -Scope AllUsers
    Install-Module -Force -Name Microsoft.Graph.Groups -Scope AllUsers
    #Install-Module -Force -Name Microsoft.Graph.Identity.DirectoryManagement -Scope AllUsers
    Install-Module -Force -Name Microsoft.Graph.Users -Scope AllUsers
    
    Update-Module -Force -Name Microsoft.Graph.Authentication
    #Update-Module -Force -Name Microsoft.Graph.Beta.Groups
    Update-Module -Force -Name Microsoft.Graph.Beta.Users
    Update-Module -Force -Name Microsoft.Graph.Groups
    #Update-Module -Force -Name Microsoft.Graph.Identity.DirectoryManagement
    Update-Module -Force -Name Microsoft.Graph.Users
    
    Get-InstalledModule
  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    Import-Module -Name Microsoft.Graph.Authentication                      # Connect-MgGraph, Disconnect-MgGraph, Get-MgContext
    #Import-Module -Name Microsoft.Graph.Beta.Groups                        # Get-MgBetaGroup
    Import-Module -Name Microsoft.Graph.Beta.Users                          # Get-MgBetaUser
    Import-Module -Name Microsoft.Graph.Groups                              # Get-MgGroup
    #Import-Module -Name Microsoft.Graph.Identity.DirectoryManagement       # Get-MgContact
    Import-Module -Name Microsoft.Graph.Users                               # Get-MgUser
    
    Connect-MgGraph -NoWelcome -Scopes "Group.Read.All", "User.Read.All"
    # Type "bhf@tbhf.onmicrosoft.com" for the email account and click "Next".
    # Type the password and click "Sign in".
    # Type the 6-digit verification code and click "Verify".
    
    $MgUsers = Get-MgUser -All
    $MgUsers.Count
    $MgUsers | Select-Object -Property DisplayName, UserPrincipalName, OfficeLocation, JobTitle | Format-Table
    
    $MgBetaUsers = Get-MgBetaUser -All
    $MgBetaUsers.Count
    $MgBetaUsers | Select-Object -Property DisplayName, UserPrincipalName, Department, JobTitle, MobilePhone, OfficeLocation, Country | Format-Table
    
    $MgGroups = Get-MgGroup -All | Sort-Object -Property DisplayName
    $MgGroups.Count
    $MgGroups
    
    #$MgContacts = Get-MgContact | Sort-Object -Property DisplayName
    
    # See https://learn.microsoft.com/en-us/graph/api/resources/groups-overview?view=graph-rest-1.0&tabs=http
    # See https://global-sharepoint.com/office-365/groups-in-microsoft-365
    # See https://learn.microsoft.com/en-us/microsoft-365/admin/create-groups/compare-groups?view=o365-worldwide
    # See https://learn.microsoft.com/en-us/answers/questions/732613/azure-ad-what-is-difference-between-security-group
    # See https://sharegate.com/blog/microsoft-groups-explained
    # See https://www.reddit.com/r/Office365/comments/xu9hqj/microsoft_365_groups_to_replace_security_groups
    # See https://learn.microsoft.com/en-us/microsoft-365/community/all-about-groups
    #       Notably, Microsoft 365 Groups do not have a way to grant a user read only access to resources.
    #       If a Group's Privacy level is set to Public then any user in the tenant can add themselves to it.
    # Type                          groupTypes      mailEnabled     securityEnabled Created and managed via the groups APIs
    # ----------------------------  -----------     -----------     --------------- ---------------------------------------
    # Microsoft 365 groups          ["Unified"]     true            true or false   Yes; also called Unified groups
    # Security groups               []              false           true            Yes
    # Mail-enabled security groups  []              true            true            No; read-only through Microsoft Graph
    # Distribution groups           []              true            false           No; read-only through Microsoft Graph
    
    # Get groups as defined at https://learn.microsoft.com/en-us/graph/api/resources/groups-overview?view=graph-rest-1.0&tabs=http
    $MgEntraMicrosoft365Groups          = @($MgGroups | Where-Object { ($_.GroupTypes -eq "Unified") -and ($_.MailEnabled -eq $True) })
    $MgEntraSecurityGroups              = @($MgGroups | Where-Object { ($_.GroupTypes.Count -eq 0) -and ($_.MailEnabled -eq $False) -and ($_.SecurityEnabled -eq $True) })
    $MgEntraMailEnabledSecurityGroups   = @($MgGroups | Where-Object { ($_.GroupTypes.Count -eq 0) -and ($_.MailEnabled -eq $True) -and ($_.SecurityEnabled -eq $True) })
    $MgEntraDistributionGroups          = @($MgGroups | Where-Object { ($_.GroupTypes.Count -eq 0) -and ($_.MailEnabled -eq $True) -and ($_.SecurityEnabled -eq $False) })
    
    # Get groups as shown in Microsoft 365 admin center.
    $MgM365TeamsAndMicrosoft365Groups   = @($MgGroups | Where-Object { ($_.GroupTypes -eq "Unified") -and ($_.MailEnabled -eq $True) })
    $MgM365DistributionList             = @($MgGroups | Where-Object { ($_.GroupTypes.Count -eq 0) -and ($_.MailEnabled -eq $True) -and ($_.SecurityEnabled -eq $False) })
    $MgM365SecurityGroups               = @($MgGroups | Where-Object { (($_.GroupTypes.Count -eq 0) -or ($_.GroupTypes -eq "DynamicMembership")) -and ($_.SecurityEnabled -eq $True) })
    
    # Get groups as shown in Exchange admin center.
    $MgExchangeMicrosoft365             = @($MgGroups | Where-Object { ($_.GroupTypes -eq "Unified") -and ($_.MailEnabled -eq $True) })
    $MgExchangeDistributionList         = @($MgGroups | Where-Object { ($_.GroupTypes.Count -eq 0) -and ($_.MailEnabled -eq $True) -and ($_.SecurityEnabled -eq $False) })
    #$MgExchangeDynamicDistributionList = @($MgGroups | Where-Object { ??? })                                                                                                       # Todo
    $MgExchangeMailEnabledSecurity      = @($MgGroups | Where-Object { ($_.GroupTypes.Count -eq 0) -and ($_.MailEnabled -eq $True) -and ($_.SecurityEnabled -eq $True) })
    
    $MgEntraMicrosoft365Groups.Count
    $MgEntraSecurityGroups.Count
    $MgEntraMailEnabledSecurityGroups.Count
    $MgEntraDistributionGroups.Count
    
    $MgM365TeamsAndMicrosoft365Groups.Count
    $MgM365DistributionList.Count
    $MgM365SecurityGroups.Count
    
    $MgExchangeMicrosoft365.Count
    $MgExchangeDistributionList.Count
    #$MgExchangeDynamicDistributionList.Count
    $MgExchangeMailEnabledSecurity.Count
    
    # List all groups that contain a specific mail address.
    foreach ($MgGroup in $MgGroups) {
        $Members = Get-MgGroupMember -GroupId $MgGroup.Id
        foreach ($Member in $Members) {
            if ($Member["mail"] -eq "wanitda@tropmedres.ac") {
                Write-Host $MgGroup.DisplayName
            }
        }
    }
    
    # List all groups that contain a tropmedres.ac mail address.
            foreach ($MgGroup in $MgGroups) {
        $Members = Get-MgGroupMember -GroupId $MgGroup.Id
        $Prev = $Null
        foreach ($Member in $Members) {
            if ($Member["mail"] -match "tropmedres.ac") {
                if ($Prev -ne $MgGroup.DisplayName) {
                    $Prev = $MgGroup.DisplayName
                    Write-Host "$($MgGroup.DisplayName)`t$($MgGroup.Mail)"
                }
            }
        }
    }
    
    $MgGroups = Get-MgGroup -All | Sort-Object -Property DisplayName
    $MgGroups.Count
    $MgGroups
    $Members = Get-MgGroupMember -GroupId $MgGroup.Id
    
    $Members0 = Get-MgGroupMember -GroupId 84b2390c-c7ab-4be9-b0ac-7a677d2d1384
    $Members1 = Get-MgGroupMember -GroupId 54fdfbba-624b-4a19-890d-c813db957b55
    $Members2 = Get-MgGroupMember -GroupId 4e3e661f-4e46-4384-9da4-9aae5c97af82
    
    $MgUsers | Where-Object { $_.Id -in $Members.Id }
    
    $Members00 = @(); foreach ($Member in $Members0) { $Members00 += $Member["mail"] }; $members00 | sort-object
    $Members11 = @(); foreach ($Member in $Members1) { $Members11 += $Member["mail"] }; $members11 | sort-object
    $Members22 = @(); foreach ($Member in $Members2) { $Members22 += $Member["mail"] }; $members22 | sort-object
    Compare-Object $Members00 $Members22
    Compare-Object $Members11 $Members22
    DisplayName                      UserPrincipalName                                Department                    JobTitle                          MobilePhone  OfficeLocation     Country
    -----------                      -----------------                                ----------                    --------                          -----------  --------------     -------
    SMRU Admin                       admin@bhf-th.org
    Ah Cee                           ahcee@shoklo-unit.com                            PE                            CE Facilitator                                                    Thailand
    Ahsar Sar                        ahsar@shoklo-unit.com
    Amorn Ploypoungtip               amorn_29@shoklo-unit.com
    Atcharaporn Pondod               atcharaporn@shoklo-unit.com                      Finance                       Accountant
    Aung Kyaw Hsan                   aungkyawhsan@bhf-th.org
    Aung Myint Thu                   aungmyintthu@shoklo-unit.com
    Aung Pyae Phyo                   aungpyaephyo@shoklo-unit.com
    Aung Than                        aungthan@shoklo-unit.com
    Aye Be                           ayebe@shoklo-unit.com
    Aye Khin                         ayekhin@shoklo-unit.com                          Malaria Department            M&E Assistant
    Aye Min                          ayemin@shoklo-unit.com
    Bancha Khachathonkun             bancha@bhf-th.org                                Logistic                      Driver
    Banyar Maung                     banyar@shoklo-unit.com
    Baw Nyaw                         bawnyaw@shoklo-unit.com
    Baw Soh Wah                      bawsohwah@shoklo-unit.com                        PE Department                 PE Assistant
    Bellar                           bellar@shoklo-unit.com                           Pharmacy                      Pharmacise
    BHF IT                           bhf-it@bhf-th.org
    The Borderland Health Foundation bhf@bhf-th.org
    BHF IT Admin                     bhf@tbhf.onmicrosoft.com                                                                                                                         TH
    Bulakorn Tinoi                   bulakorn@shoklo-unit.com
    Carela Nutikon                   care@shoklo-unit.com
    Cha Chi Lay                      chachilay@shoklo-unit.com                        Pharmacy                      Pharmacise
    Chalita Jaiprommin               Chalita.j@bhf-th.org                             Finance                       Bookkeeping Assistant
    Chalita Kaewkanya                chalita@shoklo-unit.com
    Chanapat Pateekham               chanapat@shoklo-unit.com                                                       Epidemiologist
    Chanchai Sisukthippanya          chanchai@bhf-th.org
    Chanida                          chanida@shoklo-unit.com
    Chintana Watthanaworawit         chintana@shoklo-unit.com                         Microbiology                  Lab Data Manager
    Chitnu                           chitnu@shoklo-unit.com
    Dah Dah                          dahdah@shoklo-unit.com
    David Burton                     david_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    Daydaypoe                        daydaypoe@shoklo-unit.com                        Haematology/Germana request   Medic (Outreach)                               MKT                Thailand

3.2. Microsoft Graph Groups

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    New-MgGroup -AllowExternalSenders -DisplayName "SMRU TB Doctors" -GroupTypes "DynamicMembership", "Unified" -Mail smru-tbdr2@shoklo-unit.com
    New-MgGroup -AllowExternalSenders -DisplayName "SMRU TB Doctors" -GroupTypes @("DynamicMembership", "Unified") -Mail smru-tbdr2@shoklo-unit.com
    $NewMgGroup = New-MgGroup -DisplayName "SMRU TB Doctors" -GroupTypes @("DynamicMembership", "Unified") -MailEnabled:$True -MailNickname "nickname" -SecurityEnabled:$False
    -Members ???
    -MembershipRule ???
    -Owners ???
    -Team
    
    -GroupTypes "DynamicMembership", "Unified"

4. Microsoft Mailboxes

  • Note: Try the following actions when connecting to Exchange Online and receiving the following error.

    • Log on as Administrator on the computer with Remote Dektop Connection.

    • Restart the computer.

    Error Acquiring Token:
    Unknown Status: Unexpected
    Error: 0xffffffff80070520
    Context: (pii)
    Tag: 0x21420087 (error code -2147023584) (internal error code 557973639)
    Unknown Status: Unexpected
    Error: 0xffffffff80070520
    Context: (pii)
    Tag: 0x21420087 (error code -2147023584) (internal error code 557973639)
    At C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\3.7.1\netFramework\ExchangeOnlineManagement.psm1:751 char:21
    +                     throw $_.Exception.InnerException;
    +                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : OperationStopped: (:) [], MsalServiceException
        + FullyQualifiedErrorId : Unknown Status: Unexpected
    Error: 0xffffffff80070520
    Context: (pii)
    Tag: 0x21420087 (error code -2147023584) (internal error code 557973639)
  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    Install-Module -Force -Name ExchangeOnlineManagement -Scope AllUsers
    Update-Module -Force -Name ExchangeOnlineManagement
    Get-InstalledModule
    Import-Module -Name ExchangeOnlineManagement            # Connect-ExchangeOnline, Disconnect-ExchangeOnline
    
    Connect-ExchangeOnline -ShowBanner:$False
    # Type "bhf@tbhf.onmicrosoft.com" for the email and click "Next".
    # Type the password and click "Sign in".
    # Type the 6-digit verification code and click "Verify".
    
    $Mailboxes_ = Get-EXOMailbox -PropertySets All -ResultSize Unlimited |
        Sort-Object -Property DisplayName
    
    $Mailboxes = Get-EXOMailbox -PropertySets All -ResultSize Unlimited |
        Where-Object { $_.DisplayName -ne "Discovery Search Mailbox" } |
        Sort-Object -Property DisplayName
    $Mailboxes.Count
    $Mailboxes | Select-Object -Property DisplayName, UserPrincipalName, ForwardingSmtpAddress | Format-Table
    
    # Get list of missing Microsoft mailboxes.
    $MgBetaUsers | Where-Object { $Mailboxes.UserPrincipalName -notcontains $_.UserPrincipalName } |
        Select-Object DisplayName, UserPrincipalName
    
    # Get list of missing Microsoft Graph Beta users.
    $Mailboxes_ | Where-Object { $MgBetaUsers.UserPrincipalName -notcontains $_.UserPrincipalName } |
        Select-Object DisplayName, UserPrincipalName
    
    # Get a copy of group email messages you send.
    # See https://learn.microsoft.com/en-us/exchange/troubleshoot/groups-and-distribution-lists/o365-group-tasks#get-a-copy-of-group-email-messages-you-send
    $Mailboxes | ForEach-Object { Set-MailboxMessageConfiguration -Identity $_.UserPrincipalName -EchoGroupMessageBackToSubscribedSender $True }
    # See https://www.michev.info/blog/post/4311/did-you-know-configuring-mailbox-settings-for-mail-users-and-guests
    $Guests = Get-Recipient -RecipientTypeDetails GuestMailUser
    $Guests | ForEach-Object { Set-MailboxMessageConfiguration -Identity $_.Name -EchoGroupMessageBackToSubscribedSender $True }
    DisplayName                      UserPrincipalName               ForwardingSmtpAddress
    -----------                      -----------------               ---------------------
    Ah Cee                           ahcee@shoklo-unit.com
    Ahsar Sar                        ahsar@shoklo-unit.com
    Amorn Ploypoungtip               amorn_29@shoklo-unit.com
    Atcharaporn Pondod               atcharaporn@shoklo-unit.com
    Aung Kyaw Hsan                   aungkyawhsan@bhf-th.org
    Aung Myint Thu                   aungmyintthu@shoklo-unit.com
    Aung Pyae Phyo                   aungpyaephyo@shoklo-unit.com    smtp:Aungpyaephyo@tropmedres.ac
    Aung Than                        aungthan@shoklo-unit.com
    Aye Be                           ayebe@shoklo-unit.com
    Aye Khin                         ayekhin@shoklo-unit.com
    Aye Min                          ayemin@shoklo-unit.com
    Bancha Khachathonkun             bancha@bhf-th.org
    Banyar Maung                     banyar@shoklo-unit.com
    Baw Nyaw                         bawnyaw@shoklo-unit.com
    Baw Soh Wah                      bawsohwah@shoklo-unit.com
    Bellar                           bellar@shoklo-unit.com
    BHF IT                           bhf-it@bhf-th.org               smtp:smru-it@shoklo-unit.com
    BHF IT Admin                     bhf@tbhf.onmicrosoft.com        smtp:smru-it@shoklo-unit.com
    Bulakorn Tinoi                   bulakorn@shoklo-unit.com
    # Add ForwardingSmtpAddress property to Microsoft Graph Beta users.
    foreach ($User in $MgBetaUsers) {
        $Mailbox = $MailBoxes | Where-Object { $_.UserPrincipalName -eq $User.UserPrincipalName }
        if ($Mailbox) {
            $ForwardingSmtpAddress = $MailBox.ForwardingSmtpAddress
        } else {
            $ForwardingSmtpAddress = $Null
        }
        $User | Add-Member -Force -MemberType NoteProperty -Name ForwardingSmtpAddress -Value $ForwardingSmtpAddress
    }

5. List Contacts

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

6. List Forwarded Email Accounts

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    $Mailboxes |
        Where-Object { $_.ForwardingSmtpAddress -ne $Null -or $_.ForwardingAddress -ne $Null } |
        Select-Object -Property DisplayName, PrimarySmtpAddress, ForwardingSMTPAddress, DeliverToMailboxAndForward
    
    $MgBetaUsers |
        Where-Object { $_.ForwardingSmtpAddress -ne $Null } |
        Select-Object -Property DisplayName, UserPrincipalName, ForwardingSMTPAddress, Department, JobTitle, MobilePhone, OfficeLocation, Country | Format-Table
    As of: 2025-02-17
    
    DisplayName                      PrimarySmtpAddress            ForwardingSmtpAddress                 DeliverToMailboxAndForward
    -----------                      ------------------            ---------------------                 --------------------------
    Aung Pyae Phyo                   aungpyaephyo@shoklo-unit.com  smtp:Aungpyaephyo@tropmedres.ac                             True
    BHF IT                           bhf-it@bhf-th.org             smtp:smru-it@shoklo-unit.com                                True
    BHF IT Admin                     bhf@tbhf.onmicrosoft.com      smtp:smru-it@shoklo-unit.com                                True
    Charnchai srisukthippanya        taoismftarrod@shoklo-unit.com smtp:smru-it@shoklo-unit.com                                True
    Inventory                        inventory@shoklo-unit.com     smtp:douwe@shoklo-unit.com                                  True
    Procurement BHF                  procurement@bhf-th.org        smtp:smru-procurement@shoklo-unit.com                       True
    Root                             root@shoklo-unit.com          smtp:smru-it@shoklo-unit.com                                True
    Shoklo Malaria Research Unit     shokloun@shoklo-unit.com      smtp:smru-it@shoklo-unit.com                                True
    SMRU Finance                     smru_finance@shoklo-unit.com  smtp:smru-finance@shoklo-unit.com                           True
    SMRU-SFW-HPH                     smru-sfw-hph@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-MKU                     smru-sfw-mku@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-MKT                     smru-sfw-mkt@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-MLA                     smru-sfw-mla@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-MRM                     smru-sfw-mrm@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-MSL                     smru-sfw-msl@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-SKK                     smru-sfw-skk@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-TST                     smru-sfw-tst@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    SMRU-SFW-WPA                     smru-sfw-wpa@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    Surachard Sudchalawmalai         surachard@shoklo-unit.com     smtp:smru-it@shoklo-unit.com                                True
    TBHF-ANC-MRM                     tbhf-anc-mrm@shoklo-unit.com  smtp:smru-it@shoklo-unit.com                                True
    The Borderland Health Foundation bhf@bhf-th.org                smtp:tbhf@bhf-th.org                                        True
    Verena Carrara                   verena@shoklo-unit.com        smtp:Verena.Carrara@unige.ch                                True

7. List Guest Email Accounts

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    $Guests = $MgBetaUsers | Where-Object { $_.UserType -eq "Guest" } |
        Select-Object -Property DisplayName, UserPrincipalName
    DisplayName                UserPrincipalName
    -----------                -----------------
    Aung Pyae Phyo             aungpyaephyo_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    David Gandy                david_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    Francois Nosten            francois_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    Germana Bancone            germana_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    Htet Htet Aung             htethtetaung_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    Pattira Intanil            pattira_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    SMRU IT (Guest)            smru-it_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    Wanitda Watthanaworawit    wanitda_tropmedres.ac#EXT#@tbhf.onmicrosoft.com
    Wannee Ritwongsakul (MORU) wannee_tropmedres.ac#EXT#@tbhf.onmicrosoft.com

8. List Missing AD Accounts

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    # Get list of mailboxes that are missing in Active Directory.
    $Missing = $MgBetaUsers | Where-Object { $ADUsers.EmailAddress -notcontains $_.UserPrincipalName }
    $Missing = $Missing | Where-Object { $_.UserPrincipalName -notmatch "smru-sfw|training-|#EXT#" }
    $Missing = $Missing | Where-Object { $_.UserPrincipalName -notmatch "admin|inventory|it-notify|powershell|relay|root|smru_efw" }
    $Missing = $Missing | Where-Object { $_.UserPrincipalName -notmatch "bhf@|bhf-it|shokloun|smru-|tbhf-" }
    $Missing = $Missing | Where-Object { $_.UserPrincipalName -notmatch "-medics@|postmaster@|procurement@|psea@|smru_finance@|wannee@" }
    $Missing | Select-Object -Property DisplayName, UserPrincipalName, ForwardingSmtpAddress | Format-Table
    DisplayName      Id                                   Mail                         UserPrincipalName
    -----------      --                                   ----                         -----------------
    Ah Cee           1766e3b5-7789-4925-a6f0-b127a025c7b2 ahcee@shoklo-unit.com        ahcee@shoklo-unit.com
    Aung Pyae Phyo   e143a2c1-b187-4669-92f4-bacef52c9630 aungpyaephyo@shoklo-unit.com aungpyaephyo@shoklo-unit.com
    Daydaypoe        73a9258f-d9b3-4950-ab6e-6b9303eac6da daydaypoe@shoklo-unit.com    daydaypoe@shoklo-unit.com
    Eh Moo           e374df11-760d-48cc-bfa8-3ad9fceb0538 ehmoo@shoklo-unit.com        ehmoo@shoklo-unit.com
    Ei Ei Pyo Aung   374ab937-a7a3-4eee-a0a8-5528dd02fc0d eieipyoaung@shoklo-unit.com  eieipyoaung@shoklo-unit.com
    Francois Nosten  f6828453-138c-41eb-b190-488b2f68ba8c francois@shoklo-unit.com     francois@shoklo-unit.com
    Htetkhaing Lu    1e2ceaed-1930-4314-86d9-f514821ecbc7 htetkhaing@shoklo-unit.com   htetkhaing@shoklo-unit.com
    Jathee           8366201f-6575-4cc6-ab2b-c017d2f5449b jathee@shoklo-unit.com       jathee@shoklo-unit.com
    Kasem Siripim    cfa80bfa-4baf-4acf-b2a4-2f6fc1196969 kasem@shoklo-unit.com        kasem@shoklo-unit.com
    Lay Lay Wah      fbc7235c-3a74-4ed6-ba25-56358d04363d laylaywah@shoklo-unit.com    laylaywah@shoklo-unit.com
    Lu Lu            efe36fcb-c618-4526-90bd-cad5da88c88e lulu@shoklo-unit.com         lulu@shoklo-unit.com
    Naw Dah Ray      705c2f24-34e3-4f48-a47a-c78ee1751cf2 nawdahray@bhf-th.org         nawdahray@bhf-th.org
    Naw Ei Ei Soe    7e090f2b-1c9f-4b02-bff2-a47db97761a6 naweieisoe@shoklo-unit.com   naweieisoe@shoklo-unit.com
    Ni Wah           95a84417-6b32-41e9-ad85-1add2bdc36c5 niwah@shoklo-unit.com        niwah@shoklo-unit.com
    Sa Ba            f6d6587e-2100-4086-8243-9114d4795266 saba@shoklo-unit.com         saba@shoklo-unit.com
    Saw Lin Bay Mou  957b38f1-6269-4824-9c7d-03648d86de0f sawlinbaymou@shoklo-unit.com sawlinbaymou@shoklo-unit.com
    Saw Phee Do      4472d057-7a12-471f-9ed3-142534ccfe18 sawpheedo@shoklo-unit.com    sawpheedo@shoklo-unit.com
    Saw Poe Yeh Yeh  d17ffa5f-afc1-4037-8fa7-cada1b511153 sawpoeyehyeh@shoklo-unit.com sawpoeyehyeh@shoklo-unit.com
    Tip Ruchaitrakul 50d86c73-7be9-4dac-936c-a35caf4330f3 tip@shoklo-unit.com          tip@shoklo-unit.com
    Verena Carrara   570cccaa-3b5c-4c32-b681-1b52344be68c verena@shoklo-unit.com       verena@shoklo-unit.com

9. List MORU Email Accounts

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    $ADUsers |
        Where-Object { $_.EmailAddress -match "tropmedres.ac" } |
        Select-Object -Property Name, Description, Title, Department, Manager, Office, SAMAccountName, EmailAddress | Format-Table

10. List Shared Email Accounts

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    $Mailboxes |
        Where-Object { $_.IsShared -eq $True } |
        Select-Object -Property DisplayName, UserPrincipalName

11. Global Address List

12. DKIM Keys

  • Enter the following commands at a PowerShell Command Prompt with administrative privileges.

    Get-InstalledModule
    Import-Module -Name ExchangeOnlineManagement            # Connect-ExchangeOnline, Disconnect-ExchangeOnline
    
    Connect-ExchangeOnline -ShowBanner:$False
    # Type "bhf@tbhf.onmicrosoft.com" for the email and click "Next".
    # Type the password and click "Sign in".
    # Type the 6-digit verification code and click "Verify".
    
    Get-AcceptedDomain
    
    Get-DkimSigningConfig | Format-List Name, Enabled, Status, Selector1CNAME, Selector2CNAME
    Get-DkimSigningConfig -Identity bhf-th.org | fl *
    Get-DkimSigningConfig -Identity shoklo-unit.com | fl *
    Name                    DomainName              DomainType      Default
    ----                    ----------              ----------      -------
    shoklo-unit.com         shoklo-unit.com         Authoritative   False
    tbhf.onmicrosoft.com    tbhf.onmicrosoft.com    Authoritative   False
    bhf-th.org              bhf-th.org              Authoritative   True
    Domain                       : bhf-th.org
    AdminDisplayName             :
    Selector1KeySize             : 1024
    Selector1CNAME               : selector1-bhfth-org0i._domainkey.tbhf.onmicrosoft.com
    Selector1PublicKey           : v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxtyaAh1YChvIn0kyxzxYys0YANgSTGaJnbraR38hNUy1nYQqCrzYVTAd3Z22OkcQC+7mJM8jzCTgkAOabubGij5B8nbX7GneftYlSN9o1n6rIhu+ZlL8VtajK3ddWv4dJcH9DEcIRRnv4fMr2wCy
                                   YkKCXGEq4I0wwo0+Dr6XuUQIDAQAB;
    Selector2KeySize             : 1024
    Selector2CNAME               : selector2-bhfth-org0i._domainkey.tbhf.onmicrosoft.com
    Selector2PublicKey           : v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi90/gfzigFPwpA8JF3Q43Kzo50ImItUqakhtnIFmaGA9c/lrY/LH9BD93HyghXdyscHd9NSXEYcCKuK23ICDMYTktnRJYptUvjaZ36saeizk+CgWA8q9/neochqaic9jF4BxIL2CMwjxQE56XPt2
                                   NhN57diC95LxbZyK7b/01bQIDAQAB;
    Enabled                      : True
    IsDefault                    : False
    HeaderCanonicalization       : Relaxed
    BodyCanonicalization         : Relaxed
    Algorithm                    : RsaSHA256
    NumberOfBytesToSign          : All
    IncludeSignatureCreationTime : True
    IncludeKeyExpiration         : False
    KeyCreationTime              : 2019-10-18 07:45:22
    LastChecked                  : 2020-11-07 06:12:20
    RotateOnDate                 : 2019-10-18 07:45:22
    SelectorBeforeRotateOnDate   : selector2
    SelectorAfterRotateOnDate    : selector1
    Status                       : Valid
    Identity                     : bhf-th.org
    Id                           : bhf-th.org
    IsValid                      : True
    ExchangeVersion              : 0.20 (15.0.0.0)
    Name                         : bhf-th.org
    DistinguishedName            : CN=bhf-th.org,CN=Dkim Signing config,CN=Transport Settings,CN=Configuration,CN=tbhf.onmicrosoft.com,CN=ConfigurationUnits,DC=APCPR04A007,DC=PROD,DC=OUTLOOK,DC=COM
    ObjectCategory               : APCPR04A007.PROD.OUTLOOK.COM/Configuration/Schema/ms-Exch-Hosted-Content-Filter-Config
    ObjectClass                  : {top, msExchHostedContentFilterConfig}
    WhenChanged                  : 2024-08-15 19:33:29
    WhenCreated                  : 2024-07-18 20:58:40
    WhenChangedUTC               : 2024-08-15 12:33:29
    WhenCreatedUTC               : 2024-07-18 13:58:40
    ExchangeObjectId             : 6d77f702-5160-4263-9f95-e976f0c5f19a
    OrganizationalUnitRoot       : tbhf.onmicrosoft.com
    OrganizationId               : APCPR04A007.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/tbhf.onmicrosoft.com - APCPR04A007.PROD.OUTLOOK.COM/ConfigurationUnits/tbhf.onmicrosoft.com/Configuration
    Guid                         : 10d50b52-65a6-4894-9b7e-abaaa2c023c3
    OriginatingServer            : KL1PR04A07DC002.APCPR04A007.PROD.OUTLOOK.COM
    ObjectState                  : Unchanged
    Domain                       : shoklo-unit.com
    AdminDisplayName             :
    Selector1KeySize             : 2048
    Selector1CNAME               : selector1-shoklounit-com01e._domainkey.tbhf.onmicrosoft.com
    Selector1PublicKey           : v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmjyvkCRyEXxJW0rwkmIqRj9+UedfM3Caxq33NBflB+QTAMs9epoWxUMMSsi73lzyvsbfRMlmO/aPTI1ohRjjDHCZ7F75pk+G90/zcWNO47bgKlsHc4uox/wGJ9Upla3s5iWSfVMghXhW8DJ
                                   VWCmE4Fr0vQaY6vBhRpjg6iJM673iai4As8Q8YNgmSvXSRAulMw3wSYt+EjuFeIP+Z6Yb8eFE0RAvUh/f4G0UV5B0z0tjeN92a+EYpEjvrYnz5FPAMtMM/F6iwGle5P8612gyL3SfnZSoB9sxgacuVFX2DnLIBeXnviha14GRz5vyGa56c0nhqHiOHuILX1WrtfO+fQIDAQAB
                                   ;
    Selector2KeySize             : 2048
    Selector2CNAME               : selector2-shoklounit-com01e._domainkey.tbhf.onmicrosoft.com
    Selector2PublicKey           : v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4xgNgCZR5T3DVra1/YxHbRgtOHrjZ1jsa4ABWQ/zKux6tYgwambkOHYS4qRLc0B8cQVGo65z1IxQzerDwfCwZDtQJ8YXfvAtYOCX8xv9JC7jk52Ktv8Mn41XkHN8R6vVnqXNRLKsu1u8Pyv
                                   iryHGaJK3PMljuJFpsdgZKbFg2BqdqY+gif4lQ+9vDQcqzT75YuRHvOdRc3u6lQAOrgwu+/coEL4r/Onpypu7BynWHkdI+0+HXYVAWlpsyjCCtNDOXgeOmN7E2DxhETCf00bMiKg7T7JJj2eLsLeRs0u7n/EGfRcGlUUcfx3qld4lYPaYzPY95cM7PY20yTteMgN8oQIDAQAB
                                   ;
    Enabled                      : True
    IsDefault                    : False
    HeaderCanonicalization       : Relaxed
    BodyCanonicalization         : Relaxed
    Algorithm                    : RsaSHA256
    NumberOfBytesToSign          : All
    IncludeSignatureCreationTime : True
    IncludeKeyExpiration         : False
    KeyCreationTime              : 2025-03-05 10:32:19
    LastChecked                  : 2025-03-05 10:32:19
    RotateOnDate                 : 2025-03-09 10:32:19
    SelectorBeforeRotateOnDate   : selector1
    SelectorAfterRotateOnDate    : selector2
    Status                       : Valid
    Identity                     : shoklo-unit.com
    Id                           : shoklo-unit.com
    IsValid                      : True
    ExchangeVersion              : 0.20 (15.0.0.0)
    Name                         : shoklo-unit.com
    DistinguishedName            : CN=shoklo-unit.com,CN=Dkim Signing config,CN=Transport Settings,CN=Configuration,CN=tbhf.onmicrosoft.com,CN=ConfigurationUnits,DC=APCPR04A007,DC=PROD,DC=OUTLOOK,DC=COM
    ObjectCategory               : APCPR04A007.PROD.OUTLOOK.COM/Configuration/Schema/ms-Exch-Hosted-Content-Filter-Config
    ObjectClass                  : {top, msExchHostedContentFilterConfig}
    WhenChanged                  : 2025-03-05 17:32:23
    WhenCreated                  : 2024-07-18 21:10:51
    WhenChangedUTC               : 2025-03-05 10:32:23
    WhenCreatedUTC               : 2024-07-18 14:10:51
    ExchangeObjectId             : 5dd6a712-155e-4a90-b38b-0bedc4fd9a88
    OrganizationalUnitRoot       : tbhf.onmicrosoft.com
    OrganizationId               : APCPR04A007.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/tbhf.onmicrosoft.com - APCPR04A007.PROD.OUTLOOK.COM/ConfigurationUnits/tbhf.onmicrosoft.com/Configuration
    Guid                         : 31c9ed33-f309-4ed1-9fe5-60cd944bcfcb
    OriginatingServer            : KL1PR04A07DC002.APCPR04A007.PROD.OUTLOOK.COM
    ObjectState                  : Unchanged
    # Disable DKIM signing.
    Set-DkimSigningConfig -Identity bhf-th.org -Enabled $False
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List Name, Enabled, Status, Selector1CNAME, Selector2CNAME
    
    # Generate new keys.
    New-DkimSigningConfig -DomainName bhf-th.org -Enabled $False -KeySize 2048
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List Name, Enabled, Status, Selector1KeySize, Selector1CNAME, Selector1PublicKey, Selector2KeySize, Selector2CNAME, Selector2PublicKey
    
    # Enable DKIM signing.
    Set-DkimSigningConfig -Identity bhf-th.org -Enabled $True
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List Name, Enabled, Status, Selector1CNAME, Selector2CNAME
    
    # Rotate one DKIM key.
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List *
    Rotate-DkimSigningConfig -Identity bhf-th.org -KeySize 2048
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List *
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List Name, Enabled, Status, Selector1KeySize, Selector1CNAME, Selector1PublicKey, Selector2KeySize, Selector2CNAME, Selector2PublicKey, RotateOnDate
    # Wait 4 days for the key rotation to be executed.
    
    # Rotate other DKIM key.
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List *
    Rotate-DkimSigningConfig -Identity bhf-th.org -KeySize 2048
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List *
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List Name, Enabled, Status, Selector1KeySize, Selector1CNAME, Selector1PublicKey, Selector2KeySize, Selector2CNAME, Selector2PublicKey, RotateOnDate
    # Wait 4 days for the key rotation to be executed.
    
    Get-DkimSigningConfig -Identity bhf-th.org | Format-List Name, Enabled, Status, Selector1KeySize, Selector1CNAME, Selector1PublicKey, Selector2KeySize, Selector2CNAME, Selector2PublicKey, RotateOnDate, SelectorBeforeRotateOnDate, SelectorAfterRotateOnDate
    Get-DkimSigningConfig -Identity shoklo-unit.com | Format-List Name, Enabled, Status, Selector1KeySize, Selector1CNAME, Selector1PublicKey, Selector2KeySize, Selector2CNAME, Selector2PublicKey, RotateOnDate, SelectorBeforeRotateOnDate, SelectorAfterRotateOnDate
    Domain                       : bhf-th.org
    AdminDisplayName             :
    Selector1KeySize             : 1024
    Selector1CNAME               : selector1-bhfth-org0i._domainkey.tbhf.onmicrosoft.com
    Selector1PublicKey           : v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxtyaAh1YChvIn0kyxzxYys0YANgSTGaJnbraR38hNUy1nYQqCrzYVTAd3Z22OkcQC+7mJM8jzCTgkAOabubGij5B8nbX7GneftYlSN9o1n6rIhu+ZlL8VtajK3ddWv4dJcH9DEcIRRnv4fMr2wCy
                                   YkKCXGEq4I0wwo0+Dr6XuUQIDAQAB;
    Selector2KeySize             : 1024
    Selector2CNAME               : selector2-bhfth-org0i._domainkey.tbhf.onmicrosoft.com
    Selector2PublicKey           : v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi90/gfzigFPwpA8JF3Q43Kzo50ImItUqakhtnIFmaGA9c/lrY/LH9BD93HyghXdyscHd9NSXEYcCKuK23ICDMYTktnRJYptUvjaZ36saeizk+CgWA8q9/neochqaic9jF4BxIL2CMwjxQE56XPt2
                                   NhN57diC95LxbZyK7b/01bQIDAQAB;
    Enabled                      : True
    IsDefault                    : False
    HeaderCanonicalization       : Relaxed
    BodyCanonicalization         : Relaxed
    Algorithm                    : RsaSHA256
    NumberOfBytesToSign          : All
    IncludeSignatureCreationTime : True
    IncludeKeyExpiration         : False
    KeyCreationTime              : 2019-10-18 07:45:22
    LastChecked                  : 2025-04-24 04:11:00
    RotateOnDate                 : 2019-10-18 07:45:22
    SelectorBeforeRotateOnDate   : selector2
    SelectorAfterRotateOnDate    : selector1
    Status                       : Valid
    Identity                     : bhf-th.org
    Id                           : bhf-th.org
    IsValid                      : True
    ExchangeVersion              : 0.20 (15.0.0.0)
    Name                         : bhf-th.org
    DistinguishedName            : CN=bhf-th.org,CN=Dkim Signing config,CN=Transport Settings,CN=Configuration,CN=tbhf.onmicrosoft.com,CN=ConfigurationUnits,DC=APCPR04A007,DC=PROD,DC=OUTLOOK,DC=COM
    ObjectCategory               : APCPR04A007.PROD.OUTLOOK.COM/Configuration/Schema/ms-Exch-Hosted-Content-Filter-Config
    ObjectClass                  : {top, msExchHostedContentFilterConfig}
    WhenChanged                  : 2025-04-24 11:11:00
    WhenCreated                  : 2024-07-18 20:58:40
    WhenChangedUTC               : 2025-04-24 04:11:00
    WhenCreatedUTC               : 2024-07-18 13:58:40
    ExchangeObjectId             : 6d77f702-5160-4263-9f95-e976f0c5f19a
    OrganizationalUnitRoot       : tbhf.onmicrosoft.com
    OrganizationId               : APCPR04A007.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/tbhf.onmicrosoft.com - APCPR04A007.PROD.OUTLOOK.COM/ConfigurationUnits/tbhf.onmicrosoft.com/Configuration
    Guid                         : 10d50b52-65a6-4894-9b7e-abaaa2c023c3
    OriginatingServer            : KL1PR04A07DC002.APCPR04A007.PROD.OUTLOOK.COM
    ObjectState                  : Unchanged
    Domain                       : bhf-th.org
    AdminDisplayName             :
    Selector1KeySize             : 1024
    Selector1CNAME               : selector1-bhfth-org0i._domainkey.tbhf.onmicrosoft.com
    Selector1PublicKey           : v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxtyaAh1YChvIn0kyxzxYys0YANgSTGaJnbraR38hNUy1nYQqCrzYVTAd3Z22OkcQC+7mJM8jzCTgkAOabubGij5B8nbX7GneftYlSN9o1n6rIhu+ZlL8VtajK3ddWv4dJcH9DEcIRRnv4fMr2wCy
                                   YkKCXGEq4I0wwo0+Dr6XuUQIDAQAB;
    Selector2KeySize             : 2048
    Selector2CNAME               : selector2-bhfth-org0i._domainkey.tbhf.onmicrosoft.com
    Selector2PublicKey           : v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsj8mzXt7/2ZfhSgg5V2Uk+LNG8xyb7aW+vsElcGziQZf9loiw9QE6lVQiHC0xgjCv5ZQ4WREWjqGCNx3Cnl4ydY2gXejxgEiJn/n8/M4AIbqXguqWa8QqF2nXONdyAWlkk8xezCZPEEJqLN
                                   RZ7gc1qjTJmlMbG2LIRv+qx3dmjc4GdWTHeKDshJGqGDQXVZxBMn4r7sTaDKZwSzcok7iuAMVwSCurbGWCl+riwJQDd1mlzXyWpOamVUJbukY76KjE7pwIh5wG6IRtv4bX3Vm5RrOPZPBlV2dUYXkBJhdkHpN8Jlg5ZbnudSsqM+xi5Q9W3Ilsw4aZuxQ3eM32Oq3rQIDAQAB
                                   ;
    Enabled                      : True
    IsDefault                    : False
    HeaderCanonicalization       : Relaxed
    BodyCanonicalization         : Relaxed
    Algorithm                    : RsaSHA256
    NumberOfBytesToSign          : All
    IncludeSignatureCreationTime : True
    IncludeKeyExpiration         : False
    KeyCreationTime              : 2025-04-24 04:43:12
    LastChecked                  : 2025-04-24 04:43:12
    RotateOnDate                 : 2025-04-28 04:43:12
    SelectorBeforeRotateOnDate   : selector1
    SelectorAfterRotateOnDate    : selector2
    Status                       : Valid
    Identity                     : bhf-th.org
    Id                           : bhf-th.org
    IsValid                      : True
    ExchangeVersion              : 0.20 (15.0.0.0)
    Name                         : bhf-th.org
    DistinguishedName            : CN=bhf-th.org,CN=Dkim Signing config,CN=Transport Settings,CN=Configuration,CN=tbhf.onmicrosoft.com,CN=ConfigurationUnits,DC=APCPR04A007,DC=PROD,DC=OUTLOOK,DC=COM
    ObjectCategory               : APCPR04A007.PROD.OUTLOOK.COM/Configuration/Schema/ms-Exch-Hosted-Content-Filter-Config
    ObjectClass                  : {top, msExchHostedContentFilterConfig}
    WhenChanged                  : 2025-04-24 11:43:14
    WhenCreated                  : 2024-07-18 20:58:40
    WhenChangedUTC               : 2025-04-24 04:43:14
    WhenCreatedUTC               : 2024-07-18 13:58:40
    ExchangeObjectId             : 6d77f702-5160-4263-9f95-e976f0c5f19a
    OrganizationalUnitRoot       : tbhf.onmicrosoft.com
    OrganizationId               : APCPR04A007.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/tbhf.onmicrosoft.com - APCPR04A007.PROD.OUTLOOK.COM/ConfigurationUnits/tbhf.onmicrosoft.com/Configuration
    Guid                         : 10d50b52-65a6-4894-9b7e-abaaa2c023c3
    OriginatingServer            : KL1PR04A07DC002.APCPR04A007.PROD.OUTLOOK.COM
    ObjectState                  : Unchanged