Author Posts

July 13, 2016 at 12:34 pm


I am trying to remove PSComputerName and RunspaceId from my output. I have tried -ExcludeProperty in different locations with no luck. I am guessing it is in my new PSObject?

$XDArray = Invoke-Command -Computername $XDServers.MachineName -ScriptBlock {
Add-PSSnapin C*
$Admins = Get-AdminAdministrator
ForEach ( $Admin in $Admins.Name ) {

$AdminAdministrator = Get-AdminAdministrator -Name $Admin | Select Name,Rights
$XDSite = Get-XDSite | Select Name

$XDProps = [ordered]@{'Name'=$AdminAdministrator.Name;
New-Object -TypeName PSObject -Property $XDProps


Name : test\testaccount
Rights : {Full Administrator:All}
XDSite : XDTest
PSComputerName : TESTSERVER1
RunspaceId : d7220e52-7724-4e71-b4e1-57a0c0f2a8db


July 13, 2016 at 12:54 pm

$XDArray | Select-Object -Property * -ExcludeProperty PSComputerName,RunspaceID

I find that -ExcludeProperty works against the -Property parameter, and if the -Property parameter isn't defined it does nothing. I suspect that might be what you are running into.

July 13, 2016 at 1:02 pm

Those properties are added by PowerShell, pretty much "at the last minute" as the results come back. You can't remove them inside the Invoke-Command because they don't exist there; you would need to remove them on your local computer, as it's receiving the results.

Invoke-Command { whatever } | Select -Exclude This,That

July 13, 2016 at 5:11 pm

Thanks Craig you saved me again. Your probably not use to answering rubbish questions like mine but again I'm two weeks into learning the power of PowerShell.

July 13, 2016 at 5:28 pm

Cheers Don, I should of remembered that from your PowerShell CBT's as you did cover that (on info overload at the moment). By the way your PowerShell nuggets are the best. I knew zero about PowerShell couple of weeks back.

July 13, 2016 at 5:54 pm

I appreciate that. I'm surprised they've left that content up since I moved to Pluralsight ;). But glad it worked for you.