What does the ishObject for Get-IshPublicationOutputData using ISHRemote look like?

I have a random set of outputs I'd like to automate the download for. It's painful to query and set the metadata for each of the outputs, so I'd just like pass the correct string to IshObject directly.

What does the IshObject look like?

Where can I find all the necessary information for IshObject?


  • Hi Mica,

    There is no "New-IshObject" structure or something. The concept behind ISHRemote is that you only get to IShObject structures as returned by get/find operations. Otherwise you have to use the explicit named parameters like -LogicalId, -Version, etc (which I assume you consider painful?)

    If you have a "random" set  of outputs in a CSV file, you might want to consider generating a PowerShell splat. See for example www.jaapbrasser.com/.../


  • Hi Dave-san,

    I came to this thread because I wanted to download the output that has already been published using Commandlet "Get-IshPublicationOutputData" of ISHRemote.

    Before the code for Get-IshPublicationOutputData, I saw the code for writing an IshObject using Publish-IshPublicationOutput.

    I want to save time on Publish this time. and Publishing multiple outputs at once will annoy other users, so I don't want to do it.
    It would be helpful if you could tell me if there is a way to easily get the "IshObject" without using Publish-IshPublicationOutput.
  • Hi Nakamura-san,

    If you use "Publish-IshPublicationOutput", probably over the ParameterGroup option so with explicit parameters -LogicalId -Version etc, the you get an IshObject back on the pipeline. That IshObject you can push in a variable to then pass it on as input to "Get-IshPubllicationOutputData" to download the actual binary.

    The cmdlets I would advise you to look into the samples are

    • Get-IshPublicationOutput ... Starting point of this cmdlet is that you know one-or-more LogicalIds (typically GUIDs), and then you add some filters
    • Find-IshPublicationOutput ... Starting point of this cmdlet is that you don't know the LogicalIds (typically GUIDs), but you have field filter criteria

    As you compare to the Publish-cmdlet, I would suggest Get-IshPublicationOutput first. Unfortunately it uses the more generic filter criteria parameters, so it doesn't have the explicit parameters -LogicalId -Version etc ... The below is how you could mimic that. 

    $metadataFilter = Set-IshMetadataFilterField -Level Version -Name VERSION -FilterOperator Equal -Value 14 |
                      Set-IshMetadataFilterField -Level Lng -Name FISHPUBLNGCOMBINATION -FilterOperator Equal -Value "en" |
                      Set-IshMetadataFilterField -Level Lng -Name FISHOUTPUTFORMATREF -FilterOperator Equal -ValueType Element -Value VOUTPUTFORMATDITADELIVERY # see Find-IshOutputFormat Id column
    $publicationOutput = Get-IshPublicationOutput -LogicalId @("GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") -MetadataFilter $metadataFilter


  • Hi Dave-san,

    Thanks for the helpful advice!

    I was able to download it successfully.


Reply Children
No Data