Teh Hermit
Trace: • подключение_к_удаленной_сессии_ems

Подключение к удаленной сессии EMS

Для администрирования не всегда удобно использовать подключение по RDP, затем локальный запуск Exchange Management Shell. Рассмотрим как можно подключиться к удаленной сессии по шагам и напишем скрипт, который запросит данные для подключение и имя сервера, чтобы вводить в консоли было необходимо только эти данные, а не весь перечень команд.

Удаленное подключение к сессии PowerShell Exchange по шагам

Вводим креды:

$Credentials = Get-Credential -Message "Log in to Exchange On-premise..." -UserName domain\username

Создаем сессию:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchange.contoso.com/PowerShell/ -Authentication Kerberos -Credential $Credentials

Импортируем сессию:

 Import-PSSession $Session -DisableNameChecking

Подключаемся к созданной сессии:

etsn $Session

Уничтожить созданную сессию:

Remove-PSSession -Id 1

Скрипт создания сессии

Чтобы не приходилось вводить учётные данные каждый раз отдельно - данный скрипт использует предварительно сохраненные и зашифрованные данные учётной записи, которую использует для подключения.

Имя сервера Exchange для подключения - напротив, скрипт запросит каждый раз при выполнении.

Экспорт учётных данных в XML

Сохранить данные в зашифрованный XML можно следующим образом. Запросим учётные данные в переменную:

 $Creds = Get-Credential

Выгрузим их в XML:

 $Creds | Export-CliXml -Path "C:\scripts\user.xml"

:!: Ремарка о безопасности такого хранения данных.

The Export-Clixml cmdlet encrypts credential objects by using the Windows Data Protection API. The encryption ensures that only your user account can decrypt the contents of the credential object. The exported CLIXML file can’t be used on a different computer or by a different user.

Код скрипта для подключения к Exchange

#Используем креды, сохраненные предварительно в xml-файле

$exch_credentials = Import-CliXml -Path "C:\scripts\user.xml"

# Запрашиваем - к какому серверу будем подключаться и строим из имени сервера полную строку подключения

$exch_server = Read-Host "Please enter exchange servername to connect"
$exch_conn_str = 'http://' + $exch_server + '.arasaka.local/PowerShell/'

# Создаём сессию из полученных данных

$exch_session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $exch_conn_str -Authentication Kerberos -Credential $exch_credentials

# Импортируем сессию 

Import-PSSession $exch_session -DisableNameChecking

# Подключаесмся к ней

Enter-PSSession $exch_session
Exchange, Microsoft, WindowsServer, Mail, PowerShell
Previous Next

Teh Hermit

Table of Contents

  

Microsoft

  Active Directory
  Active Directory Certificate Services
  Active Directory Federation Services
  BitLocker
  Terminal Services
  HYPER-V
  Exchange
  Internet Information Services (IIS)
  Storage Spaces Direct
  WSUS
  Windows Server
  Windows Server Core
  Windows
  Windows Admin Center
  Windows Backup
  Windows Firewall
  Windows 11
  Microsoft Office
  IPAM
  NPS и RADIUS
  Office Online
  Microsoft SQL Server
  Microsoft Endpoint Configuration Manager
  PowerShell
  KMS-активация

Unix-like

  Astra Linux
  Asterisk и FreePBX
  SQUID
  Debian
  CentOS
  Ubuntu Server + Desktop
  pfSense
  PostgreSQL
  SSH
  OpenSSL
  Zabbix

  

Hardware

  Keychron
  WakeOnLan
  Серверы HP
  Серверы SNR
  Настройка планшетов Handheld

  

Networking

  Cisco
  D-Link
  Mikrotik
  Keenetic

  

Other

  1С
  Docker
  DokuWiki
  Ghost Blog
  GoodbyeDPI
  Graylog
  VMWare
  ProxMox
  PrivateBin
  Outline VPN
  Wireguard
  Российская криптография
  Р-Виртуализация
  Kaspersky
  FileZilla ftp-сервер
  Soti MobiControl
  SysInternals
  VeraCrypt
  Non-Sucking Service Manager
  NMAP

     

DevOps

  Git
  Gitlab