Closed martencassel closed 4 years ago
If i'm not mistaken, The web UI seems to use /odata/Folders/UiPath.Server.Configuration.OData.AssignUsers to achieve this.
Oh Add-UiPathFolderUserRoles !
Function Remove-UserFromFolderRole($Token, $UserEmail, $UiPathFolderName, $UiPathRoleName, $Tenant, $Env)
{
$UiPathFolder = Get-UiPathFolder -AuthToken $Token -DisplayName $UiPathFolderName
$FolderUsers = Get-UiPathFolderUsers -Id $UiPathFolder.Id -AuthToken $Token
$UiPathRole = Get-UiPathRole -AuthToken $Token -Name $UiPathRoleName
$FolderUsers = Get-UiPathFolderUsers -Id $UiPathFolder.Id -AuthToken $Token
$FolderUser = $FolderUsers|Where { $_.UserEntity.UserName -eq $UserEmail }
$NotRole = $FolderUser.Roles|Where { $_.Id -ne $UiPathRole.Id}
$RolesToKeep = @()
foreach($Role in $NotRole) {
$RolesToKeep += $Role.Id
}
Add-UiPathFolderUserRoles -Id $UiPathFolder.Id -AuthToken $Token -UserIds $UiPathUser.Id -RoleIds $RolesToKeep
}
In order to remove a specific user role from a folder the same command Add-UiPathFolderUserRoles
should be used with the roles to keep as parameter.The endpoint will remove the roles which were previously added and are not passed as parameter anymore.
We use Modern Folders in orchestrator 2019.10.15, where users have multiple roles for folders in the tenant. When we provision these roles we use the command "Add-UiPathFolderUserRoles " We would like to remove this role using a powershell command.
Example:
We have a user "John Doe" with two roles Business User + Business Runner to a modern folder named "TAX" in our tenant Default. We would like to remove the Business Runner role from the TAX folder, and keep the other role Business User.