Blog Post

Exchange Team Blog
2 MIN READ

Deprecation of Remote PowerShell (RPS) Protocol in Security and Compliance PowerShell

The_Exchange_Team's avatar
May 08, 2023

Update: There are no more cmdlets left that do not support REST protocol.

Starting July 15, 2023, we will start deprecating the legacy RPS protocol in the Security and Compliance PowerShell module. RPS is enabled by default for Security and Compliance cmdlets.

The timeline of disablements in this blog post applies only to tenants in our World-Wide (WW) cloud. Final RPS disablement for customers in other Microsoft cloud environments as well as WW cloud is scheduled for October 2023.

As part of our modernization efforts, the Security and Compliance admin experience is moving to REST-based cmdlets.

The new REST API will have the same cmdlets available and will have feature parity with the RPS v1 cmdlets; thus, existing scripts and processes don’t need to be updated. Simply using the new PowerShell module version 3.2.0-Preview3 (or newer) will ensure REST is used instead of RPS.

You can switch to REST-based cmdlets now by doing the following:

  • Install the Exchange Online Management v3 module version 3.2.0 (or newer) from here.
  • Use Connect-IPPSSession -UseRPSSession:$false to establish the connection.

Once this version of the module is generally released (and is out of preview) using
-UseRPSSession:$false parameter will not be required.

We highly recommend that customers switch to the new module as soon as possible.

In short, all customers should install the Exchange Online v3 module version 3.2.0 (or newer) and use Connect-IPPSSession to establish a connection to the service.

If you have questions or concerns, please email us at EOPSCCcmdletinfo@microsoft.com.

Security and Compliance PowerShell Team

Updated Jul 25, 2023
Version 7.0
  • Jonathanyao's avatar
    Jonathanyao
    Copper Contributor

    That is great. 

    I am going to use Connect-IPPSSession -Certificate to connect with CBA and use  New-ComplianceSearchAction -SearchName "{Search_Name}" -purge to purge selected emails. 

    But when I run Start-ComplianceSearch and New-ComplianceSearchAction cmdlets, they do not work, and error message is "Object reference not set to an instance of an object.. ". The two cmdlets work when I use basic authentication(username/password). So I am not sure what mistake I made in app registration or role assignment. 

    Any suggestions will be very appreciated.

     

     

  • Thank you for getting us the REST-supporting Connect-IPPSSession!  Will start to use now and looking forward to 3.2.0 GA.