Neu in Version 2.0
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
- GetSystemDefaultLangID (Read-SystemDefaultLanguage)
- GetUserDefaultLangID (Read-UserDefaultLanguage)
- MsgBox (Show-PdMessageBox)
- MsgBoxEx (Show-PdMessageBox)
- MultipleChoiceDlg (Show-MultipleChoiceDialog)
- Replace (Set-FileReplaceText)
- SetFileAttr (Set-FileAttribute)
DSM-Scriptbefehle, die erweitert wurden
- Install-Win32Service (neue Startart-Option "Automatisch (verzögert)")
Neue Scriptbefehle, für die in DSM keine Entsprechung existiert
- Remove-LocalGroup
- Remove-LocalUser
- Set-ApplicationCompatibilityFlags
- Test-LocalGroup (Bedingung)
- Test-LocalUser (Bedingung)
Sonstiges
- Das in den Runtime-Dateien enthaltene PS App Deploy Toolkit wurde auf Version 3.8.4 aktualisiert.
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.