Use PowerShell 7.x with Identity Manager

What is a one sentence summary of your feature request?

Use PowerShell 7.x with Identity Manager

Please describe your idea in detail. What is your problem, why do you feel this idea is the best solution, etc.

Use PowerShell runtime 7.X
The product forces us to use a legacy PowerShell runtime (5.X), which prevents us from using certain features in scripts.

How do you currently solve the challenges you have by not having this feature?

For example, using the \?\ prefix to handle long paths in home directories.
One possible solution is to encapsulate the code block that needs to work with very long paths in a separate script, and call this script with PowerShell 7.1, for example.

3 Likes

I absolutely concur. PowerShell 5 has shown its limitations in many scenarios, e.g. REST APIs compatibility issues.

Since APIs are the de facto standard for inter-application communication, and Identity Manager heavily relies on PowerShell to interact with external systems (through custom connectors), supporting PowerShell 7 would enhance both the solution’s integration capabilities and its alignment with modern development practices.

Furthermore, while this migration is a technical challenge, PowerShell 7 has built-in compatibility features that would safeguard existing functionality with legacy systems.

Conceptually, invoking PS5 for exceptional legacy scenarios from a PS7 makes far more sense than the opposite - remaining constrained by PS5 limitations and continuously spawn PS7 processes as workarounds.

It would be really nice to see a feature that lets us select which PowerShell runtime to use for script exectution (either globally, or even better, on the InvokeExpression XML configuration).

Thanks

4 Likes

Thanks for the idea submission. We are running some tests and will let you know when this can be implemented.

1 Like

Hello Glenan,

Powershell 5 is the default Powershell version shipped in any recent Windows installation, for obvious compatibility reasons (just like the CMD.exe prompt for example). Powershell 6 and higher being different versions of Powershell that needs to be installed voluntarily together with version 5, we can’t be sure that they have been. That being said, it therefore seems logical for NIM to use the default version that we know is installed systematically.

Now, while I obviously agree that it would be nice to have an option to chose which version to use (which needs to be studied by the product team), the use of Powershell 5 has not, to date or as far has we know, caused any critical issues preventing interaction with other systems. Furthermore, contrary to what is stated in the opened idea, the long path prefix “\\?\” seems to be available and usable in Powershell 5, so it looks like it might be a usage issue here.

Best regards

1 Like