Skip to content

Latest commit

 

History

History
91 lines (79 loc) · 6.27 KB

File metadata and controls

91 lines (79 loc) · 6.27 KB

HelloID-Conn-SA-Source-HelloID-SelfserviceProducts

Version

Version 1.0.0.

This is the initial version, please let us know about any bugs/features!

Description

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.

Table of Contents

Script outcome

After configuring and running the "generate-all-in-one.ps1" script the following outcome will be automaticly generated.

FileDescription
All-in-one setup\createform.ps1An 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>.ps1Powershell task connected to Self service Product
Manual resources\[task]_<task-name>.mapping.jsonVariable mapping of Powershell task connected to Self service Product
Manual resources\dynamicform.jsomJSON form structure of the Dynamic form
Manual resources\[datasource]_<datasource-name>.jsonJSON data structure used for Static data sources (only)
Manual resources\[datasource]_<datasource-name>.ps1Powershell script from Task Data source or Powershell data source
Manual resources\[datasource]_<datasource-name>.model.jsonData source model definition
Manual resources\[datasource]_<datasource-name>.inputs.jsonData source input configuration

PowerShell setup script

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.

  1. Download the "generate-all-in-one.ps1" file
  2. Open it in your favorite PowerShell console/editor
  3. Create a HelloID API key and secret
  4. Update the connection and configuration details in the script's header
  5. Run the script on a machine with PowerShell support and an internet connection

Update connection and configuration details

Variable nameExample valueDescription
$script:PortalBaseUrlhttps://customer01.helloid.comYour HelloID portal's URL
$apiKey*****API Key value of your own environment
$apiSecret*****API secret value of your own environment
$selfserviceProductNameAD Account - CreateName 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.
$rootExportFolderC:\HelloID\Selfservice ProductsLocal folder path for exporting files

What is included?

The generated all-in-one PowerShell script includes the following resources

  1. 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
  2. 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)
  3. All used Powershell scripts
    • Selfservice Products actions (including variable mapping). Currently not supporting PowerShell Templates
    • Task data source Powershell Task
    • Powershell data source script
  4. Dynamic form JSON data structure
    • The data source references in the JSON data structure are dynamicly updated to your own environment
  5. Configured Managed By Group is assigned to the Self service Product
  6. 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

Known limitations

  • 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)

HelloID Docs

The official HelloID documentation can be found at: https://docs.helloid.com/