(user deleted)
VSCode and RDM Module
Cool. If you want me to tinker as well, let me know. Anything I can do to help.
VSCode and RDM Module
Awesome. So you'll take it from here? :-)
VSCode and RDM Module
You have to remember, when running VSCode you aren't running really PowerShell.exe but rather you are using the PowerShell extension.
Note the version:
I think this is your issue. You don't know how to use the PowerShell extension within VSCode. Can you try?
https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell
Seems there is a different how the extension works from within VSCode between PWSH and POWERSHELL when you look at this line:
Console.WriteLine(String.Format("Host Version: {0}", UIManager.PSHost.Version));
VSCode and RDM Module
With debugs (although not sure how much this added):
PS C:\> Get-RDMDataSource
Host Version: 2021.9.0
Exception occured: System.Data.SqlClient is not supported on this platform.
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
Exception occured: System.Data.SqlClient is not supported on this platform.
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
Exception occured: System.Data.SqlClient is not supported on this platform.
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
ID : f1d46d1a-7ff5-4cbf-a5a9-86162babd9da
IsConnected : False
IsOffline : False
Name : Local Data Source
Type : SQLite
ID : f62f390f-b674-48fe-8cdd-4dadb14d29f0
IsConnected : False
IsOffline : False
Name : RDM
Type : SQLServer
VSCode and RDM Module
I see in the code you are referencing version 4.6.1.2, but the DLL is 4.7.
What version do you have in your module folder?
Can you try updating the NuGet: https://www.nuget.org/packages/System.Data.SqlClient/?
If you want to give me a debug version, and/or have a session I'd be happy to help.
VSCode and RDM Module
Alexandre Bélisle above said he was able to repro. Are you?
I can repro on Server 2019 and Windows 10 21H1. Can you use Fusion debugging to see the reference issue?
VSCode and RDM Module
I see you guys release version 20 yesterday. is there a Change Log to see what is modified? Is the code on Git as well?
VSCode and RDM Module
PS C:\> Get-RDMInstance
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
ApplicationVersion OptionFilename
------------------ --------------
2021.2.0.19 C:\Users\me\AppData\Roaming\Devolutions\RemoteDesktopManager\RemoteDesktopManager.cfg
VSCode and RDM Module
That's nice, but unfortunately, there are modules which don't work in PowerShell 7. If i can refresh your memory, until VERY recently, neither did you. :-(
Therefore we need PS 5.1 ..unfortunately.
VSCode and RDM Module
We are using the latest version of VSCode (1.61.0) and the latest RDM Module: 2021.2.0.19 and PowerShell 5.1 and RDM 2021.2.15.0 64-bit
When running the command Get-RDMDataSource from within VSCode I get the following error:
PS C:\> Get-RDMDataSource
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
PlatformNotSupportedException - System.Data.SqlClient is not supported on this platform.
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor()
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.BuildIntegratedSecurityConnectionString()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection(Boolean master, Nullable`1 connectTimeout)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.ExecuteScalar[T](String sql, IDbDataParameter[] parameters)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.HasSecurityChanged()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.HasSecurityChanged(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
ID : 31e90994-ea0b-4584-89c7-1975aaef64b0
IsConnected : False
IsOffline : False
Name : Local Data Source
Type : SQLite
ID : 14038d39-315b-47c9-b7e9-c0dc17e3a357
IsConnected : False
IsOffline : False
Name : RDM
Type : SQLServer
Forcing a password template
We're using SQL Server, but I wouldn't want to upgrade until the production release is out.
Forcing a password template
>>RDM 2021.1.0.0, which is planned to release early next year.
any news when the release will be out?
Forcing a password template
Yeah, if you can please let us know when it gets fixed and it which version, thanks!
Forcing a password template
OK, thanks, that makes sense. I tested and indeed a regular user cannot override.
Forcing a password template
I think that would make sense.
I will explain the use case:
Admins want to enforce password complexity
Once in a while, there are some apps that can't take complex passwords, so as a one-time exception, we want to allow the exception
Forcing a password template
Meaning that if my user has the edit permissions to edit the password, he can circumvent the requirement? If so, then how is worth anything?
Forcing a password template
Is there any way via permissions to prevent a standard user from selecting a different template? Otherwise, it seems to contradict the requirement?
Forcing a password template
Thanks!
Forcing a password template
When trying to force a password template from within RDM, is there a way to allow exceptions on a specific folder?
https://help.remotedesktopmanager.com/file_template_passwordtemplates.html
For example, sometimes we have apps which do now allow a certain combination, which we want to to specifically as a one-time exception exclude?
RDM for Linux
I see you guys released RDM for Linux. Good job!
Is there a way to use the software without a GUI, only via a shell?
If so, how do you install it?
Is there PowerShell/API integration of sorts, like with the windows GUI?
Weekly Scripted Export/Backup
Is there a way to export to CSV/XML where the passwords are clear-text?
I see that even if I use the options
$sessions | export-csv c:\temp\sessions.csv
or
Export-RDMSession -Path $ExportFileName -Sessions $sessions -XML -IncludeCredentials (with no passwords)
The passwords in the CSV don't exist, and in the XML they are encrypted.
Export Automatically / Script
Is there a way within RDM to automatically export all entries to CSV/XML etc.
https://help.remotedesktopmanager.com/file_export.html
Like via a Scheduled Task / script?
PowerShell 7.0
Just another update - I was able to retrieve a password using the Get-RDMSession command (I didn't need to Set the DataSource).
Also the Update-RDMUI command worked. I guess some commands work, others don't.
Python API
I know that. The question is can we use Python to interact with Remote Desktop Manager, not the Devolutions Password Server
PowerShell 7.0
I was able to get it working using the switch:
Import-Module -UseWindowsPowerShell "C:\Program Files (x86)\Devolutions\Remote Desktop Manager\RemoteDesktopManager.PowerShellModule.psd1"
See here:
For Windows, a new switch parameter UseWindowsPowerShell is added to Import-Module. This switch creates a proxy module in PowerShell 7 that uses a local Windows PowerShell process to implicitly run any cmdlets contained in that module. For more information on Import-Module.
But that only helps for dataset retrieval. After I failed:
PS C:\> Set-RDMCurrentDataSource -DataSource $RDMDS
Set-RDMCurrentDataSource: Cannot bind parameter 'DataSource'. Cannot convert the "RemoteDesktopManager.PowerShellModule.PSOutputObject.PSDataSource" value of type "Deserialized.RemoteDesktopManager.PowerShellModule.PSOutputObject.PSDataSource" to type "RemoteDesktopManager.PowerShellModule.PSOutputObject.PSDataSource".