Gettings started!

  1. Download & Install ServerEngine on your Windows Server with API (Requires a ServerEngine – Device License)
  2. Setup a the “User_Onboarding” package containing your personalized on-boarding process.
  3. On-boarding parameters are transferred from QUO (Personnel App) to ServerEngine (Automation)

Example PowerShell script (Active Directory)

The “xName, xGivenName, xSurname” entries and others, are variables provided by the QUO app. These variables must be used in the script, and their values are automatically assigned by the QUO app via API. And can be used in any script executed by ServerEngine but the package name must be “User_Onboarding“.

# Enable detailed debugging
$VerbosePreference = "Continue"
$ErrorActionPreference = "Stop"

try {
    Write-Verbose "Starting AD user creation process..."

    # Convert plain text password to SecureString
    Write-Verbose "Converting password to SecureString"
    $SecurePassword = ConvertTo-SecureString 'xAccountPassword' -AsPlainText -Force

    # Create new AD User
    Write-Verbose "Running New-ADUser..."
    New-ADUser `
        -Name 'xName' `
        -GivenName 'xGivenName' `
        -Surname 'xSurname' `
        -DisplayName 'xDisplayName' `
        -SamAccountName 'xSamAccountName' `
        -UserPrincipalName 'xUserPrincipalName' `
        -EmailAddress 'xEmailAddress' `
        -Description 'xDescription' `
        -Department 'xDepartment' `
        -Office 'xOffice' `
        -Company 'xCompany' `
        -Title 'xTitle' `
        -OfficePhone 'xPhone' `
        -StreetAddress 'xStreetAddress' `
        -City 'xCity' `
        -PostalCode 'xPostalCode' `
        -State 'xState' `
        -Country 'xCountry' `
        -Path 'xPath' `
        -AccountPassword $SecurePassword `
        -Enabled $true `
        -Verbose


    $groupList = 'xGroups'
    $groups = $groupList -split ','

    foreach ($group in $groups) {

        #Group name from QUO App is "VPN Access (Homeoffice)" and the AD Group is "GRP_VPN"
        if($group -like "VPN Access (Homeoffice)"){
            try {
                Add-ADGroupMember -Identity 'GRP_VPN' -Members 'xSamAccountName' -Verbose
            } catch {
                Write-Host "<WRITE-LOG = ""*Failed to add user to group $group*"">"
            }
        }

        if($group -like "Intranet Full-Access"){
            try {
                Add-ADGroupMember -Identity 'GRP_Intranet_FULL' -Members 'xSamAccountName' -Verbose
            } catch {
                Write-Host "<WRITE-LOG = ""*Failed to add user to group $group*"">"
            }
        }
    }

    Write-Host "<WRITE-LOG = ""*User Onboarding completed!*"">"
    Write-Host "<WRITE-LOG = ""*User created: xName*"">"
    Write-Host "<WRITE-LOG = ""*Email: xUserPrincipalName*"">"
    Write-Host "<WRITE-LOG = ""*Login: xSamAccountName*"">"
    Write-Host "<WRITE-LOG = ""*Password: xAccountPassword*"">"
    
} catch {
    Write-Error "AD User creation failed: $($_.Exception.Message)"
}