Remote PowerShell ile Exchange Sunucularına ve Microsoft 365'e Bağlanın
Bu makalede, PowerShell konsolundan şirket içi bir Exchange Server'a veya Microsoft 365'e (Exchange Online) uzaktan nasıl bağlanılacağını göstereceğiz.
Uzak PowerShell (EMS'siz) Üzerinden Exchange Sunucularına Nasıl Bağlanırsınız?
Şirket içi Exchange kuruluşunuzu (Exchange Server 2010, 2013, 2016 veya 2019) yönetmek için Exchange Yönetim Kabuğu (EMS) cmdlet'lerini kullanabilirsiniz. EMS, Exchange Yönetim Araçları'nın bir parçası olarak kurulur. Bilgisayarınızda Exchange Yönetim Kabuğu yüklü değilse, Exchange sunucunuza uzaktan bağlanabilir ve Exchange ana bilgisayarındaki cmdlet'leri yerel PowerShell oturumunuza aktarabilirsiniz.
Exchange Server'daki uzak bağlantılar, PowerShell adlı ayrı bir sanal IIS (İnternet Bilgi Hizmetleri) dizini aracılığıyla kurulur. Varsayılan olarak, Kerberos kimlik doğrulaması kullanılır ve iletişim için WinRM kullanılır.
İpucu. Bazı EMS cmdlet'lerinin uzak bir PowerShell oturumunda tam olarak desteklenmediğini unutmayın. Örneğin, Get-ExchangeCertificate. Kullanmak için, bilgisayarınıza Exchange Management Shell'i kurmanız gerekecek.
Başlamadan önce, yerel PowerShell Yürütme ilkenizin yerel PS betiklerini çalıştırmanıza izin verdiğinden emin olun. Aşağıdaki komut, geçerli kullanıcı için yerel komut dosyalarının çalıştırılmasına izin verir.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Bilgisayarınızda PowerShell konsolunu açın ve aşağıdaki komutu çalıştırın:
$UserCredential = Get-CredentialExchange'e bağlanmak için kullanacağınız hesabın kullanıcı adını ve şifresini girin.
Exchange sunucunuzla uzak bir PowerShell oturumu oluşturun:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mun-mbex1.a-d.site/PowerShell/ -Authentication Kerberos -Credential $UserCredentialDikkat
httpyerine
httpsWeb PowerShell'e erişmek için kullanılır.
Oturumun oluşturulduğundan ve şimdi Açıldı durumunda olduğundan emin olun:
Get-PSSessionUzak PowerShell oturumunu yerel oturumunuza aktarın:
Import-PSSession $Session
Ardından, yerel PowerShell oturumunuzdaki tüm Exchange yönetimi cmdlet'lerini kullanabilirsiniz.
Uzak PowerShell oturumlarını düzgün bir şekilde sonlandırmayı unutmayın. Oturumunuzun bağlantısını kesmeden yalnızca Windows PowerShell konsolunu kapatırsanız, uzak PowerShell oturumlarının sınırını aşabilirsiniz.
Oturumunuzu sonlandırmak için aşağıdaki komutu çalıştırın:
Remove-PSSession $SessionÇalışan uzak PowerShell oturumu kalmadığından emin olun:
Get-PSSessionPowerShell cmdlet'lerini uzak Exchange'den oturumunuza otomatik olarak aktarmak için bir PowerShell profili kullanabilirsiniz.
Bir profil dosyası oluşturun:
New-Item -Path $profile -ItemType file -forceMicrosoft.PowerShell_Profile.ps1'i Not Defteri ile açın:
notepad $profileExchange'e bağlanmak ve uzak bir oturumdaki cmdlet'leri yerel bir PowerShell oturumuna aktarmak için dosyaya komutlar ekleyin:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mun-mbex1.a-d.site/PowerShell/ -Authentication Kerberos -Credential (Get-Credential)
Import-PSSession $SessionRemote PowerShell Kullanarak Exchange Online'a (Microsoft 365) Bağlanma
Aynı şekilde posta kutularını, konferans odalarını, dağıtım listelerini ve diğer Microsoft 365 ayarlarını yönetmek için Exchange Online (Microsoft 365) kiracınıza bağlanabilirsiniz.
Microsoft Exchange Online PowerShell modülünü (EXO/EXOv2) kurmadan Temel Kimlik Doğrulama kullanarak PowerShell konsolundan Exchange Online'a uzaktan nasıl bağlanılacağını öğrenelim.
Yerel PS betiklerinin çalışmasına izin ver:
Set-ExecutionPolicy RemoteSignedExchange Online yönetici kimlik bilgilerinizi alın:
$UserCredential = Get-CredentialBu Azure kullanıcısının öncelikle PowerShell aracılığıyla uzaktan bağlanmasına izin verilmelidir:
Set-User -Identity maxbak@a-d.site -RemotePowerShellEnabled $trueArdından Microsoft 365 ile uzak bir PowerShell oturumu oluşturabilirsiniz:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirectionHesabınız için Multi-Factor Authentication etkinleştirildiyse (Microsoft, tüm yönetici hesapları için MFA kullanılmasını önerir), kullanarak bağlanmaya çalışırken aşağıdaki hata görünür.
New-PSSessionNew-PSSession : [outlook.office365.com] Connecting to remote server outlook.office365.com failed with the following error message : Access is denied.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException + FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailedArdından Exchange Online PowerShell V2 (EXO V2) modülünü kurmanız gerekecek:
Install-Module ExchangeOnlineManagementBu durumda, Exchange Online'a bağlanmak için aşağıdaki cmdlet kullanılır:
Connect-ExchangeOnline -UserPrincipalName maxbak@a-d.site -ShowProgress $trueVeya hesap için MFA'yı devre dışı bırakabilirsiniz:
Set-MsolUser -UserPrincipalName maxbak@a-d.site -StrongAuthenticationRequirements @()Ardından uzak oturumu konsolunuza aktarın:
Import-PSSession $SessionExchange Online'a maksimum uzak PowerShell bağlantısı sayısı üç oturumla sınırlıdır. Limiti aşarsanız, aşağıdaki hata görünür:
Fail to create a runspace because you have exceeded the maximum number of connections allowed.Artık Microsoft 365 posta kutularınızı yönetebilirsiniz.
Tüm uzak PowerShell oturumlarını sonlandırmak için şu komutu çalıştırın:
Get-PSSession | Remove-PSSession



