Utiliser l'installateur personnalisé dans les configurations sans assistance

La fonctionnalité de programme d'installation personnalisé prend en charge le mode d'installation sans surveillance, qui permet une installation et une configuration automatiques. Voici comment utiliser cette fonctionnalité :

Générer un package de programme d'installation personnalisé

  1. Connectez-vous à votre compte Devolutions dans FichierCompte Devolutions.

  2. Cliquez sur gestionnaire du programme d'installation personnalisé, sélectionnez la version actuelle de Remote Desktop Manager et cochez la case Chiffrer la configuration avec un mot de passe dans le package d'installation.

  3. Cliquez sur Créer.

Installer le package du programme d'installation personnalisé

Le script PowerShell suivant installe automatiquement le package précédemment généré et injecte le mot de passe. Notez que l'injection du mot de passe ne se produit que si vous avez coché la case Chiffrer la configuration avec un mot de passe dans le package 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 package, il est important de fournir le mot de passe de manière sécurisée. Pour ce faire, utilisez un canal nommé afin d'éviter que le mot de passe soit écrit sur le disque ou consigné dans les journaux.

Pour exécuter le script :

Pour transmettre le mot de passe depuis une variable d'environnement :

Voir aussi

Mis à jour

Ce contenu vous a-t-il été utile ?