Rest API v1 / includePasswords or includeSensitiveData
Hello.
Do you know if there is (perhaps) an update about this?
Thank you :)
Rest API v1 / includePasswords or includeSensitiveData
Hello,
Sorry for the 'late' reaction ;)
So, i'm running 2025.1.9.0. atm.
imagine: a rdp connection. has a credential which resides in a password list. when i query this rdp connection, i actually get the sensitive data from the rdp connection (out of the list)
when i query an uuid of a password list, i don't get the sensitive data.
if i could query password lists (and get the full dump of the sensitive data of that list, including the custom fields), i would be feature complete here :)
Any ETA on the update / minor version for password lists ?
Rest API v1 / includePasswords or includeSensitiveData
Really nice :) I will upgrade immediately when it's at GA :)
Rest API v1 / includePasswords or includeSensitiveData
we use RDP, Web, SSH.
In all cases, our objects have linked credentials to a password list. (multiple objects can use the same password, etc)
we also query "password lists" based on the object id. (all usernames / passwords / domain / host etc from this list in an array)
These are all our use cases :)
Rest API v1 / includePasswords or includeSensitiveData
I can live with january / febuary next year :) Thank you very much for this.
As far as i know, the Devolutions.Powershell module is the successor or the old RemoteDesktopManager module (right ?)
I view this module as a "remote desktop client, but in powershell". Way overpowered for what we need it for ;)
A heavy hitter, The importing of the module takes alot of resources. as well as connecting, and the junk / cache it leaves behind.
The old Devolutions-Server module on github, "isn't a RDM client", but rather a wrapper, which fetches connections and secrets from the (internal) DVLS api.
We do not "download" sessions, but rather, do small effective little queries to get only the data we need.
It doesn't require the whole DLL library etc,..
The old devolutions-Server module on github Is a whole other product compared with the current devolutions.powershell module.
Am i seeing this wrong then ? :)
But, it doesn't matter anyhow, anymore.
2025.1 solves this.
Thank you for this !
Rest API v1 / includePasswords or includeSensitiveData
Thank you.
This perhaps also might be of interest to you, but, there's also this module.
Devolutions/devolutions-server: Devolutions Server REST Services (github.com)
unfortunately, that module is deprecated.
we depend heavily on this module,..... you don't wanna know....
i am so, so afraid that at some point in time, some update, will brick this module.
Then we have to rely on the heavyweigth devolutions.powershell module
If we could "just" query all types of credentials from the api, without having to load the whole devolutions.powershell module, that would cover 99% of our usecase.
The above module can do it
the rest of the uses, we can do with the devolutions.powershell module.
Would it be possible, to (perhaps?), but it a bit higher on the agenda.
Im dying to rewrite our functions to use a supported API.
Rest API v1 / includePasswords or includeSensitiveData
We are using this for our devops environment,
we need credentials from live stuff from our devolutions database.
if one changes a password, they change it in devolutions, thus, changing it automatically in our devops pipeline.
every credential is 'gated' behind the devolutions application password / keys
every script we have, uses devolutions to gather the required credentials, to access authenticated resources.
Rest API v1 / includePasswords or includeSensitiveData
A serperate credential works indeed.
Will other entry types be added in the future to this endpoint ?
We never use serperate credentials etc :)
id : df8ba509-a301-48cf-ab8f-bbe311703291
name : test
description :
path : redacted
type : Credential
tags : {}
data : @{domain=; password=test2; username=test}
modifiedOn : 9/12/2024 8:31:26 AM
modifiedBy :
createdOn : 9/12/2024 8:31:26 AM
createdBy : AzureAD\redactedRest API v1 / includePasswords or includeSensitiveData
I'm running dlvs 2024.2.10.0
I don't know the status of the new api v1, but according to spec i should be able to retreive passwords and/or sensitive data.
My query looks like tihs:
I've tried this on several entries. like rdp connections, password lists, etc.
Every response i get, always the Data array is empty.
Should this work, or is this part not operational yet within the api?
I'd like to be able to query passwords from powershell 5.1 without relying on the outdated RDM powershell module
methods tested:
Invoke-RestMethod -uri $requrl -Headers $headers -Method Get
Invoke-WebRequest -uri $requrl -Headers $headers -Method Getresponse:
id : 6131f101-1424-40fd-87c4-d50c96e54b0f
name : TEST
description :
path : redacted\Windows Servers
type : RDPConfigured
subType :
tags : {redacted_id-1cae68e3-5ced-ec11-bb3d-00224886cc80}
data :
modifiedOn : 9/11/2024 7:23:14 AM
modifiedBy :
createdOn : 9/11/2024 7:23:14 AM
createdBy : AzureAD\redactedUpgraded to 2022.3.6: Unable to save the entry; access denied.
Nevermind. I was reading through this forumpost, and saw your comment about the old application key.
I created a new one, and with the new application key it works perfectly.
I think there's some bug in the bugfix for handling old application keys / licenses.
But, it works with the new key, so i don't mind ;)
Thank you !
Upgraded to 2022.3.6: Unable to save the entry; access denied.
The connection with 2022.3.1.3 works perfectly.
I do however still have issues with editting records, but, it's diffrent then with the older module.
I can now successfully edit / save one record.
after that, somehow the powershell module is in 'Limited mode', and is unable to save more session objects.
considering the output of get-rdmdiagnostic, my bet it has something to do with licensing...
This is my code and output:
I'm hoping i'm just missing something obvious ;)
import-module remotedesktopmanager -RequiredVersion 2022.3.1.3
get-module remotedesktopmanager
function Connect-RDMDataSource {
$ds = New-RDMDataSource -DVLS -Name 'mydps' -server $env:devolutions_dps_url -ScriptingApplicationPassword $env:devolutions_secret_password -ScriptingTenantID $env:devolutions_tenant_id -verbose
Set-RDMDataSource $ds -Verbose
Set-RDMCurrentDataSource $ds -Verbose
}
Connect-RDMDataSource
$sessions = get-rdmsession | where-object {$_.name -match 'TESTOBJECT'}
echo "Found sessions: $($sessions.count)"
echo "Diagnostic output before editting sessions"
Get-RDMDiagnostic
foreach ($session in $sessions) {
echo "processing session $($session.Name)"
$session.name = "$($session.Name)_Editted"
echo "editted session.name variable: $($session.Name)"
$session | Set-RDMSession -Refresh
echo ""
}
echo "Diagnostic output after editting sessions"
Get-RDMDiagnostic
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 2022.3.1.3 remotedesktopmanager {Add-HubGroupUser, Add-RDMPrivateSessionAttachment, Add-RDMRoleRepositoryAccess, Add-RDMRoleToUser...}
WARNING: This is the last major release supporting PowerShell 5.1. Starting with 2023.1, our PowerShell module will only support PS7.
Found sessions: 2
Diagnostic output before editting sessions
Serial :
LicenseType :
IsLicenseValid : False
IsLicenseExpired : True
processing session TESTOBJECT
editted session.name variable: TESTOBJECT_Editted
processing session TESTOBJECT2
editted session.name variable: TESTOBJECT2_Editted
WARNING: Not allowed in limited mode
Diagnostic output after editting sessions
Serial : <redacted.-here-was-our-valid-license-key>
LicenseType : None
IsLicenseValid : True
IsLicenseExpired : TrueUpgraded to 2022.3.6: Unable to save the entry; access denied.
Sorry, i missed the private message :)
I have posted you the output.
Upgraded to 2022.3.6: Unable to save the entry; access denied.
Unfortunately, 2022.3.1.2 also has this problem.
Is there any update on this matter ?
Thank you.
Upgraded to 2022.3.6: Unable to save the entry; access denied.
it's missing 1 line
this is the full output.
PS C:\Windows\system32>
function Connect-RDMDataSource {
$ds = New-RDMDataSource -DVLS -Name 'mydps' -server $env:devolutions_dps_url -ScriptingApplicationPassword $env:devolutions_secret_password -ScriptingTenantID $env:devolutions_tenant_id -verbose
Set-RDMDataSource $ds -Verbose
Set-RDMCurrentDataSource $ds -Verbose
}
Connect-RDMDataSource
$RDMSessions = Get-RDMSession
NullReferenceException - Object reference not set to an instance of an object.
at Devolutions.Server.ApiWrapper.RDMSWebClient.RunSynchronous[T](Task`1 task)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.<GetRoleSummaries>b__151_0()
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.RetryAction[T](ExecuteActionDelegate`1 action, String label)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.ExecuteAction[T](ExecuteActionDelegate`1 action, ExecuteActionLogMode logMode)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.ExecuteActionMultipleData[T](ExecuteActionDelegate`1 action)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.GetRoleSummaries()
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSSecuritySubDataSource.GetRolesSummaries()
at Devolutions.RemoteDesktopManager.Managers.RoleManager.GetAllRoles(Boolean getAllRoleInformation, Boolean useRecentCache)
at Devolutions.RemoteDesktopManager.Managers.RoleManager.ResolveRoles(String[] roleNameOrIds)
at Devolutions.RemoteDesktopManager.Managers.RoleManager.GetRoleNames(String[] roleIDs)
at Devolutions.RemoteDesktopManager.Managers.SecurityManager.LoadSecurity(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource(ConnectionEngine engine, Boolean hasChanged)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
NullReferenceException - Object reference not set to an instance of an object.
at Devolutions.Server.ApiWrapper.RDMSWebClient.RunSynchronous[T](Task`1 task)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.<GetRoleSummaries>b__151_0()
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.RetryAction[T](ExecuteActionDelegate`1 action, String label)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.ExecuteAction[T](ExecuteActionDelegate`1 action, ExecuteActionLogMode logMode)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.ExecuteActionMultipleData[T](ExecuteActionDelegate`1 action)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.GetRoleSummaries()
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSSecuritySubDataSource.GetRolesSummaries()
at Devolutions.RemoteDesktopManager.Managers.RoleManager.GetAllRoles(Boolean getAllRoleInformation, Boolean useRecentCache)
at Devolutions.RemoteDesktopManager.Managers.RoleManager.ResolveRoles(String[] roleNameOrIds)
at Devolutions.RemoteDesktopManager.Managers.RoleManager.GetRoleNames(String[] roleIDs)
at Devolutions.RemoteDesktopManager.Managers.SecurityManager.LoadSecurity(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource(ConnectionEngine engine, Boolean hasChanged)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
PS C:\Windows\system32> Upgraded to 2022.3.6: Unable to save the entry; access denied.
The new module doesn't allow me to connect to my DLVS
at Devolutions.Server.ApiWrapper.RDMSWebClient.RunSynchronous[T](Task`1 task)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.<GetRoleSummaries>b__151_0()
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.RetryAction[T](ExecuteActionDelegate`1 action, String label)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.ExecuteAction[T](ExecuteActionDelegate`1 action, ExecuteActionLogMode logMode)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.ExecuteActionMultipleData[T](ExecuteActionDelegate`1 action)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.GetRoleSummaries()
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSSecuritySubDataSource.GetRolesSummaries()
at Devolutions.RemoteDesktopManager.Managers.RoleManager.GetAllRoles(Boolean getAllRoleInformation, Boolean useRecentCache)
at Devolutions.RemoteDesktopManager.Managers.RoleManager.ResolveRoles(String[] roleNameOrIds)
at Devolutions.RemoteDesktopManager.Managers.RoleManager.GetRoleNames(String[] roleIDs)
at Devolutions.RemoteDesktopManager.Managers.SecurityManager.LoadSecurity(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource(ConnectionEngine engine, Boolean hasChanged)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
Get-RDMSession : Connection not found.
At line:170 char:16
+ $RDMSessions = Get-RDMSession
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-RDMSession], Exception
+ FullyQualifiedErrorId : 0,RemoteDesktopManager.PowerShellModule.GetRDMSessionCommandi'm using the following code to connect,.
function Connect-RDMDataSource {
$ds = New-RDMDataSource -DVLS -Name 'mydps' -server $env:devolutions_dps_url -ScriptingApplicationPassword $env:devolutions_secret_password -ScriptingTenantID $env:devolutions_tenant_id -verbose
Set-RDMDataSource $ds -Verbose
Set-RDMCurrentDataSource $ds -Verbose
}
Connect-RDMDataSourcefor now i reverted back to the previous module. there i can connect fine :) (but not edit records ;))
Upgraded to 2022.3.6: Unable to save the entry; access denied.
Server Version
2022.3.6.0
Database Version
817
Thank you :)
Upgraded to 2022.3.6: Unable to save the entry; access denied.
strange, there was a licensekey before. now it's empty
Serial LicenseType IsLicenseValid IsLicenseExpired
------ ----------- -------------- ----------------
False True
Upgraded to 2022.3.6: Unable to save the entry; access denied.
Unfortunately, yes, i still have the same problem.
Upgraded to 2022.3.6: Unable to save the entry; access denied.
I have already cleaned up all licenses :)
Upgraded to 2022.3.6: Unable to save the entry; access denied.
I think you are right.
Serial LicenseType IsLicenseValid IsLicenseExpired
------ ----------- -------------- ----------------
redacted None True True
Upgraded to 2022.3.6: Unable to save the entry; access denied.
Hello.
Since upgrading to 2022.3.6 (from 2022.2.something) i cannot edit entries anymore through our powershell scripts.
our application user has RDM administrator rights, and has all vaults assigned.
scripting access at application access / application is set to enabled, and default access checked.
also manually authenticating with my own (non application) user, which also has the highest permissions, has the same issue.
i can't figure out which obvious thing i'm missing
Consider the following code:
function Connect-RDMDataSource {
log "Connecting to Devolutions"
$ds = New-RDMDataSource -DVLS -Name 'mydps' -server $env:devolutions_dps_url -ScriptingApplicationPassword $env:devolutions_secret_password -ScriptingTenantID $env:devolutions_tenant_id -verbose
Set-RDMDataSource $ds -Verbose
Set-RDMCurrentDataSource $ds -Verbose
}
Connect-RDMDataSource
$sessions = get-rdmsession | where-object {$_.connectiontype -eq 'SSHShell'}
$count = 0
foreach ($s in $sessions) {
$count ++
echo "Changing SSH $($count) of $($sessions.count)"
$s.terminal.logpath = '$DEVOLUTIONSLOG$'
Set-RDMSession $s -Refresh -verbose
}output:
Changing SSH 1 of 579
WARNING: Unable to save the entry; access denied
Changing SSH 2 of 579
WARNING: Unable to save the entry; access denied
Changing SSH 3 of 579
WARNING: Unable to save the entry; access denied
Changing SSH 4 of 579
WARNING: Unable to save the entry; access deniedtested both on 5.1 and core 7.3
PS C:\Windows\system32> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.17763.2931
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.2931
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
PS C:\Windows\system32> get-module remotedesktopmanager
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 2022.3.1.0 RemoteDesktopManager {Add-HubGroupUser, Add-RDMPrivateSessionAttachment, Add-RDMRoleRepositoryAccess, Add-RDMRoleToUser...}
PS C:\Users\r.wesseling> $PSVersionTable
Name Value
---- -----
PSVersion 7.3.0
PSEdition Core
GitCommitId 7.3.0
OS Microsoft Windows 10.0.22621
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0Optimize Queries for performance.
With intelligent caching enabled, properties open up almost instantly. Thank you!
i'd say, an option "force refresh before copy username/password" but also "refresh on connect" would be a nice addition.
Optimize Queries for performance.
Hello, thank you for your answer :)
Our datasource is Devolutions server 2022.1.7.0
We have caching completely disabled, as per recommendation we had with a previous case.
basically, when alot of people change passwords, stuff doesn't work because people connect with old passwords, and also overwrite issues etc with password lists.
If you're wondering: it's case: 00002163
I have sent the profiler log :)
Thank you for your time :)
Optimize Queries for performance.
Good morning.
A little background:
We have 2 vaults.
The main one has around 3200 entries.
The second one has 55 entires.
More serperation of vaults is unfortunately not an option for us.
We are using SSH Tunnels with private key authentication (brilliant feature imo, especially multihopping)
We would need to create / copy those entries in every vault. When we cycle keys, that would mean alot of work.
We have enabled a feature called "Force refresh before edit entry".
Disabling this feature unfortunately is not an option, because multiple users work on objects, thus overwriting stuff of eachother.
In the vault of 3500, Every time we want to do right click / properties on a object (doesn't mater which one), we have to wait for like 15 seconds before we get the properties window presented.
The vault of 55 entries takes about 4 seconds (which still is a long time, considering 55 entries)
in short, it seems that Remote Desktop Manager, always, fetches the whole database, or, pushes the whole database when making edits.
Wouldn't it be a good idea to optimize queries. like, only fetching the data needed. Then people could have a million records, and performance still would be good. Options like "Force refresh before edit entry" wouldn't be needed then as well i think.
I can imagine that would be alot of work. Perhaps even start from scratch in some areas...
but, the usability of this product would increase by alot, and would scale alot better.
Connecting to DLVS with RemoteDesktopManager 2022.1.0.7
Hello,
Sorry for the late reaction.
I have tested it with 2022.1.1.0. and it works without any problems.
Thank you.