2010 SP3'e yükseltmeden sonra PowerShell Exchange Server ISE'de bazı cmdlet'ler başarısız olur
Özgün KB numarası: 2859999
Belirtiler
Aşağıdaki senaryoyu inceleyin:
- Exchange Server Service Pack 2 (SP2) Toplaması 6 ortamını Exchange Server 2010 SP3'e yükseltebilirsiniz.
- EXCHANGE SERVER 2010 SP3 yönetim araçları istemci bilgisayara yüklenir.
- İstemci bilgisayarda yerel bir komut dosyası örneği açmak için PowerShell Tümleşik Betik Ortamı'Windows PowerShell ISE kullanırsınız.
- Hızlı Exchange ekleyin. Örneğin, aşağıdaki ek Exchange eklersiniz:
Add-PSSnapin.exchange.powershell.e2010
Bu senaryoda, bazı Exchange cmdlet'leri çalışmıyor. Örneğin, aşağıdaki cmdlet'ler artık çalışmıyor:
Test-WebServicesConnectivity -ClientAccessServer "Servername" -TrustanySSLcertificateSet-CASMailbox
Not
Bu senaryoda diğer cmdlet'ler de çalışmıyor olabilir.
Ayrıca, PowerShell ISE'de aşağıdaki hata iletisini alırsınız:
Add-PSSSnapin Microsoft.Exchange.Management.PowerShell.E2010
PS H:\> Test-WebServicesConnectivity -ClientAccessServer <Clinet Access Server Name>
ARNING: An unexpected error has occurred and a Watson dump is being generated: Operation is not valid due to the current state of the object.
Test-WebServicesConnectivity : Operation is not valid due to the current state of the object.
Ayrıca, Uygulama günlüğüne aşağıdaki hata kaydedilir:
Time : -
ID : 8
Level : Error
Source : MSExchange CmdletLogs
Machine : -
Message: (PID 12460, Thread 9) Task Test-WebServicesConnectivity throwing unhandled exception: System.InvalidOperationException: Operation is not valid due to the current state of the object.
at Microsoft.Exchange.Data.Storage.ExchangePrincipal.get_ServerFullyQualifiedDomainName()
at Microsoft.Exchange.Monitoring.TestCasConnectivity.ResetAutomatedCredentialsAndVerify(TestCasConnectivityRunInstance instance)
at Microsoft.Exchange.Monitoring.TestCasConnectivity.BuildRunInstanceForSiteMBox(String deviceId)
at Microsoft.Exchange.Monitoring.TestCasConnectivity.BuildRunInstances()
at Microsoft.Exchange.Monitoring.TestCasConnectivity.InternalProcessRecord()
at Microsoft.Exchange.Configuration.Tasks.Task.ProcessRecord().
Geçici Çözüm
Bu sorunu gidermek için ISE betiğinin başındaki aşağıdaki cmdlet'leri kullanarak bir Exchange sunucusunda uzak oturumu açın:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<FQDN of Exchange 2010 server>/PowerShell/ -Authentication Kerberos import-pssession $session add-pssnapin microsoft.exchange* test-webservicesconnectivity -clientaccessserver CASSERVER -trustanysslcertificate
Yeni cmdlet'Exchange çalıştırıl olduğu senaryolar
- bir Exchange üzerinde Yönetim Kabuğu'Exchange seçin.
- Yönetim Exchange yüklü bir bilgisayarda Yönetim Kabuğu'Exchange seçin.
- Hızlı yükleme yüklendikten Exchange bir Exchange PowerShell'de.
- Ek bileşenler yüklendikten sonra Exchange bir Exchange PowerShell ISE'de.
Not
Exchange Server 2010 TechNet belgelerinde bu kullanım açıkça belgelemediği sürece Exchange Server, yerel bir PowerShell örneğinde cmdlet'leri çalıştırma destek desteklemez. Daha fazla bilgi için bkz. Exchange 2010'da Yerel Boşluklar desteklenmiyor.
Yeni Exchange cmdlet'leri çalıştırılamayacak senaryolar
- Exchange Server sp3 yönetim araçları yüklü Exchange Server bilgisayarda PowerShell'den.
- Exchange Server çalıştıran ancak SP3 yönetim araçları yüklü olan bir Exchange Server PowerShell ISE'den.