Sommige cmdlets mislukken in PowerShell ISE na een upgrade naar Exchange Server 2010 SP3
Origineel KB-nummer: 2859999
Symptomen
Neem het volgende scenario:
- U upgradet een Exchange Server Service Pack 2 (SP2) Rollup 6-omgeving naar Exchange Server 2010 SP3.
- De beheerhulpprogramma's van Exchange Server 2010 SP3 zijn geïnstalleerd op een clientcomputer.
- U gebruikt PowerShell Integrated Scripting Environment (ISE) om een lokaal Windows PowerShell exemplaar op de clientcomputer te openen.
- U voegt de Exchange-modules toe. U voegt bijvoorbeeld de volgende Exchange-module toe:
Add-PSSnapin Microsoft.exchange.powershell.e2010
In dit scenario werken sommige Exchange-cmdlets niet meer. De volgende cmdlets werken bijvoorbeeld niet meer:
Test-WebServicesConnectivity -ClientAccessServer "Servername" -TrustanySSLcertificate
Set-CASMailbox
Opmerking
Andere cmdlets werken mogelijk ook niet in dit scenario.
Daarnaast wordt het volgende foutbericht weergegeven in PowerShell ISE:
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.
Ook wordt de volgende fout vastgelegd in het toepassingslogboek:
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().
Tijdelijke oplossing
U kunt dit probleem omzeilen door een externe sessie naar een Exchange-server te openen met behulp van de volgende cmdlets aan het begin van het ISE-script:
$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
Scenario's waarin Exchange-cmdlets kunnen worden uitgevoerd
- In Exchange Management Shell op een Exchange-server.
- In Exchange Management Shell op een computer waarop Beheerhulpprogramma's is geïnstalleerd.
- In PowerShell op een Exchange-server nadat de Exchange-modules zijn geladen.
- In PowerShell ISE op een Exchange-server nadat de Exchange-modules zijn geladen.
Opmerking
Het uitvoeren van cmdlets in een lokaal PowerShell-exemplaar wordt niet ondersteund in Exchange Server 2010, tenzij dit gebruik expliciet wordt gedocumenteerd als vereist in Exchange Server 2010 TechNet-documentatie. Zie Lokale runspaces worden niet ondersteund in Exchange 2010 voor meer informatie.
Scenario's waarin Exchange-cmdlets niet kunnen worden uitgevoerd
- Vanuit PowerShell op een computer waarop Exchange Server niet wordt uitgevoerd, maar waarop de Exchange Server SP3-beheerprogramma's zijn geïnstalleerd.
- Vanuit PowerShell ISE op een computer waarop Exchange Server niet wordt uitgevoerd, maar waarop de Exchange Server SP3-beheerprogramma's zijn geïnstalleerd.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor