Neu in Version 2.0

Folgende neuen Features, Befehle und Möglichkeiten wurden in der Version 2.0 der Packaging PowerBench implementiert:

Neue Features
  • Sie können Pakete aus dem Microsoft Winget-Repository importieren.
  • Die Packaging PowerBench kann Pakete in das Microsoft Intune Format exportieren.
  • Sie können Ihre Pakete direkt aus der PPB in Microsoft Configuration Manager und Microsoft Intune registrieren.
  • Die PPB unterstützt nun die Revisionierung von Paketen.
  • Der Befehl "Paket speichern unter" speichert nun das ganze Paket (nicht nur Script.ps1) als neues Paket mit neuer ID in neuem Paketverzeichnis.
  • Sie können PPB-Pakete zur Verteilung vorbereiten.
  • Sowohl die Eigenschaften derPackaging PowerBench selbst als auch von Paketen lassen sich nun über eine grafische Oberfläche einstellen und bearbeiten.
  • Die PPB unterstützt jetzt "Rückgängig" und "Wiederherstellen" über die entsprechenden Schaltflächen auf dem "Aufgaben"-Register oder über die üblichen Tastatur-Shortcuts STRG + Z beziehungsweise STRG + Y.
  • Die Invertierung der umkehrbaren Befehle bei der Deinstallation kann für einzelne Befehle ausgeschaltet werden (Schaltfläche "Deinstallation verhindern" im Abschnitt "Optionen" des "Start"-Registers).
  • Die neue Variable ${.\} wurde eingeführt, um überall - auch innerhalb von String-Parametern und beliebigen PowerShell Cmdlets - auf das Paketverzeichnis referenzieren zu können.


DSM-Scriptbefehle, die neu implementiert wurden


DSM-Scriptbefehle, die erweitert wurden


Neue Scriptbefehle, für die in DSM keine Entsprechung existiert


Sonstiges


Folgende Fehler und Probleme aus der Version 1.0 wurden behoben
  • Die Lizenzprüfung der Packaging PowerBench GUI schlug fehl, wenn ein Account nicht aufgelöst werden konnte.
  • Die PowerShell-Code Vorschau (F2) erschien bei verschachtelten IF-Befehlen an unerwarteter Stelle.
  • Die Syntax des Autor-Eintrags im Header der Templates war falsch, sodass der aktuelle Benutzername nicht automatisch eingetragen wurde.
  • Das Exe-Script Template enthielt einen Logikfehler, weil die _Returncode-Variable mit '' initialisiert, im Script aber auf den String 'leer' geprüft wurde.
  • Das MSI-Script Template enthielt eine Inkonsistenz bezüglich des MSI Source-Files (Default-Pfad ohne Files-Unterverzeichnis).
  • Waren mehrere Zeilen per Multi-Select ausgewählt und sollten als computer- oder benutzerspezifisch klassifiziert werden, so wurde nur die zuletzt markierte Zeile bearbeitet.
  • Per SHIFT + Pfeiltasten selektierte Zeilen wurden nicht wieder deselektiert, wenn die Markierung über die umgekehrten Pfeiltasten wieder verkleinert wurde.
  • Im Registry-Editor wurde beim Aufruf des Kontextmenüs per rechter Maustaste der Fokus nicht auf das Objekt, auf dem der Menüaufruf erfolgte, gesetzt und daher die Kontextmenü-Aktion auf ein anderes Objekt als erwartet angewandt.
  • Es konnte passieren, dass auf der Startseite die Liste der zuletzt verwendeten Pakete doppelt angezeigt wurde.
  • Wenn ein Paket über die Backstage-Ansicht oder den "Öffnen"-Button des Ribbons geöffnet und die Startseite nicht als Tab angezeigt wurde, dann war das Script-Fenster des geöffneten Pakets nicht zu sehen (lag hinter der Startseite).
  • Der Befehl Unregister-SystemStart konnte klassifiziert werden, was bei der Ausführung einen Fehler verursachte.
  • Stop-PdProcess beendete gegebenenfalls abhängige Prozesse nicht in der richtigen Reihenfolge (beispielsweise Chrome.exe).
  • Beim Import exportierter DSM-Pakete wurde wird die Eigenschaft "HasUserPart" falsch gesetzt (wurde auch auf 1 gesetzt, obwohl AllowUserPartInstallation im DSM-Paket nicht gesetzt war).
  • Beim Import exportierter DSM-Pakete wurde die Eigenschaft "DisplayName" nicht gesetzt, wenn in DSM kein Wert für diese Eigenschaft angegeben war. In diesem Fall wird jetzt der Displayname auf den Name gesetzt.
  • Im DSM Paket Template zur Ausführung von PPB-Paketen über Ivanti DSM waren folgende Fehler enthalten:
    • Bei Pilot-Installationen konnte die PackageDeployment.dll nicht geladen werden, weil über eine falsche Methode versucht wurde, diese von einem UNC-Pfad zu laden.
    • Wenn das Paket von einem User ohne lokale Adminrechte ausgeführt wurde (im Auto-Installer), wurde der Maschinenteil nicht über den Service ausgeführt.
    • Wenn das PPB-Paket keinen, das DSM-Paket aber einen Userteil hatte, wurde trotzdem im DSM-Userteil der PPB-Userteil aufgerufen.
  • Der Befehl Install-Win32Service erzeugte bei bestimmten Einstellungen einen Laufzeitfehler.
  • Beim Befehl Stop-PdProcess waren im erzeugten Script die Flags für die Eigenschaften "Auch untergeordnete Prozesse" beziehungsweise "Auch bei der Deinstallation ausführen" vertauscht.
  • Wurde in einem importierten DSM-Paket der Copy-Befehl verwendet und es wurde in DSM nur ein Quellverzeichnis und kein Dateimuster (z.B. *) angegeben, so wurden im konvertierten Copy-File Befehl keine Files kopiert.
  • Wurde in einem importierten DSM-Paket die automatische Referenz auf das Paketverzeichnis ".\" verwendet, so wurde diese im konvertierten Paket nur für Pfad-Parameter, nicht aber für beliebige Parameter ersetzt.
  • Wurde in einem importierten DSM-Paket der Befehl MSIUninstallProduct verwendet, so führte dies im konvertierten Uninstall-MsiProduct-Befehl zu einem Laufzeitfehler.
  • Beim Befehl Set-NtfsSecurity wurden der ausgewählte Modus nicht korrekt an die Funktion übergeben.
  • Folgende Befehle wurden bei der Deinstallation eines Pakets ausgeführt, obwohl sie nicht hätten ausgeführt werden sollen:
    • Exit-Package
    • Invoke-Goto
    • Suspend-ScriptExecution
  • Die automatische Referenz auf das Paketverzeichnis ".\" wurde beim Import von DSM-Paketen nur in Pfad-Parametern umgesetzt. Nun wird diese auch in anderen Befehls-Argumenten (z.B. String-Parametern) korrekt ersetzt.
  • Der Dialog des Copy-File Befehls hatte keine ?-Schaltfläche, dafür aber Maximieren und Minimieren Schaltflächen (wie ein normales Fenster, nicht wie ein Dialog).
  • Klicken innerhalb einer Multi-Select Markierung (ohne Strg oder Shift) führte nicht zum Aufheben der Markierung (was das erwartete Verhalten ist).
  • Im Interactive-DeployMode wurden userbezogene Befehle ausgeführt, auch wenn die Ausführung in Session 0 stattfand.
  • Der New-Link Befehl schlug fehl, wenn das Script von einem UNC-Pfad ausgeführt wurde.
  • Der DSM Wrapper führte unter bestimmten Voraussetzungen zu einem Laufzeit-Fehler.
  • Beim "Befehl einfügen" Dialog wurden beim Filtern immer alle Kommandos in allen Abschnitten angezeigt. Außerdem kam es bei schnellem Scrollen per Mausrad zum Absturz der PPB.