Skip to main content

Enable or Disable Exchange features (OWA, ActiveSync, MAPI, POP3, IMAP) for specified mailbox in the case you need to "pause" it

In certain cases you need to pause access to the user's mailbox without disabling user's account or Exchange mailbox. Therefore mailbox features should be disabled. I created a simple script that disables or enables all mailbox features on specified mailbox. You can download the script here Pause_Mailbox_Features_For_Mailbox.ps1

# -----------------------------------------------------------------------------------
#
# Enter mailbox name you want to "pause". Use Get-Mailbox command to get correct name

# Be careful when using this script since it disables or enables Exchange features
# for a specified user mailbox.
#
# If this is not your intention, don't use it.
# This script is provided "AS IS" with no warranties, and confers no rights.
#
# Check www.exchangelog.info for more useful information
#
#------------------------------------------------------------------------------------

# BEGIN script


$User = read-host "Please enter the users mailbox name";

$caption = "Disable / Enable";
$message = "What do you want to do with mailbox features, Enable or Disable them?";
$Enabled = new-Object System.Management.Automation.Host.ChoiceDescription "&Enable";
$Disabled = new-Object System.Management.Automation.Host.ChoiceDescription "&Disable";
$choices = [System.Management.Automation.Host.ChoiceDescription[]]($Disabled,$Enabled);
$answer = $host.ui.PromptForChoice($Caption,$message,$choices,0);

#Disable Exchange features for specified mailbox


#Disable OWA

Set-CASMailbox -id $User -OWAEnabled $answer

if($answer -eq '0') {

    Write-Host "OWA disabled" 
} else { 
    Write-Host "OWA is enabled" 
}

#Disable ActiveSync

Set-CASMailbox -id $User -ActiveSyncEnabled $answer

if($answer -eq '0') {

    Write-Host "ActiveSync disabled" 
} else { 
    Write-Host "ActiveSync is enabled" 
}

#Disable MAPI

Set-CASMailbox -id $User -MAPIEnabled $answer

if($answer -eq '0') { 

    Write-Host "MAPI disabled" 
} else { 
    Write-Host "MAPI is enabled" 
}

#Disable POP3


Set-CASMailbox -id $User -PopEnabled $answer


if($answer -eq '0') { 

    Write-Host "POP3 disabled" 
} else { 
    Write-Host "POP3 is enabled" 
}

#Disable IMAP

Set-CASMailbox -id $User -IMAPEnabled $answer

if($answer -eq '0') {

    Write-Host "IMAP disabled" 
} else { 
    Write-Host "IMAP is enabled" 
}

# END script

Comments

Popular posts from this blog

Netscaler vs Exchange 2019 "time out during ssl handshake stage

If you are using Citrix Netscaler as load balancer in front of Exchange 2019 server you must know this: Microsoft Exchange 2019 is secured by default and allows only TLS 1.2. Therefore default schannel settings are as follows (using IISCrypto tool from Nartac Software): While Citrix Netscaler offers following Cipher Suites: TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_DHE_DSS_WITH_AES_256_CBC_SHA TLS_DHE_DSS_WITH_AES_128_CBC_SHA TLS_RSA_WITH_DES_CBC_SHA TLS_RSA_EXPORT_WITH_DES40_CBC_SHA TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 TLS_DHE_DSS_WITH_DES_CBC_SHA TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA TLS_DHE_RSA_WITH_DES_CBC_SHA TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 TLS_DH_anon_WITH_DES_CBC_SHA TLS_DH_anon_WITH_AES_128_CBC_SHA TLS_DH_anon_WITH_AES_256_CBC_SHA TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA Now, you will fi

Exchange Admin Center language

Depending on your computer language settings, Exchange Admin Center can take those and open in a language you actually don't want to use. You'll Google that this can be changed if administrator/ admin user has mailbox by openening OWA settings and changing Regional parameters. But usually Admin user does not have mailbox or you don't want her/him to have it. You will search again and find that you can add mkt=en-US (as an example) to the URL of the Exchange Admin Center (https://yourexchangehostname/ecp?ExchClientVer=15&mkt=en-US) Third option you have is opening Internet Explorer settings (I am using Windows 2016) Click languages Click Set Language Preferences Add language you want to use by clicking Add language Use Move up or Move Down options to put desired language on top Close Internet Explorer Open it again and login again to Exchange Admin Center

Free/Busy missing - Cloud to On-Premises

We had a problem where M365 users could not retreive Free/Busy information from on-premise Exchange server. Hybrid setup was run and everything was working fine except this. After research I found out that TargetSharingEpr is the way to look at. There are many sites out there that are pointing to the same setting but only Set-OrganizationRelationship is used to change the value. The problem is, this value is available for two commands: Set-IntraOrganizationConnector Set-OrganizationRelationship While we changed the value in  Set-OrganizationRelationship it didn't work until we changed the value in  Set-IntraOrganizationConnector too. By default it should work with just  TargetAutodiscoverEpr but for us it didn't. Finally we ran this command on Intra Organization Connector which is used from Cloud to On-prem:  Set-IntraOrganizationConnector -TargetSharingEpr   https://mail.domain.com/ews/exchange.asmx And it worked.