Implicit remoting (import-pssession) / Error Handling

Welcome Forums General PowerShell Q&A Implicit remoting (import-pssession) / Error Handling

This topic contains 4 replies, has 4 voices, and was last updated by

 
Participant
2 years, 12 months ago.

  • Author
    Posts
  • #11292

    Participant
    Points: 0
    Rank: Member

    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: (:) [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

  • #11295

    Keymaster
    Points: 1,704
    Helping HandTeam Member
    Rank: Community Hero

    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.

  • #11343

    Participant
    Points: 0
    Rank: Member

    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.

  • #11499

    Participant
    Points: 0
    Rank: Member

    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!"
    }

  • #33199

    Participant
    Points: 0
    Rank: Member

    thanks StealthField – works perfectly!

The topic ‘Implicit remoting (import-pssession) / Error Handling’ is closed to new replies.