Description

This script helps administrators and support desk personnel to connect an Exchange Server 2013+ using remote PowerShell.
   
You can either connect to a dedicated Exchange Server or connect to a randomly selected Exchange Server.

You can easily implement the function in your own scripts to connect to Exchange remotely.

 

Examples

PowerShell
Skript bearbeiten|Remove
# EXAMPLE 1 
# Connect to the specified server EX01 
./Connect-ToExchange.ps1 -Server EX01 
 
# EXAMPLE 2 
# Connect to a randomly selected server 
./Connect-ToExchange.ps1
 

Links

Updates

2017-02-13: Intital community release

 

PowerShell script

PowerShell
Skript bearbeiten|Remove
<# 
    .SYNOPSIS 
    This script connects to an Exchange Server using remote Powershell. 
 
    Thomas Stensitzki 
     
    THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE  
    RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER. 
 
    Send comments and remarks to: support@granikos.eu 
     
    Version 1.0, 2017-02-13 
 
    .DESCRIPTION 
    This script helps administrators and support desk personnel to connect an Exchange Server 2013+ using remote PowerShell. 
     
    You can either connect to a dedicated Exchange Server or connect to a randomly selected Exchange Server.  
 
    You can implement the function in your own scripts to connect to Exchange remotely.  
 
    .LINK   
    GitHub: https://github.com/Apoc70/Connect-ToExchange 
 
    .LINK 
    TechNet: https://gallery.technet.microsoft.com/Connect-to-Exchange-Server-0fefe0e4 
 
    .LINK 
    Blog: https://www.granikos.eu/en/justcantgetenough/PostId/293/connect-to-exchange-server 
 
    .LINK 
    More scripts: http://scripts.Granikos.eu 
     
    .NOTES  
    Requirements 
    - Windows Server 2008 R2 SP1+ 
    - Windwos 7 SP1+ 
 
    Revision History  
    --------------------------------------------------------------------------------  
    1.0     Initial community release 
 
    .PARAMETER Server 
    Exchange Server to connect to. By default a server is selected randomly. 
 
    .EXAMPLE 
    Connect to the specified server EX01 
    ./Connect-ToExchange.ps1 -Server EX01 
 
    .EXAMPLE 
    Connect to a randomly selected server 
    ./Connect-ToExchange.ps1 
#> 
 
param ( 
    [string]$Server 
) 
 
$Serverlist = "EX01","EX02","EX03" 
 
function Connect-ToExchange { 
    If ($Server.Length -ne 0) { 
      # Connect to a dedicated Exchange Server  
      $ConnectToServer = $Server 
    } 
    else { 
      # Select an Exchange Server randomly 
      $ConnectToServer = Get-Random -InputObject $Serverlist 
    } 
     
    # Query for logon credentials 
    $cred = Get-Credential -Message "Enter your login credentials"  
     
    Write-Host "Connecting to server: $($ConnectToServer)" 
     
    # Set connection Uri 
    $connectionUri = "http://$ConnectToServer/powershell?serializationLevel=Full" 
     
    # Create remote PowerShell Session 
    $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $connectionUri -Credential $cred -Authentication Kerberos -AllowRedirection -WarningAction Ignore  
 
    # Import Session 
    Import-PSSession $session -DisableNameChecking -AllowClobber 
} 
 
# Call function 
Connect-ToExchange