> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell/powershell-commands/update-dsentrybase.md).

# Update-DSEntryBase

### Synopsis

Update an entry.

### Syntax

#### Value

```
Update-DSEntryBase [-JsonBody] <string> [-AsLegacyResponse] [<CommonParameters>]
```

#### RDMConnection

```
Update-DSEntryBase [-FromRDMConnection] <ConnectionInfoEntity> [-AsLegacyResponse]
 [<CommonParameters>]
```

### Description

Update an entry (Modified entry should be in jsonBody). Unless you know exactly what you are doing, you should probably use the CMDlets created by us to update entries.

### Examples

#### Example 1

```powershell
PS C:\> $credResponse = Get-DSEntry -EntryID $id
        $cred = $credResponse.data
        $cred.data.passwordItem | Add-Member -MemberType NoteProperty -Name SensitiveData -Value 'newPassword'
        Update-DSEntryBase -JsonBody (ConvertTo-Json -InputObject $cred -Depth 4)
```

An existing credential entry with an existing password is fetched. Its password is changed to 'newPassword' by adding a sensitive data property to passwordItem. The entry is converted in json with the requiered depth to avoid being flatten. The entry is updated afterwards.

#### Example 2

```powershell
PS C:\> $credResponse = Get-DSEntry -EntryID $id
        $cred = $credResponse.data
        $cred.data.passwordItem | Add-Member -MemberType NoteProperty -Name SensitiveData -Value 'newPassword'
        Update-DSEntryBase -JsonBody (ConvertTo-Json -InputObject $cred -Depth 4)
```

An existing credential entry with an existing password is fetched. Its password is changed to 'newPassword' by adding a sensitive data property to passwordItem. The entry is converted in json with the requiered depth to avoid being flatten. The entry is updated afterwards.

#### Example 3

```powershell
PS C:\> $entryID = '12345678-1234-1234-1234-123456781234'
PS C:\> $entry = Get-DSEntry -EntryID $entryID
PS C:\> $entry.data.vpn = @{                                                       
  application = [Devolutions.RemoteDesktopManager.VPNApplication]::DevolutionsGateway
  closeMode = [Devolutions.RemoteDesktopManager.VPNCloseMode]::OnDisconnect
  devolutionsGatewayID = '6ccf937c-7a98-4106-b951-815471ec649b'
  mode = [Devolutions.RemoteDesktopManager.VPNMode]::AlwaysConnect
  enableAutoDetectIsOnlineVPN = 2
}
PS C:\> Update-DSEntryBase -JsonBody (ConvertTo-Json -InputObject $entry -Depth 10)
```

Set the default Devolutions Gateway on the entry with the connect mode 'Always Connect' and the close mode 'On session close'

### 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.

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

#### -FromRDMConnection

Entry obtained from Get-DSEntry -AsRDMConnection. It can be used to update an entry

```yaml
Type: Devolutions.RemoteDesktopManager.Business.Entities.ConnectionInfoEntity
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: RDMConnection
  Position: 0
  IsRequired: true
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -JsonBody

Entry in JSON

```yaml
Type: System.String
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Value
  Position: 0
  IsRequired: true
  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](https://go.microsoft.com/fwlink/?LinkID=113216).

### Notes

For more information, type "Get-Help Update-DSEntryBase -detailed". For technical information, type "Get-Help Update-DSEntryBase -full".


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell/powershell-commands/update-dsentrybase.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
