Giter Club home page Giter Club logo

exchange.connection.manager's Introduction

No Maintenance Intended

⛔️ DEPRECATED: Exchange Connection Manager 2.0

The new release finally adds support for Powershell Core‼️ You can now use ECM on basically any platform like macOS, Linux and even iOS using Azure Cloud Shell.

About

Are you an Exchange Admin? Are you managing multiple Exchange OnPrem and Online environments? Tired of switching between multiple shells and sessions, updating and entering credentials? Check out the PowerShell Exchange Connection Manager module.

Note

Due to „limitations“ of the secure string CMDlets in PS Core, ECM on PS Core generates a random encryption key after installation to handle your saved credentials. If you‘re planning to save your credentials, make sure that nobody can access your key and config files inside your PS profile directory. However, if you have security concerns you can still use ECM by providing your credentials each time a connection is selected.

Known Issues

Currently there are no known issues. 🤗

Installation

PowerShell

For introductions on how to install PowerShell on your platform visit Microsoft Docs.

Exchange Connection Manager

Install ECM from the PowerShell gallery.

Install-Module Exchangea.Connection.Manager

If you’re already using an older version of ECM use the update CMDlet.

Update-Module Exchange.Connection.Manager

Thanks to the module auto load feature starting with PowerShell 3.0 you can use the ECM commands right away. However, if you’re having issues try to import ECM manually.

Import-Module Exchange.Connection.Manager

Configuration & Usage Examples

Create an Exchange Online Connection for your contoso tenant (contoso.onmicrosoft.com).

New-ECMConnection -TenantName contosocom -Name EXOContoso -Credential (get-credential)

Create an Exchange OnPrem Connection with OnPrem as command suffix.

New-ECMOnPremConnection -Name Exchange2016 -Authentication Kerberos -URI http://mail.contoso.com/PowerShell -SessionPrefix OnPrem

Remove all connections and do not ask for confirmation.

Get-ECMConnection | Remove-ECMConnection -Confirm:$false

Get all configured connections.

Get-ECMConnection

Connect to Exchange Online and Exchange OnPrem in a single shell and get all mailboxes.

Connect-Exchange -Identity EXOContoso
Connect-Exchange -Identity Exchange2016

$allMBX = @()
$allMBX = Get-Mailbox -Resultsize unlimited
$allMBX += Get-OnPremMailbox -Resultsize unlimited 
$allMBX

You can even use Connect-Exchange in a loop since ECM won’t reconnect your session when the session is already active but will reconnect your session when the session is broken or disconnected.

do{
  Connect-Exchange EXOContoso
  $mbx = Get-Mailbox jdoe
  Start-Sleep -seconds 10
}until($mbx)

Command Reference

Command Parameter Description
Connect-Exchange Start the connection menu.
[string] Identity Skip the menu and connect directly. Good option for use in scripts.
[switch] CoreMenu Start the core menu when having issues with the full menu on your platform
Get-ECMConnection Get all connections
[string] Name Get a single connection configuration by name
New-ECMConnection Create a new persistent connection
Mandatory [string] TenantName Important Use the real name of your tenant. The string before your .onmicrosoft.com address. Actually that is not really required for the connection to work, but makes sure you can use your connection database in future ECM versions.
[string] Name The name of the connection. The name will be displayed in the connection menu.
[PSCredential] Credential Pass a credential object to the command e.g. with (get-credential). However, you can skip this parameter and ECM will ask you for your credential.
[string] SessionPrefix Use a prefix with your connection. e.g. If you specify Online as prefix the Get-Mailbox command will map to Get-OnlineMailbox.
New-ECMOnPremConnection Create a connection to your local Exchange environment
Mandatory [string] Name The name of the connection. The name will be displayed in the connection menu.
Mandatory [string] URI Specifies a URI that defines the connection endpoint for the session. The URI must be fully qualified.
[string] Authentication Specifies the mechanism that is used to authenticate the user's credentials. The acceptable values for this parameter are: Kerberos (default) & Basic.
[string] SessionPrefix Use a prefix with your connection. e.g. If you specify OnPrem as prefix the Get-Mailbox command will map to Get-OnPremMailbox.
Remove-ECMConnection Remove a connection from the database.
[string] Name The name of the connection you want to remove.
[bool] Confirm Prompts you for confirmation before running the command. Default value is $true.
Set-ECMConnection Change connection config details.
Mandatory [string]$Identity The name of the connection you want to modify.
[string]Name Set the name of the connection provided by the Identity parameter.
[string]TenantName Set the TenantName.
[PSCredential]Credential Provide credentials for the connection.
[string]SessionPrefix Set a prefix for the connection. e.g. If you specify Online as prefix the Get-Mailbox command will map to Get-OnlineMailbox.
[string]URI Specifies a URI that defines the connection endpoint for the session. The URI must be fully qualified.
[string]Authentication Specifies the mechanism that is used to authenticate the user's credentials. The acceptable values for this parameter are: Kerberos (default) & Basic.
Get-ECMConfig Show all global ECM configurations.
Set-ECMConfig Change global ECM configurations.
[string]Menu Specifies the default ECM menu. The acceptable values for this parameter are: Auto (Default) & Core
[bool]CheckForUpdates Check for ECM module updates once a day.
[bool]EditEnumerationLimit Prevents truncation of long output after a session is established.
[bool]Logging Log ECM activities.
[string]Logfile ECM logfile path.

FAQ

Can I use ECM with MFA enabled accounts?

Unfortunately ECM has no MFA support in general. However, you can create an app password and use it with ECM.

How to provide feedback and get support?

Feedback is always appreciated. You can drop a line using the contact form or use the comment section below.

Can I use my old connection file?

No. To support PS Core I have made some changes in how ECM handles your connections. Recreate your connections with New-ECMConnection.

exchange.connection.manager's People

Contributors

a-bode avatar

Watchers

James Cloos avatar

exchange.connection.manager's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.