Niektóre polecenia cmdlet nie powiodą się w programie PowerShell ISE po uaktualnieniu do programu Exchange Server 2010 z dodatkiem SP3

Oryginalny numer artykułu KB:   2859999

Symptomy

Rozpatrzmy następujący scenariusz:

  • Uaktualniono środowisko zbiorcze 6 dodatku Service Pack 2 (SP2) do programu Exchange Server 2010 z dodatkiem SP3.
  • Narzędzia do zarządzania dodatkiem SP3 programu Exchange Server 2010 są zainstalowane na komputerze klienckim.
  • Do otwierania lokalnego wystąpienia programu Windows PowerShell na komputerze klienckim służy środowisko PowerShell Integrated Scripting Environment (ISE).
  • Dodaj przystawki programu Exchange. Na przykład Dodaj 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 mogą również 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.

W dzienniku aplikacji jest również 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 programu Exchange przy użyciu poniższych 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 programie Exchange Management Shell na serwerze programu Exchange.
  • W programie Exchange Management Shell na komputerze, na którym zainstalowano narzędzia do zarządzania,
  • W programie PowerShell na serwerze programu Exchange po załadowaniu przystawek programu Exchange.
  • W programie PowerShell ISE na serwerze programu Exchange po załadowaniu przystawek programu Exchange.

Uwaga

Uruchamianie poleceń cmdlet w lokalnym wystąpieniu programu PowerShell nie jest obsługiwane w programie Exchange Server 2010, chyba że ta funkcja jest jawnie udokumentowana jako wymagana w dokumentacji TechNet programu Exchange Server 2010. Aby uzyskać więcej informacji, zobacz lokalne Runspaces nie są obsługiwane w programie Exchange 2010.

Scenariusze, w których nie można uruchomić poleceń cmdlet programu Exchange

  • Z programu PowerShell na komputerze, na którym nie jest uruchomiony program Exchange Server z zainstalowanymi narzędziami do zarządzania dodatkiem SP3 dla programu Exchange Server.
  • Z programu PowerShell ISE na komputerze, na którym nie jest zainstalowany program Exchange Server, na którym zainstalowano narzędzia do zarządzania dodatkiem SP3 dla programu Exchange Server.