Softwareinstallation leicht gemacht mit der Powershell

Heute möchte ich mit dir über eine clevere Methode sprechen, wie du Softwareinstallationen vereinfachen kannst. Stell dir vor, du hast ein Skript, das automatisch die benötigte Software auf deinem Computer installiert. Das klingt doch super, oder? Aber was, wenn ich dir sage, dass es noch einfacher geht, indem du einfach alle Software-Dateien in einem Ordner zusammenfasst und das Skript einfach über den Dateinamen aufruft?

Das klingt vielleicht trivial, aber es ist ein echter Gamechanger. Wenn du alle Installationsdateien in einem einzigen Ordner hast, musst du nicht ständig neue Pfade suchen oder eingeben. Du lässt dein Skript laufen, und es findet die richtige Datei im Handumdrehen. Das ist nicht nur zeitsparend, sondern auch extrem effizient.

Ein praktisches Beispiel: Angenommen, du hast ein PowerShell-Skript, das auf einem Server oder in einem Netzwerkfreigabeordner nach MSI-Installationsdateien sucht. Das Skript prüft, ob die Datei vorhanden ist, kopiert sie auf deinen lokalen Rechner und führt die Installation durch. Klingt einfach, oder?

Hier kommt der Clou: Wenn du ein Update für deine Software hast, ersetzt du einfach die alte Datei im Ordner durch die neue. Dein Skript muss nicht verändert werden, da es immer nach dem Dateinamen sucht, den du festgelegt hast. Das bedeutet, du sparst nicht nur Zeit bei der Erstinstallation, sondern auch bei jedem Update.

Das ist besonders praktisch, wenn du mehrere Computer oder ein ganzes Netzwerk betreust. Statt auf jedem einzelnen Rechner Updates manuell durchzuführen, aktualisierst du einfach die Datei im zentralen Ordner. Beim nächsten Ausführen des Skripts wird automatisch die neueste Version installiert.

Aber es gibt noch einen weiteren Vorteil: Deine Installationen werden konsistenter. Da das Skript immer den gleichen Prozess durchläuft, reduzierst du das Risiko von Fehlern, die auftreten können, wenn du manuell installierst. Ganz zu schweigen davon, dass es einfacher ist, einen Fehler im Skript zu beheben, als einen Fehler, der durch eine manuelle Installation entstanden ist.

Zusammengefasst: Das Bündeln aller Software in einem Ordner und die Nutzung eines Skripts zur Installation macht dein Leben einfacher. Du sparst Zeit, reduzierst Fehler und machst Updates zum Kinderspiel. Probier es aus und sieh selbst, wie viel einfacher deine Softwareverwaltung sein kann!

$UNCPath = "\\Server\Share\Software\"
$FilePrefix = "Dateiname" # Ersetzen Sie "Dateiname" durch den gewünschten Dateinamen
$MSIParams = "/qn" # Fügen Sie hier weitere MSI-Parameter hinzu, falls erforderlich
$TargetPath = "C:\temp" # Hier den gewünschten Zielordnerpfad eintragen

# Suche nach MSI-Dateien, die mit dem angegebenen Dateinamen beginnen
$MSIFiles = Get-ChildItem -Path $UNCPath -Filter "$FilePrefix*.msi"

# Überprüfe, ob eine passende MSI-Datei gefunden wurde
if ($MSIFiles.Count -eq 0) {
    Write-Host "Keine passende MSI-Datei gefunden. Beende das Skript."
    exit
} elseif ($MSIFiles.Count -gt 1) {
    Write-Host "Mehrere passende MSI-Dateien gefunden. Verwende die erste gefundene Datei."
}

$MSIFileName = $MSIFiles[0].Name
$FullUNCPath = Join-Path -Path $UNCPath -ChildPath $MSIFileName

$LocalPath = $TargetPath

$LocalFile = Join-Path -Path $LocalPath -ChildPath $MSIFileName

# Überprüfe, ob der Zielordner existiert, und erstelle ihn, falls er nicht vorhanden ist
if (-not (Test-Path -Path $LocalPath)) {
    New-Item -Path $LocalPath -ItemType Directory -Force | Out-Null
}

# Kopiere die MSI-Datei vom UNC-Pfad zum lokalen Pfad und überschreibe vorhandene Dateien mit dem -Force Parameter
Copy-Item -Path $FullUNCPath -Destination $LocalFile -Force

# Installiere die MSI-Datei mit den angegebenen Parametern
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$LocalFile`" $MSIParams" -Wait -NoNewWindow

# Optional: Entferne die MSI-Datei nach der Installation
# Remove-Item -Path $LocalFile -Force

Dieses Skript führt eine automatisierte Installation einer MSI-Datei (Microsoft Installer Datei) von einem Netzwerkpfad auf deinem lokalen Computer durch. Hier sind die Schritte, die es durchführt:

  1. Netzwerkpfad und Dateinamensfilter definieren: Zuerst legst du den Netzwerkpfad ($UNCPath) fest, von dem das Skript die MSI-Datei holen soll. Du definierst auch einen Dateinamensfilter ($FilePrefix), um gezielt nach MSI-Dateien zu suchen, die mit einem bestimmten Namen beginnen.
  2. Suche nach passenden MSI-Dateien: Das Skript sucht im angegebenen Netzwerkpfad nach MSI-Dateien, die mit dem von dir festgelegten Filter übereinstimmen.
  3. Überprüfung der Suchergebnisse: Wenn keine passende MSI-Datei gefunden wird, beendet das Skript mit einer entsprechenden Nachricht. Wenn mehrere Dateien gefunden werden, wählt es die erste gefundene Datei aus.
  4. Vorbereitung des Kopiervorgangs: Das Skript erstellt den vollständigen Pfad der MSI-Datei im Netzwerk und bereitet den lokalen Pfad vor, wohin die Datei kopiert werden soll.
  5. Erstellung des Zielordners: Falls der angegebene Zielordner auf deinem Computer nicht existiert, erstellt das Skript diesen.
  6. Kopieren der MSI-Datei: Das Skript kopiert die MSI-Datei vom Netzwerkpfad in den Zielordner auf deinem Computer. Bestehende Dateien mit demselben Namen werden dabei überschrieben.
  7. Installation der MSI-Datei: Nachdem die Datei kopiert wurde, startet das Skript den Installationsprozess mit den von dir angegebenen Parametern ($MSIParams).
  8. Optionale Bereinigung: Am Ende kannst du wählen, ob die MSI-Datei nach der Installation vom lokalen Computer entfernt werden soll.

🤞 1x pro Monat unsere News, Tipps und Tutorials gebündelt direkt in dein Postfach!

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.