Set-DSEntityPermission

Synopsis

Sets the permissions on a given entity.

Syntax

__AllParameterSets

Set-DSEntityPermission [-EntityId] <guid> [[-Permissions] <PSPermissionWrapper[]>]
 [[-PermissionOverride] <SecurityRoleOverride>] [-OverrideExistingPermissions] [-AsLegacyResponse]
 [<CommonParameters>]

Description

Sets the permissions on a given entity (Vault, folder or entry).

Examples

Example 1

$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) } ) &gt; 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.

Example 2

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.

Example 3

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

Parameters

-AsLegacyResponse

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: ''

-EntityId

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: ''

-OverrideExistingPermissions

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: ''

-PermissionOverride

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 =&gt; Inherits the permissions from the parent groups. Custom =&gt; Lets you specify a custom value for each of the permission. Everyone =&gt; Same as Allowed in the UI. Grants all the permissions to everyone. Never =&gt; 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: ''

-Permissions

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: ''

CommonParameters

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.

Notes

For more information, type "Get-Help Set-DSEntityPermission -detailed". For technical information, type "Get-Help Set-DSEntityPermission -full".

Devolutions Forum logo Give us Feedback