Sets the permissions on a given entity.
Set-DSEntityPermission [-EntityId] <guid> [[-Permissions] <PSPermissionWrapper[]>]
[[-PermissionOverride] <SecurityRoleOverride>] [-OverrideExistingPermissions] [-AsLegacyResponse]
[<CommonParameters>]
Sets the permissions on a given entity (Vault, folder or entry).
$Permissions = @( [Devolutions.RemoteDesktopManager.Business.ConnectionPermission]@{ Override = [Devolutions.RemoteDesktopManager.SecurityRoleOverride]::Custom Right = [Devolutions.RemoteDesktopManager.SecurityRoleRight]::View Roles = @($UserId1, $UserId2, $RoleId1) }, [Devolutions.RemoteDesktopManager.Business.ConnectionPermission]@{ Override = [Devolutions.RemoteDesktopManager.SecurityRoleOverride]::Inherited Right = [Devolutions.RemoteDesktopManager.SecurityRoleRight]::Edit Roles = @($UserId1, $UserId2, $RoleId1) } ) > Set-DSEntityPermissions -EntityId $ID -Permissions $Permissions
To override already existing permissions, please use the 'OverrideExistingPermissions' switch parameter. - When using this CMDlet, your entity's override mode will default to 'Custom'. Use the 'PermissionOverride' parameter if you wish to set it to anything else.
PS C:\> Set-DSEntityPermissions -EntityId $ID -PermissionOverride 'Default'
For the entry whose ID is stored in $ID, all its permissions will be inherited from the parent.
PS C:\> $userIDs = Get-DSUser | Where Name -like *something* | Select -ExpandProperty ID
$permission = New-DSEntityPermission -Override CustomInherited -Right Edit -ID $userIDs
Set-DSEntityPermission -EntityID $entryID -Permissions $permission
Add users whose name contains 'something' to the inherited users who canedit the entry whose ID is stored in $entryID
In versions prior to 2024.2, many DS cmdlets returned a ServerResponse object. Enabling this backward compatibility switch allows scripts developed for earlier versions to function correctly.
Type: System.Management.Automation.SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: Named
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
ID of the entity for which you want to change the permissions
Type: System.Guid
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 0
IsRequired: true
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
Override existing permissions. Without this parameter, all exisiting custom permissions won't be overwritten by those specified with the parameter Permissions.
Type: System.Management.Automation.SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 3
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
Determines the permissions for the entry. If not specified and the parameter Permissions is used, it will be set to 'Custom'. Four options are available Default => Inherits the permissions from the parent groups. Custom => Lets you specify a custom value for each of the permission. Everyone => Same as Allowed in the UI. Grants all the permissions to everyone. Never => Same as Disallowed in the UI. Grants the permission to no one but the administrators.
Type: Devolutions.RemoteDesktopManager.SecurityRoleOverride
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 2
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
Permission object. The object can be created from New-DSEntityPermission or directly from the type [Devolutions.RemoteDesktopManager.Business.ConnectionPermission].
Type: RemoteDesktopManager.PowerShellModule.PSOutputObject.PSWrapper.PSPermissionWrapper[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 1
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
For more information, type "Get-Help Set-DSEntityPermission -detailed". For technical information, type "Get-Help Set-DSEntityPermission -full".