Public/Add-RoleToUser.ps1
# Code generated from specification version 1.0.0: DO NOT EDIT Function Add-RoleToUser { <# .SYNOPSIS Add role to a user .EXAMPLE PS> Add-RoleToUser -User $User.id -Role "ROLE_ALARM_READ" Add a role (ROLE_ALARM_READ) to a user .EXAMPLE PS> Add-RoleToUser -User "customUser_*" -Role "*ALARM_*" Add a role to a user using wildcards .EXAMPLE PS> Get-RoleCollection -PageSize 100 | Where-Object Name -like "*ALARM*" | Add-RoleToUser -User "customUser_*" Add a role to a user using wildcards (using pipeline) #> [cmdletbinding(SupportsShouldProcess = $true, PositionalBinding=$true, HelpUri='', ConfirmImpact = 'High')] [Alias()] [OutputType([object])] Param( # Tenant [Parameter()] [object] $Tenant, # User prefix or full username (required) [Parameter(Mandatory = $true)] [object[]] $User, # User role id [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [object[]] $Role, # Include raw response including pagination information [Parameter()] [switch] $Raw, # Outputfile [Parameter()] [string] $OutputFile, # NoProxy [Parameter()] [switch] $NoProxy, # Session path [Parameter()] [string] $Session, # TimeoutSec timeout in seconds before a request will be aborted [Parameter()] [double] $TimeoutSec, # Don't prompt for confirmation [Parameter()] [switch] $Force ) Begin { $Parameters = @{} if ($PSBoundParameters.ContainsKey("Tenant")) { $Parameters["tenant"] = $Tenant } if ($PSBoundParameters.ContainsKey("User")) { $Parameters["user"] = $User } if ($PSBoundParameters.ContainsKey("OutputFile")) { $Parameters["outputFile"] = $OutputFile } if ($PSBoundParameters.ContainsKey("NoProxy")) { $Parameters["noProxy"] = $NoProxy } if ($PSBoundParameters.ContainsKey("Session")) { $Parameters["session"] = $Session } if ($PSBoundParameters.ContainsKey("TimeoutSec")) { $Parameters["timeout"] = $TimeoutSec * 1000 } } Process { $Parameters["role"] = PSc8y\Expand-Id $Role if (!$Force -and !$WhatIfPreference -and !$PSCmdlet.ShouldProcess( (PSc8y\Get-C8ySessionProperty -Name "tenant"), (Format-ConfirmationMessage -Name $PSCmdlet.MyInvocation.InvocationName -InputObject $item) )) { continue } Invoke-Command ` -Noun "userRoles" ` -Verb "addRoleTouser" ` -Parameters $Parameters ` -Type "application/vnd.com.nsn.cumulocity.roleReference+json" ` -ItemType "" ` -ResultProperty "" ` -Raw:$Raw ` -IncludeAll:$IncludeAll } End {} } |