π― What's New in v1.0.24
Documentation
Cmdlet Help β .OUTPUTS Accuracy Improvements
The .OUTPUTS section of every cmdlet has been audited and corrected. Several cmdlets had wrong type names, missing alternate return types (e.g. the -Async job object or the -ScheduleTime schedule object), or an inaccurate property list. Get-Help <cmdlet> now reliably reflects every object type a cmdlet can return, regardless of which parameters are used. This benefits script authors, IDE tooling, and documentation generators that rely on help metadata.
Non-Production Environment Support (Pavo)
The module now supports HPE's internal pre-production GreenLake environment (Pavo). This enables automation engineers who need to develop or validate scripts against Pavo to run the exact same cmdlets without any code changes.
To connect to Pavo, set the $env:HPE_COMMON_CLOUD_URL environment variable to https://pavo.common.cloud.hpe.com before calling Connect-HPEGL. All API endpoints, authentication settings, and region configuration are then automatically derived from that environment β no additional parameters are required.
The following areas have been updated to work correctly with Pavo:
-
Disconnect-HPEGLβ Pavo uses a different SSO provider than production. The disconnect operation now completes cleanly and the session is always fully terminated. -
Get-HPEGLUserAccountDetailsβ The cmdlet now correctly targets the Pavo OnePass instance when connected to Pavo, instead of the production service.
Bug Fixes
-
Add-HPEGLDeviceTagToDevice,Remove-HPEGLDeviceTagFromDevice,Set-HPEGLDeviceLocation,Remove-HPEGLDeviceLocation,Set-HPEGLDeviceServiceDeliveryContact,Remove-HPEGLDeviceServiceDeliveryContactβ-WhatIfproduced no output β Passing-WhatIfto any of these six cmdlets displayed nothing. Fixed:-WhatIfnow correctly simulates and displays the API request that would be sent. -
Connect-HPEGLerror message for transient server errors β A 500 response from the GreenLake API token endpoint was surfaced as raw JSON ({"error": "server_error"}). Fixed by wrapping retry-exhaustion failures in a descriptive error message that includes the HTTP status code and advises retrying. -
Connect-HPEGLtransient HTML response during authentication β On first call, the HPE identity service occasionally returns an HTML error page where a JSON response is expected, causing the cmdlet to fail with a JSON parse error (Unexpected character '<'). Fixed: the error is now detected as a known transient condition, the cmdlet automatically retries once after a 1-second delay, and emits an informational message. A second attempt is no longer required. -
Connect-HPEGLβ SSO identity provider metadata now stored in session β After a successful SSO authentication, the$Global:HPEGreenLakeSessionobject is now populated with two new fields:idpβ the identity provider URL (e.g.https://sts.windows.net/<tenant-id>for Entra ID,https://<company>.okta.comfor Okta).idpTypeβ the identity provider type string:EntraID,Okta, orPingIdentity.
Both fields are
$nullfor non-SSO (username/password) authentication. They are derived from the OAuth2displayparameter in the SSO redirect chain and require no user configuration. -
Get-HPEGLUserAccountDetails,Set-HPEGLUserAccountDetails,Set-HPEGLUserAccountPasswordβ raw OnePass error payload for federated users β When called for an account managed by a federated identity provider (Okta, Entra ID, PingIdentity), these cmdlets returned a raw404payload with the internal error codeaccessToken_not_matches_with_userId. Fixed: the error is now caught and replaced with a clear warning that identifies the detected identity provider (using the newidp/idpTypesession fields) and directs the user to their company IdP to manage account settings or change their password.
Save-HPEGLSession / Restore-HPEGLSession β Multiple session-switching bugs fixed
Several bugs affecting workspace session save/restore were discovered and fixed:
-
Clone()lost after restore βSave-HPEGLSessionfailed with "does not contain a method named 'Clone'" after aRestore-HPEGLSessioncall. Fixed: the method is now reliably re-attached on every restore. -
Full reconnect instead of fast token refresh β After restoring a session, the next workspace operation triggered a full 7-step reconnect instead of a lightweight token refresh. Fixed: token refresh now correctly identifies the restored session's credentials.
-
Credentials cleared but never recreated β In a specific error-recovery path, credential tokens were cleared but not rebuilt, causing the subsequent reconnect attempt to silently skip credential creation. Fixed: the recovery path now always recreates credentials.
-
"Refresh token is no longer valid" after several restores β The OAuth2 refresh token was rotated on every reconnect even when the existing token was still valid, invalidating all other saved sessions. Fixed: rotation is now skipped when the token has sufficient remaining lifetime.
-
COM regions not updated after
Restore-HPEGLSessionβ After restoring a session, Compute Ops Management cmdlets could still use the previous workspace's region list. Fixed: the region list is now saved alongside the session and restored with it. -
Restore-HPEGLSessionincorrectly blocked afterRemove-HPEGLWorkspaceβ Removing a workspace clears the active session, which was mistakenly interpreted as an explicit disconnect, blocking any subsequent restore. Fixed: restore is now only blocked after an explicitDisconnect-HPEGLcall. -
Session corruption when switching workspaces after restore β After restoring a session and switching to another workspace, the saved-session variable could be silently corrupted, causing future restores to refresh the wrong workspace's tokens. Fixed: the restore operation now works on an independent copy of the session object. Additionally, refreshed tokens are automatically synced back to the saved-session variable after each restore, so
Save-HPEGLSessionno longer needs to be called after everyRestore-HPEGLSessioncall. -
New-HPECOMServerActivationKeyβ crypticJWT verification failederror when no subscription is available β When called with no-SubscriptionKeyparameter and no valid server subscription existed in the workspace, the COM API returned the completely unrelated errorJWT verification failed, Token issuer is not trusted. Fixed: a pre-flight check now verifies that at least one valid server subscription with available quantity exists before making the API call. If none is found, a clear actionable error message is returned listing the steps to add a subscription key or enable auto-subscription.
All COM Cmdlets β Misleading Error When COM Is Not Provisioned
When a COM cmdlet was called with an unprovisioned -Region value, all COM modules produced the misleading error "No active HPE GreenLake session found" β even when the user was fully authenticated. The root cause was a single combined condition checking both session existence and provisioned regions simultaneously.
Fixed: the two checks are now separate. If the session is missing, the original message is shown; if the session exists but Compute Ops Management is not provisioned in the workspace, the user now receives a clear, actionable message directing them to Get-HPEGLService -Name 'Compute Ops Management' -ShowProvisioned.
Installation
Install-Module -Name HPECOMCmdlets -RequiredVersion 1.0.24Or update from a previous version:
Update-Module -Name HPECOMCmdlets