Automating on Tridion Docs - ISHRemote v7.0 now also available for PowerShell 7+

Automating on Tridion Docs - ISHRemote v7.0 now also available for PowerShell 7+

What happened

ISHRemote v7 runs on Windows, MacOS and Linux thanks to added PowerShell 7+ support - keeping Windows PowerShell 5.1 support!

From the start ISHRemote was set up as a scripting module powered on the back by a binary compiled .NET code. So it starts with PSM1/PSD1 combination that exports cmdlets, help, table layout formatting, parameter auto completion and more. The binary code, a nested module, did the heavy lifting on WS-Fed/WS-Trust security, multi-threading and more throughput performance!

Microsoft has split the path of Windows-based .NET Framework and multi-platform .NET (Core), in turn PowerShell did the same. Starting from ISHRemote v1 the preparations started for ISHRemote to follow with the goal however of being one module that would work for both worlds.

The challenge is that the ISHRemote binary module became platform specific and had to be loaded dynamically at runtime. So technically it is not a PowerShell nested Module anymore. ISHRemote v7 proves 99% compatibility across the two platforms (see https://github.com/RWS/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-7.0.md). In turn your scripts can run on both platforms and are future proof. So ISHRemote does the effort to obfuscate the two platforms for you.

Besides duplicate cmdlet auto-completion, there is one other issue of this architecture: Windows Authentication via WS-Trust does not work on PowerShell (Core) 7+ as .NET 6+ wants to be multi-platform by design.

Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-7.0.md and https://github.com/RWS/ISHRemote/releases/tag/v7.0

If you read up till here, and you have a Github account, I would appreciate if you could STAR the project on https://github.com/RWS/ISHRemote (click the star icon top-right corner).

Quick release notes

This release inherits the v0.1 to v0.14 and v1.0 development branch and features. By enabling PowerShell 7+ powered by NET 6+ next to existing Windows PowerShell 5.1 powered by NET Framework 4.8; we had to do some breaking changes forced by platform support. Most cmdlets and business logic are fully compatible except around authentication (New-IshSession, Test-IshSession and New-IshObfuscatedFile).

Yes, this is the ISHRemote version that works on Windows PowerShell and PowerShell (Core)! However, regarding PowerShell (Core), only for username/password-based authentication and not for Windows Authentication (WS-Trust protocol over Microsoft ADFS using windowsmixed).

ISHRemote v7.x powered by ISHWS WCF-SOAP
On Windows PowerShell 5.1 powered by .NET Framework 4.8
On PowerShell (Core) 7.2+ powered by .NET (Core) 6.0+
With issuerwstrustbindingtype set to usernamemixed, typically known as ISHSTS Supported, same as ISHRemote v1 and earlier  New! Supported since ISHRemote v7!
With issuerwstrustbindingtype set to windowsmixed, typically known as ADFS with Windows Authentication Supported, same as ISHRemote v1 and earlier Platform Not Supported

This is execution of the plan as communicated and described on ThePlan-ISHRemote-7.0.md. Furthermore some notable changes are

  • Encryption in flight - https - can now also go over Tls 1.3 while before releases only had Tls 1.0, 1.1 or 1.2 as options. 
  • Restored Parameter Completion in interactive mode. So with an active IshSession, you get Ctrl-Space parameter autocompletion on parameter -LovId or -Name.
  • Add-IshBackgroundTask fix regarding date time parsing incoming dates incorrectly swapping month/day
  • New-IshObfuscatedFile, New-IshDitaGeneralizedXml and Test-IshValidXml received updated xml catalog handling classes aligning with product 14SP4/14.0.4 code base.

Full release notes are on https://github.com/RWS/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-7.0.md and https://github.com/RWS/ISHRemote/releases/tag/v7.0

References

If you don't know what PowerShell or ISHRemote are about. Or don't know how to install it, then have a look at the videos and supporting blogposts on https://community.sdl.com/product-groups/sdl-tridion-dx/tridion-docs/b/weblog/posts/automating-tasks-in-sdl-tridion-docs-using-powershell

Have fun,
Dave