Skip to content

Instantly share code, notes, and snippets.

@Nillth
Created June 21, 2023 05:44
Show Gist options
  • Save Nillth/ff58612dbab879e1e48d3b07f9a95344 to your computer and use it in GitHub Desktop.
Save Nillth/ff58612dbab879e1e48d3b07f9a95344 to your computer and use it in GitHub Desktop.
$UserEmail = 'Test@nillth.net'
$Roles = .\qlik.exe role ls|ConvertFrom-Json
$UserObjs = .\qlik.exe user ls --filter "email eq \`"$($UserEmail)\`""|ConvertFrom-Json
$RoleTenantAdmin = $Roles|?{$_.name -eq "TenantAdmin"}
foreach($UserObj in $UserObjs){
[System.Collections.Generic.List[string]]$RoleIDs = $UserObj.assignedRoles|%{$_.id}
if (!$RoleIDs.Contains($RoleTenantAdmin.id)){
$RoleIDs.Add($RoleTenantAdmin.id)
$UpdateBody = ConvertTo-Json -Compress -Depth 5 -InputObject @(
[ordered]@{op = "replace"
path = "/assignedRoles"
value = @(
$($RoleIDs|%{@{id=$_}})
)
}
)
.\qlik.exe user patch $UserObj.id --body ($UpdateBody|ConvertTo-Json) -v
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment