Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Oryginalny numer KB: 2859999
Symptomy
Rozpatrzmy następujący scenariusz:
- Uaktualniasz środowisko pakietu zbiorczego Exchange Server Service Pack 2 (SP2) 6 do Exchange Server 2010 z dodatkiem SP3.
- Narzędzia do zarządzania Exchange Server 2010 z dodatkiem SP3 są instalowane na komputerze klienckim.
- Zintegrowane środowisko skryptów programu PowerShell (ISE) służy do otwierania lokalnego wystąpienia Windows PowerShell na komputerze klienckim.
- Dodajesz przystawki programu Exchange. Możesz na przykład dodać następującą przystawkę programu Exchange:
Add-PSSnapin Microsoft.exchange.powershell.e2010
W tym scenariuszu niektóre polecenia cmdlet programu Exchange nie działają już. Na przykład następujące polecenia cmdlet nie działają już:
Test-WebServicesConnectivity -ClientAccessServer "Servername" -TrustanySSLcertificate
Set-CASMailbox
Uwaga
Inne polecenia cmdlet również mogą nie działać w tym scenariuszu.
Ponadto w programie PowerShell ISE jest wyświetlany następujący komunikat o błędzie:
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.
Ponadto w dzienniku aplikacji jest rejestrowany następujący błąd:
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().
Obejście problemu
Aby obejść ten problem, otwórz sesję zdalną na serwerze Exchange przy użyciu następujących poleceń cmdlet na początku skryptu ISE:
$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
Scenariusze, w których można uruchamiać polecenia cmdlet programu Exchange
- W powłoce zarządzania programu Exchange na serwerze Exchange.
- W programie Exchange Management Shell na komputerze z zainstalowanymi narzędziami do zarządzania.
- W programie PowerShell na serwerze Exchange po załadowaniu przystawek programu Exchange.
- W programie PowerShell ISE na serwerze exchange po załadowaniu przystawki programu Exchange.
Uwaga
Uruchamianie poleceń cmdlet w lokalnym wystąpieniu programu PowerShell nie jest obsługiwane w Exchange Server 2010 r., chyba że to użycie jest jawnie udokumentowane jako wymagane w dokumentacji Exchange Server 2010 TechNet. Aby uzyskać więcej informacji, zobacz Lokalne obszary uruchomieniowe nie są obsługiwane w programie Exchange 2010.
Scenariusze, w których nie można uruchamiać poleceń cmdlet programu Exchange
- Z programu PowerShell na komputerze, na który nie działa Exchange Server, ale ma zainstalowane narzędzia do zarządzania Exchange Server SP3.
- Z programu PowerShell ISE na komputerze, na który nie działa Exchange Server, ale który ma zainstalowane narzędzia do zarządzania Exchange Server SP3.