Einige Cmdlets schlagen in PowerShell ISE nach einem Upgrade auf Exchange Server 2010 SP3 fehl
Ursprüngliche KB-Nummer: 2859999
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
- Sie führen ein Upgrade einer Exchange Server Service Pack 2 (SP2) Rollup 6-Umgebung auf Exchange Server 2010 SP3 durch.
- Die Exchange Server 2010 SP3-Verwaltungstools werden auf einem Clientcomputer installiert.
- Sie verwenden powerShell Integrated Scripting Environment (ISE), um eine lokale Windows PowerShell instance auf dem Clientcomputer zu öffnen.
- Sie fügen die Exchange-Snap-Ins hinzu. Beispielsweise fügen Sie das folgende Exchange-Snap-In hinzu:
Add-PSSnapin Microsoft.exchange.powershell.e2010
In diesem Szenario funktionieren einige Exchange-Cmdlets nicht mehr. Die folgenden Cmdlets funktionieren beispielsweise nicht mehr:
Test-WebServicesConnectivity -ClientAccessServer "Servername" -TrustanySSLcertificate
Set-CASMailbox
Hinweis
Andere Cmdlets funktionieren in diesem Szenario möglicherweise auch nicht.
Darüber hinaus erhalten Sie in PowerShell ISE die folgende Fehlermeldung:
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.
Außerdem wird der folgende Fehler im Anwendungsprotokoll protokolliert:
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().
Problemumgehung
Um dieses Problem zu umgehen, öffnen Sie eine Remotesitzung mit einem Exchange-Server, indem Sie die folgenden Cmdlets am Anfang des ISE-Skripts verwenden:
$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
Szenarien, in denen Exchange-Cmdlets ausgeführt werden können
- In der Exchange-Verwaltungsshell auf einem Exchange-Server.
- In der Exchange-Verwaltungsshell auf einem Computer, auf dem Verwaltungstools installiert sind.
- In PowerShell auf einem Exchange-Server, nachdem die Exchange-Snap-Ins geladen wurden.
- In PowerShell ISE auf einem Exchange-Server, nachdem die Exchange-Snap-Ins geladen wurden.
Hinweis
Das Ausführen von Cmdlets in einer lokalen PowerShell-instance wird in Exchange Server 2010 nicht unterstützt, es sei denn, diese Verwendung ist explizit in Exchange Server 2010 TechNet-Dokumentation als erforderlich dokumentiert. Weitere Informationen finden Sie unter Lokale Runspaces werden in Exchange 2010 nicht unterstützt.
Szenarien, in denen Exchange-Cmdlets nicht ausgeführt werden können
- Von PowerShell auf einem Computer, auf dem nicht Exchange Server ausgeführt wird, aber die Exchange Server SP3-Verwaltungstools installiert sind.
- Von PowerShell ISE auf einem Computer, auf dem nicht Exchange Server ausgeführt wird, aber die Exchange Server SP3-Verwaltungstools installiert sind.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für