Share via

Activating REST Api for HPC2016

ZoliSz 1 Reputation point
2022-03-17T07:49:28.407+00:00

Hi Everyone,

I am trying to activate REST API functionality for Microsoft HPC 2016.

This should be done by activating HpcWebComponents. I was following the guide for this: https://learn.microsoft.com/en-us/powershell/high-performance-computing/install-the-microsoft-hpc-pack-web-components?view=hpc16-ps This is an on-prem deployment, not Azure.

The issue I am facing is that I do not have the powershell script - Set-HPCWebComponents.ps1- which should activate this feature on the headnode.
If I am correct it should be under %HPC_HOME%\bin\, which for me is C:\Program Files\Microsoft HPC Pack 2016\Bin , but it is not there (however other ps install scripts are found here, like Set-HPCWebPortal.ps1).

The msi installation program (HpcWebComponents.msi) was already installed on my deployment. I also tried reinstalling this msi, and it did not fix the issue, the ps script is still not found.

Any suggestions or ideas?

Thanks in advance,
Zoltan

Azure Virtual Machines
Azure Virtual Machines

An Azure service that is used to provision Windows and Linux virtual machines.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Amira Bedhiafi 42,941 Reputation points MVP Volunteer Moderator
    2025-04-16T17:11:41.1433333+00:00

    Hi Zoltan,

    Thank you for posting on Microsoft Learn.

    Sometimes the script might land in a subdirectory unexpectedly. Try running this command to search your entire HPC install directory:

    Get-ChildItem -Path "C:\Program Files\Microsoft HPC Pack 2016\" -Recurse -Filter "Set-HPCWebComponents.ps1"
    

    The script isn't publicly hosted as a standalone file, but some versions of the HPC Pack Web Components include the script in the install resources. If it's truly missing, you might try:

    • Looking for the installer extracted contents in your TEMP directory after running the .msi.

    Or extracting the .msi manually using a tool like lessmsi or 7-Zip to check if the script is embedded in the package.

    If Set-HPCWebPortal.ps1 exists, it's often nearly identical in structure to Set-HPCWebComponents.ps1, with only the enabled features differing. Try opening that file and inspecting it if it loads IIS roles and configures web bindings, you may be able to clone it and modify it for Web Components activation (assuming you're comfortable with PowerShell/IIS config).

    You can manually enable the REST endpoint by configuring IIS and HPC services:

    Open IIS Manager on the Head Node.

    Check if a “HpcWebComponents” site/application exists and if it does you need to verify if it's started and then confirm bindings on the expected port (usually 443 or 80).

    If not, you can create a new Application under Default Web Site pointing to:

    C:\Program Files\Microsoft HPC Pack 2016\Bin\HpcWebComponents
    

    In PowerShell, you can register the module if needed:

    Import-Module "C:\Program Files\Microsoft HPC Pack 2016\Bin\HpcWebComponents.dll"
    

    Last resort, since HPC Pack 2016 is a mature, but legacy product, it's possible the script was unintentionally excluded in some MSI versions. Microsoft support might be able to provide the missing script.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.