Script Powershell - Backup RDM - DllNotFoundException - Unable to load DLL 'SQLite.Interop.dll'
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
Bonjour,
Problème résolu après mise à jour du module Powershell en dernière version avec le paramètre "-Force"
Quentin.
Bonjour,
Merci d'avoir partagé la solution à votre problème avec notre communauté.
Cordialement,
Érica Poirier