Set-DSEntityPermission

    2025-01-30

    Set-DSEntityPermission

    SYNOPSIS

    Sets the permissions on a given entity.

    SYNTAX

    __AllParameterSets

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

    ALIASES

    This cmdlet has the following aliases,

    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) } ) > 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
    ParameterValue: []
    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
    ParameterValue: []
    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
    ParameterValue: []
    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 => 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
    ParameterValue: []
    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
    ParameterValue: []
    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.

    INPUTS

    OUTPUTS

    RemoteDesktopManager.PowerShellModule.Private.ServerResponse

    NOTES

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