PowerShell - Set-RDMSession - WARNING: Access denied

PowerShell - Set-RDMSession - WARNING: Access denied

avatar

Ich erhalte mit Powershell bei folgendem Befehl die Fehlermeldung: "WARNING: Unable to save the entry; access denied!"

$session = New-RDMSession -Host "NeuerServer.domain.com" -Name "NeuerServer" -Group "Server" -Type RDPConfigured
$session.Description = "Beschreibung"
$session.UsesHardDrives = "False"
Set-RDMSessionCredentials -CredentialsType Inherited -PSConnection $session
Set-RDMSession -Session $session -Refresh -Verbose

Der ausführende User hat alle erforderlichen Rechte. Mit Get-RDMSession kann ich alle bestehenden Einträge auslesen. (d.H. ich bin richtigt verbunden)
Ebenfalls funktioniert der Zugriff und das Hinzufügen über die GUI ohne Probleme.
Hat jemand eine Idee woran das liegen könnte?

All Comments (7)

avatar

Hallo,

den Fehler erhältst du aufgrund von Zeile 4 - Set-RDMSessionCredentials kann nicht für eine Sitzung ausgeführt werden, die noch nicht existiert.

Folgender Befehl sollte funktionieren:

$session = New-RDMSession -Host "NeuerServer.domain.com" -Name "NeuerServer" -Group "Server" -Type RDPConfigured
$session.Description = "Beschreibung"
$session.UsesHardDrives = "False"
$session.CredentialConnectionId = "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF"
Set-RDMSession -Session $session -Refresh -Verbose


lg,
Min

avatar

Danke, das ist wohl ein allgemeiner Fehler im Script.
Erhalte aber immer noch die Meldung "WARNING: Unable to save the entry; access denied!"

Ich konnte das Problem mittlerweile eingrenzen.
Läuft das Script auf meinem Windows 10 Client funktioniert es.
Läuft es hingegen auf einem Server kommt dieser Fehler.
Gleicher User, gleiches Script, gleiche RDM Version

$RDMDBServer = "RDM.domain.local"
$RDMDBName = "RDM"
Import-Module "${env:ProgramFiles(x86)}\Devolutions\Remote Desktop Manager\RemoteDesktopManager.PowerShellModule.psd1"

# remove all existing datasources 
foreach ($datasource in Get-RDMDataSource){
  Remove-RDMDataSource -DataSource $datasource
}

# add new datasource
$s = New-RDMDataSource -SQLServer -Database $RDMDBName -IntegratedSecurity -Server $RDMDBServer -Name $RDMDBName -SetDatasource
Set-RDMDatasource $s

# connect to datasource
$datasouce = Get-RDMDataSource -name $RDMDBName
Set-RDMCurrentDataSource -DataSource $datasouce

$session = Get-RDMSession | where {$_.Name -eq 'ServerXY'}
$session.Description = "Fileserver"
Set-RDMSession -Session $session -Refresh

Ausgabe: WARNING: Unable to save the entry; access denied!

avatar

Hallo,

um den lokalen Cache der PowerShell zu aktualisieren, kannst du noch folgenden Befehl hinzufügen:

# connect to datasource
$datasouce = Get-RDMDataSource -name $RDMDBName
Set-RDMCurrentDataSource -DataSource $datasouce
Update-RDMUI

Du schreibst du verwendest den gleichen Benutzer - ist der Windows Benutzer am Client wirklich der selbe wie der am Server von dem du testet?
Ich frage deshalb weil du für die Datenquelle die Integrierte Sicherheit zur Anmeldung verwendest. Falls es sich um einen anderen Windows Benutzer handelt, würde es auch die Fehlermeldung erklären bzw. warum es am Client funktioniert, am Server jedoch nicht.

lg,
Min

avatar

Der User ist wirklich gleich.
Links Script auf Server, rechts Script auf Client.

Gibt es in RDM eine Möglichkeit das verhalten in einem Log (Debug o.ä.) zu analysiseren was hier genau passiert?


avatar

Hallo,

danke für den Screenshot! Liefert der Befehl Get-RDMSession auf dem Server ein Ergebnis zurück? Welche RDM Version verwendest du?

lg,
Min

avatar

Auf dem Server funktioniert bis auf Einfügen und Löschen alles.
Bekomme mit Get-RDMSession alle Einträge zurück.
Auch in der GUI kann ich normal arbeiten nur mit der Powershell bekomme ich eine Fehlermeldung.
Installiert auf Client und Server die Version 2020.1.20.0
Gibt es ein Log mit detailierten Informationen oder einen DEBUG Modus?

avatar

Hallo,

leider gibt es hierzu keine weiteren Log Dateien - in diesem Fall würde ich vorschlagen eine kurze E-Mail mit dem Verweis auf diesen Thread an ticket@devolutions.net zu senden - eventuell kann in einer Remotesitzung dieses Verhalten genauer analysiert bzw. behoben werden.

lg,
Min