For the complete documentation index, see llms.txt. This page is also available as Markdown.

Usare il programma di installazione personalizzato nelle installazioni automatiche

La funzionalità del programma di installazione personalizzato supporta la modalità di installazione automatica, che consente l'installazione e la configurazione automatiche. Ecco come utilizzare questa funzionalità:

Generazione di un pacchetto di installazione personalizzato

  1. Si connetta al suo Devolutions Account in FileDevolutions Account.

  2. Clicchi su gestore del programma di installazione personalizzato, selezioni la versione corrente di Remote Desktop Manager e selezioni la casella Cifra la configurazione con una password nel pacchetto di installazione.

  3. Clicchi su Crea.

Installazione del pacchetto di installazione personalizzato

Il seguente script PowerShell installa automaticamente il pacchetto generato in precedenza e inserisce la password. Si noti che l'inserimento della password avviene solo se ha selezionato la casella Cifra la configurazione con una password nel pacchetto di installazione nel passaggio 2.

Lo script deve essere eseguito come amministratore, altrimenti il prompt UAC non può apparire.

Ecco lo script completo da salvare in formato .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()
    }
}

Durante l'installazione del pacchetto, è importante fornire la password in modo sicuro. Per ottenere questo risultato, utilizzi una named pipe per evitare che la password venga scritta sul disco o registrata nei log.

Per eseguire lo script:

Per inviare la password tramite pipe da una variabile d'ambiente:

Vedere anche

Ultimo aggiornamento

È stato utile?