Utiliser un installateur personnalisé en mode sans assistance

À partir de Remote Desktop Manager v.2024.3, la fonctionnalité d'installateur personnalisé prend en charge le mode installation sans assistance, ce qui permet une installation et une configuration automatiques. Voici comment utiliser cette fonctionnalité :

Générer un paquet d'installation personnalisé

  1. Se connecter à votre Compte Devolutions dans FichierCompte Devolutions.

  2. Cliquer sur Gestionnaire d'installateur personnalisé, sélectionner la version actuelle de Remote Desktop Manager, et cocher la case Chiffrer la configuration avec mot de passe dans le paquet d'installation.

    Custom installer manager
    Custom installer manager
  3. Cliquer sur Créer.

Installer le paquet d'installation personnalisé

Le script PowerShell suivant installe automatiquement le paquet généré précédemment et injecte le mot de passe. Notez que l'injection du mot de passe se produit uniquement si vous avez coché la case Chiffrer la configuration avec mot de passe dans le paquet d'installation à l'étape 2.

Le script doit être exécuté en tant qu'administrateur, sinon l'invite UAC ne peut pas apparaître.

Voici le script complet à enregistrer au format .ps1 :

param (
    [Parameter(Mandatory = $true, Position = 0, HelpMessage = "Path to MSI for Remote Desktop Manager")]
    [ValidateNotNullOrEmpty()]
    [string]
    $MsiPath,
    [switch]
    $AskPassword,
    [parameter(ValueFromPipeline)][string]$password
)
function Read-Password {
    param (
        [string]$Prompt = "Enter Password"
    )
    if ($password) {
        $securePassword = ConvertTo-SecureString -AsPlainText -Force $password
    }
    else {
        $securePassword = Read-Host -AsSecureString -Prompt $Prompt
    }
    $password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto(
        [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePassword)
    )
    return $password
}
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if (!$currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Warning "Not running as administrator. You may run into issues"
}
& 'msiexec.exe' /i "${MsiPath}" /qn
if ($AskPassword) {
    $password = Read-Password
    $pipeHandle = [System.IO.Pipes.NamedPipeClientStream]::new('.', 'DevolutionsUpdater', [System.IO.Pipes.PipeDirection]::Out)
    try {
        $pipeHandle.Connect(15000)
        $passwordBytes = [System.Text.Encoding]::UTF8.GetBytes($password)
        $pipeHandle.Write($passwordBytes, 0, $passwordBytes.Length)
        $pipeHandle.Flush()
    }
    catch {
        Write-Error "Failed to connect to installer instance. Is the installer running with administrator or is RDM already installed?"
    }
    finally {
        $pipeHandle.Close()
    }
}

Lors de l'installation du paquet, il est important de fournir le mot de passe de manière sécurisée. Pour ce faire, utiliser un tube nommé pour empêcher que le mot de passe soit écrit sur le disque ou consigné.

Exécuter le script :

PS C:\WINDOWS\system32> . '<Path to above shown .ps1 script>' '<Path to RDM msi>' -AskPassword

Acheminer le mot de passe à partir d'une variable d'environnement :

PS C:\WINDOWS\system32> echo $env:MY_PASSWORD | & 'C:\Temp\RdmInstall.ps1' 'C:\Temp\Setup.RemoteDesktopManager.2024.3.0.0.msi' -AskPassword
Devolutions Forum logo Donnez-nous vos commentaires