Hashtable usage mid-function

This topic contains 0 replies, has 1 voice, and was last updated by Profile photo of Forums Archives Forums Archives 5 years, 3 months ago.

  • Author
    Posts
  • #5243

    by figueroa2david at 2012-10-29 15:42:58

    I have a v2 script that I use with Citrix XenDesktop to email a daily report to the admin team. After taking Don's awesome Powershell masterclass, I am working on some improvements to it, but I am running into a snag..

    The key function here is:
    $message.Body = Get-BrokerDesktop -Filter {SessionState -eq "Disconnected" -or SessionState -eq "Unknown"} |
    Select-Object -Property SessionUserName,
    @{name='DisplayName';expression={Get-ADUser -Identity (Split-Path -Path $_.SessionUserName -Leaf) |
    Select-Object -Property Name}},
    SessionState,
    ClientName,
    HostedMachineName,
    SessionStateChangeTime | ConvertTo-Html

    The key here is XD is putting out an object type of Citrix.Broker.Admin.SDK.Desktop, and the SessionUserName is a MemberType of NoteProperty. I am using the split function to extract the user name, and using that to look up the user's display name to put into the table. (Eventually, I will convert this into a full blown function.. but baby steps 🙂

    The issue I am getting is the output – it comes out like this: (private data is sanitized, and shown here in <> symbols and the email columns *do* line up properly)

    SessionUserName DisplayName SessionState ClientName HostedMachineName SessionStateChangeTime
    @{Name=} Disconnected 10/29/2012 4:31:23 PM

    In the output, the actual strings '@{name=' and '}' are actually printing in the body along with the correct displayname? Hopefully this is just something small that I overlooked without realizing it.

    Thanks,

    David F.

    by DonJ at 2012-10-30 07:51:37

    Use -ExpandProperty with Select-Object, instead of -Property.

You must be logged in to reply to this topic.