PowerShell msi-Paket installieren

 

MSI-Pakete können in Powershell unter anderem über Start-Process gestartet werden. Zur Kontrolle kann die Software dann in der Registry ausgelesen werden:

$DisplayNameRegistry="MSITestpaket" #muss ev. einmalig installiert werden, um den genauen Namen aus der Registry auszulesen und hier zu verwenden
$msifile="setup.msi"

$arguments = @(
        "/i"
        """$($PSScriptRoot)\$msifile"""
        "/qn"
        "/norestart"
        "/li"
        """$($env:temp)\msi_install_$(Get-Date -format 'yyyyMMdHHmm').log"""
    )
    $process = Start-Process -FilePath msiexec.exe -ArgumentList $arguments -Wait -PassThru
    if ($process.ExitCode -eq 0){
        Write-Host "Package has been successfully installed take a look at: $($env:temp)\msi_$(Get-Date -format 'yyyyMMdHHmm').log"
        if ($(Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*) | where-object {$_.DisplayName -eq $DisplayNameRegistry}) {
           Write-Host "Installation found in Registry"
        } else {
            Write-Host "something went wrong: unable to find Installation in Registry"
            exit 1
        }
    } else {
        Write-Host "installer exit code  $($process.ExitCode) for file  $($msifile)"
        exit $process.ExitCode
    }
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Veröffentlichung: 17.02.2021 von Bernhard |🔔 | Kommentare:0

PowerShell vsd auf vsdx konvertieren | PowerShell Beispiele | RDS User abmelden und UPD: User-Profile-Disk umbenennen

Top-Artikel in diesem Bereich


PowerShell: Dateiattribute: Datum ändern - ganz ohne Tools

Als Alternative zu speziellen Programmen kann auch mit PowerShell das Datum einer Datei oder eines Ordners geändert werden. 


PowerShell: Bildschirmschoner verhindern: Maus regelmäßig bewegen

Wer die Einstellungen für die Bildschirmsperre nicht ändern kann, kann alternativ regelmäßig die Maus bewegen, oder die Maus von einem Script bewegen lassen. Ursprünglich als AutoIt-Script veröffentlicht, habe ich das Script mit ein paar PowerShell-Zeilen nachgebaut. Wer die folgenden Befehle in eine PowerShell-Sitzung kopiert, verhindert, dass sich der Computer sperrt:


AD: Active Directory Daten auslesen

Mit Windows PowerShell Active Directory Objekte auslesen.

Fragen / Kommentare