Implicit remoting (import-pssession) / Error Handling

Hi
I have some problems getting try/Catch working with implicit remoting (import-pssession).
i’m getting the error:
The operation couldn’t be performed because object ‘domain/Afdelinger/Logistikcenter Horsens/Resource accounts/SMA’ couldn’t b
e found on ‘server’.
+ CategoryInfo : NotSpecified: (:slight_smile: [Get-Mailbox], ManagementObjectNotFoundException
+ FullyQualifiedErrorId : C28F0184,Microsoft.Exchange.Management.RecipientTasks.GetMailbox
+ PSComputerName : exchagneserver

The code I am running is:
$RemoteSession = New-PSSession -ConnectionUri “http://exhub-v01/PowerShell” -ConfigurationName “Microsoft.Exchange” -Authentication Kerberos -Credential user
Import-PSSession -Session $RemoteSession

$ListOfAllDistributionGroup = Get-DistributionGroup | Select-Object -Property Name, DisplayName, PrimarySmtpAddress, ManagedBy
foreach ($DistributionGroup in $ListOfAllDistributionGroup) {
$Obj = New-Object -TypeName PSObject
try {
$DistributionGroupManagedBy = $DistributionGroup | Select-Object -ExpandProperty ManagedBy | Get-Mailbox -ErrorAction ‘stop’
$Obj | Add-Member -MemberType NoteProperty –Name “Name” -Value $DistributionGroup.Name
$Obj | Add-Member -MemberType NoteProperty –Name “PrimaryEmail” -Value $DistributionGroup.PrimarySmtpAddress
$Obj | Add-Member -MemberType NoteProperty –Name “ManagedBy” -Value $DistributionGroupManagedBy.Alias
} catch {
$Obj | Add-Member -MemberType NoteProperty –Name “Name” -Value $DistributionGroup.Name
$Obj | Add-Member -MemberType NoteProperty –Name “PrimaryEmail” -Value $DistributionGroup.PrimarySmtpAddress
$Obj | Add-Member -MemberType NoteProperty –Name “ManagedBy” -Value “Error: The User dosen’t have a mailbox”
}
Write-Output $Obj
}

Hope anyone is able to help.

Kenneth

I seem to recall this being a known problem with the way the Exchange cmdlets in particular work. The cmdlet is running remotely, of course, but its exception doesn’t get bubbled up through to the local proxy function used by implicit remoting. Let me se eif I can find where I saw that.

Thanks Don… Hope you are able to find it.
I have read some of your books and seen a all your CBT Nuggets, except the last.

I am running into the same thing with Windows 8.1/PowerShell 4.0/2.0 and Office365.
PowerShell 3.0 on Windows 8.0 works just fine which is upsetting.

Simple demo:

try
{
Get-Mailbox -Identity bogusAlias -ErrorAction ‘Stop’
}
catch
{
Write-Host “This should trip, but it never does! The error action is ignored.”
}

This works:

try
{
$Global:ErrorActionPreference = ‘Stop’
Get-Mailbox -Identity bogusAlias -ErrorAction ‘Stop’
}
catch
{
Write-Host “Exception caught!”
}

thanks StealthField - works perfectly!