Version 1.0.0.
This is the initial version, please let us know about any bugs/features!
This HelloID Service Automation Powershell script generates a complete set of files including an "All-in-one Powershell script" for the provided self service product.
After configuring and running the "generate-all-in-one.ps1" script the following outcome will be automaticly generated.
File | Description |
All-in-one setup\createform.ps1 | An All-in-one PS script to generate (import) the complete Self service Product and required resources into you HelloID portal using API calls |
Manual resources\[task]_<task-name>.ps1 | Powershell task connected to Self service Product |
Manual resources\[task]_<task-name>.mapping.json | Variable mapping of Powershell task connected to Self service Product |
Manual resources\dynamicform.jsom | JSON form structure of the Dynamic form |
Manual resources\[datasource]_<datasource-name>.json | JSON data structure used for Static data sources (only) |
Manual resources\[datasource]_<datasource-name>.ps1 | Powershell script from Task Data source or Powershell data source |
Manual resources\[datasource]_<datasource-name>.model.json | Data source model definition |
Manual resources\[datasource]_<datasource-name>.inputs.json | Data source input configuration |
The PowerShell script "generate-all-in-one.ps1" contains a complete PowerShell script using the HelloID API to create an all-in-one script and exporting manual resource files (see table above). Please follow the steps below in order to setup and run the "generate-all-in-one.ps1" PowerShell script in your own environment.
- Download the "generate-all-in-one.ps1" file
- Open it in your favorite PowerShell console/editor
- Create a HelloID API key and secret
- Update the connection and configuration details in the script's header
- Run the script on a machine with PowerShell support and an internet connection
Variable name | Example value | Description |
$script:PortalBaseUrl | https://customer01.helloid.com | Your HelloID portal's URL |
$apiKey | ***** | API Key value of your own environment |
$apiSecret | ***** | API secret value of your own environment |
$selfserviceProductName | AD Account - Create | Name of the Self service Product you want to export |
$useManualSelfserviceProductCategories | $true | $true means use manual categories listed below. $false means receive current categories from Self service Product |
$manualSelfserviceProductCategories | @("Active Directory", "User Management") | Array of Self service Product categories to be connected to the newly generated Self service Product. Only unique names are supported. Categories will be created if they don't exists |
$defaultSelfserviceProductManagedByGroupName | "HID_administrators" | HelloID Group name to be connected as ManagedBy group. Only single value supported. Group name has to exist. |
$rootExportFolder | C:\HelloID\Selfservice Products | Local folder path for exporting files |
The generated all-in-one PowerShell script includes the following resources
- All used Global variables
- Based on variable name in used PowerShell scripts (Selfservice Products action, Task data source and Powershell data source)
- The current value is used when the global variable is not configured as secret
- All used data sources with the Dynamic Form
- Internal buildin HelloID data sources (for example HelloID Groups)
- Static data sources (including JSON data structure and model definition)
- Task data sources (including Powershell Task, model definition and data source inputs)
- Powershell data sources (including Powershell script, model definition and data source inputs)
- All used Powershell scripts
- Selfservice Products actions (including variable mapping). Currently not supporting PowerShell Templates
- Task data source Powershell Task
- Powershell data source script
- Dynamic form JSON data structure
- The data source references in the JSON data structure are dynamicly updated to your own environment
- Configured Managed By Group is assigned to the Self service Product
- Configured Categories are assigned to the Self service Product
- Manual configurated categories can be used or current categories connected to the referred Self service Product
- Categories are created if they don't exist in the target HelloID environment
- Only global variables of type "string" are supported
- Only script variable mappings of type "string" are supported
- Powershel script template (use template instead of inline Powershell script) is not supported
- Self service Product Managed By Groups are not exported but are hardcoded in the generated script (you need to update them manually)
The official HelloID documentation can be found at: https://docs.helloid.com/