Script Powershell - Backup RDM - DllNotFoundException - Unable to load DLL 'SQLite.Interop.dll'

Script Powershell - Backup RDM - DllNotFoundException - Unable to load DLL 'SQLite.Interop.dll'

avatar

Bonjour,

Je suis entrain d'écrire un script pour sauvegarder une base RDM utilisant SQLite, cependant, lors du passage de la commande "export-rdmsession" l'erreur Powershell survient systématiquement :

DllNotFoundException - Unable to load DLL 'SQLite.Interop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Le fichier DLL mentionné dans le message d'erreur est bien présent dans le dossier d'installation RDM mais Powershell ne semble pas capable de le lire/trouver.

Savez-vous comment contourner cette erreur, comme "charger" la DLL dans Powershell, ou ajouter des paramètres spécifique pour permettre l'export ?

Ci-dessous le code utilisé :

$RDMConfigFileLocation = "C:\** REDACTED FOR PRIVACY **\RemoteDesktopManager.cfg"                   # Fichier de configuration RDM
$RemoteDesktopManagerExecutablePath = "C:\Program Files\Devolutions\Remote Desktop Manager\RemoteDesktopManager.exe"      # Fichier .exe Remote Desktop Manager
$RDMDataSourceName = "** REDACTED FOR PRIVACY **"                                   # Nom de la source de données RDM
$LocalSavePath = "C:\** REDACTED FOR PRIVACY **\RDM_Backups\"                                   # Répertoire de sauvegarde RDM local

$exitcode = 0

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (!(Get-Module -ListAvailable -Name RemoteDesktopManager)) {
    Set-PSRepository -Name 'PSGallery' -InstallationPolicy Trusted
    Install-Module -Name RemoteDesktopManager -Confirm:$false -AllowClobber
    Set-PSRepository -Name 'PSGallery' -InstallationPolicy Untrusted
} 

Import-Module RemoteDesktopManager

$override = Get-RDMPowerShellOverride
$override.OptionFilePath = $RDMConfigFileLocation
$override.RemoteDesktopManagerExecutablePath = $RemoteDesktopManagerExecutablePath
Set-RDMPowerShellOverride

$datasource= Get-RDMDataSource | where{$_.name -eq $RDMDataSourceName}
echo $datasource

Set-RDMCurrentDataSource $datasource
Update-RDMUI
$cur_sessions = Get-RDMSession

$crypt_pwd="C:\** REDACTED FOR PRIVACY **.ext"
$Secure2 = Get-Content $crypt_pwd | ConvertTo-SecureString -Key ** REDACTED FOR PRIVACY **

$timestamp=get-date -Uformat "%d%m%Y_%H%M%S"


$filename = $datasource.name
$filename = $filename+"_"+$timestamp+".rdm"
$rdmfile = $LocalSavePath+$filename

try{export-rdmsession -RDM -IncludeCredentials -path $rdmfile -sessions $cur_sessions -password $Secure2}catch{$exitcode+=1}

exit $exitcode


Merci par avance pour votre aide,
Quentin

All Comments (2)

avatar

Bonjour,

Problème résolu après mise à jour du module Powershell en dernière version avec le paramètre "-Force"

Quentin.

avatar

Bonjour,

Merci d'avoir partagé la solution à votre problème avec notre communauté.

Cordialement,

Érica Poirier