Neu in Version 3.0
Neu in Version 3.0
Folgende neuen Features und Fehlerbehebungen wurden in der Version 3.0 der NWC Packaging PowerBench implementiert:
Neue Features
- Sie können Ihre Pakete direkt aus der Packaging PowerBench in Ivanti DSM und Ivanti EPM registrieren.
- Im Registry-Editor können jetzt die Eigenschaften "32-Bit Modus verwenden", "Werte bei Repair neu schreiben" und "Werte bei Deinstallation löschen" an Unterschlüssel vererbt werden.
- Der neue Kommandozeilenparameter RestartInteractive ermöglicht die Ausführung von PPB-Paketen, die mit einem angemeldeten Benutzer über Meldungen interagieren können auch für Systeme, die dies nicht initial vorsehen (beispielsweise Ivanti EPM und Microsoft Intune).
- Bei der Paketregistrierung in Microsoft Configuration Manager und Microsoft Intune ist es nun möglich, benutzerdefinierte Erkennungsregeln zu definieren und die Interaktion der Installation mit dem Benutzer zu konfigurieren (vgl. RestartInteractive Kommandozeilenparameter).
- Die PPB schreibt nun ein Logfile (standardmäßig "PackagingPowerBench_<Zeitstempel>.log" im Verzeichnis "%ProgramData%\NWC Services\Logs").
- Beim Registrieren eines Pakets in Microsoft Configuration Manager oder Microsoft Intune werden nun auch die Returncodes 60001 als Failed beziehungsweise 69000 und 69002, die der Exit-Package Befehl zurück gibt, als Retry beziehungsweise als Failed konfiguriert. Außerdem kann nun auch angegeben werden, dass das erzeugte Paket im Rahmen einer Tasksequenz ohne Bereitstellung installiert werden kann.
- Verschiedene Befehle können durch Drag-and-Drop von Dateien ins Scriptfenster erzeugt werden.
- Neue Befehle werden automatisch klassifiziert.
- Durch das neue Variablenprovider-Konzept stehen jetzt mehr Variablen out-of-the-box zur Verfügung
- Sie können jetzt innerhalb eines PPB-Scripts nativ Suchen & Ersetzen.
- Bei der Installation von Paketen mit Benutzerteilen werden diese jetzt - sofern ein angemeldeter Benutzer vorhanden ist - für diesen direkt im Anschluss an die Installation des Computerteils installiert, sodass die Notwendigkeit für das Ab- und Anmelden und damit die Ausführung des Benutzerteils über Active Setup entfällt.
- Um das versehentliche Löschen von Verzeichnissen zu vermeiden, kann nun eingestellt werden, wie sich die Packaging PowerBench bei der Auswahl von Paketverzeichnissen verhalten soll.
- Im Expertenmodus bietet die Packaging PowerBench beim Schreiben von PowerShell-Code nun Autovervollständigung von unter anderem Cmdlets, Parametern, Schaltern, Pfaden, Variablen etc. an. Außerdem gibt es dort nun eine Leiste mit den Script-Zeilennummern.
- Beim Export von Paketen nach Microsoft Intune kann nun das Format des vorgeschlagenen Standard-Paketnamens angegeben werden.
- Es gibt neue Einstellungen, die es erlauben, den angezeigten Befehlssatz zu konfigurieren (mit oder ohne Ivanti DSM-Alias Befehlen) und das Farbschema des Editors zu wählen.
- Paket-Templates sind nun mehrsprachig, sodass Kommentare, Meldungen und andere beliebige Zeichenketten beim Erstellen eines Pakets gemäß der aktuellen Spracheinstellung ersetzt werden.
- Für den Script-Editor wird nun ein Dark Mode-Theme mitgeliefert, das in den Optionen über eine Einstellung ausgewählt werden kann.
DSM-Scriptbefehle, die neu implementiert wurden
- BitLockerSuspend (Suspend-PdBitlocker)
- CopyFileList (Install-FileList)
- CreateShare (New-Share)
- DeleteShare (Remove-Share)
- InstallTTF (Install-TTF)
- IsCurrentUserLocalAdmin (Test-LocalAdmin) (Bedingung)
- IsLaptop (Test-Laptop) (Bedingung)
- RunningAsService (Test-RunningAsService) (Bedingung)
Neue Scriptbefehle, für die in DSM keine Entsprechung existiert
- Disable-WindowsFeature
- Enable-WindowsFeature
- Invoke-PowerShellCode
- Test-ComputerLocked (Bedingung)
- Test-InternetAccess (Bedingung)
- Test-OnBattery (Bedingung)
- Test-RemoteLoginDisabled (Bedingung)
- Test-Service (Bedingung)
- Test-UserLoggedOn (Bedingung)
- Test-VirtualMachine (Bedingung)
- Test-MicrosoftUpdate (Bedingung)
- Test-WindowsFeature (Bedingung)
- Uninstall-TTF
Folgende Fehler und Probleme aus der Version 2.1 wurden behoben
- Das Abbrechen einer Bedingung mit anschließendem OK des If-Dialogs führte zum Absturz der PPB.
- Beim Import eines DSM-Pakets direkt aus dem Paket-Verzeichnis, wurde (aufgrund fehlender _ExpInfo.xml) keine Paket-ID erzeugt und in der Package.xml eingetragen.
- Der erste Unterstrich in einem Paketnamen wurde als Indikator für einen Access Key interpretiert und daher nicht angezeigt.
- Beim Import von exportierten DSM-Paketen mit mehreren Revisionen wurde fälschlicherweise der Name der ersten Revision (statt der Name der letzten Revision) übernommen.
- Wenn die PowerShell Ausführungsrichtlinie per Gruppenrichtlinie eingeschränkt war und die Option "Die PowerShell Ausführungsrichtlinie auf 'Bypass' setzen" aktiviert wurde, ließ sich die Packaging PowerBench nicht mehr starten.
- Beim Import von DSM-Paketen trat unter Umständen ein Parsing-Fehler auf und das Paket konnte nicht erfolgreich importiert werden. Das Verhalten trat auf, wenn im Quell-eScript in einem eingerückten Block ein auskommentierter Befehl, der in der eScript-Sprache mit "EndProc" endet, vorhanden war.
- Beim Einfügen von Inhalt aus der Zwischenablage wurden markierte Script-Zeilen nicht ersetzt.
- Diverse Bedingungen (Get-DriveFreeKB, Get-FileDate, Get-FileVersion, Get-ProductVersion) erzeugten einen Fehler, wenn das referenzierte Objekt (Laufwerk, File, Verzeichnis o.ä.) nicht existierte. Das Verhalten ist jetzt analog DSM, und die Bedingung evaluiert zu falsch.
- Die Befehle Remove-File und Remove-FileList funktionierten unter Umständen nicht (insbesondere wenn Platzhalter für den oder die Dateinamen verwendet wurden).
- Der Befehl New-Link schlug fehl, wenn eine gleichnamige Verknüpfung bereits existierte.
- Der Import eines DSM-Pakets, bei dem eine Variable mit "(" oder ")" im Namen verwendet wurde (z.B. die Umgebungsvariable %ProgramFiles(x86)%), verursachte einen Fehler.
- Beim Löschen eines Befehls innerhalb eines Blocks sprang der Fokus nach dem nächsten Mausklick auf den Blockanfang zurück.
- Beim Setzen einer Variablen über den Set-PdVar-Befehl, die als Zahl interpretiert werden konnte, wurde diese automatisch umgewandelt. Dadurch wurden z.B. führenden Nullen abgeschnitten. Es ist jetzt möglich, den Wert in Anführungszeichen zu setzen, dann wird nicht versucht, den Inhalt zu interpretieren.
- Performance- und Out-of-Memory-Probleme beim Markieren, Ausschneiden und Einfügen einer großen Zeilenanzahl wurden behoben.
- Das Verhalten des Kommandos Read-WmiObject und seines DSM-Pendants WMISimpleQuery waren unterschiedlich, wenn kein passendes WMI-Objekt ermittelt werden konnte.
- Das Kommando Add-EnvironmentPath fügte Inhalte auch in den Pfad ein, wenn diese bereits vorhanden waren und verwendete nicht erforderliche Semikolons.
- Beim Import eines DSM-Pakets wurde die Paketeigenschaft "Version" in der Paket-Eigenschaftsdatei "Package.xml" nicht gesetzt.
- Wenn eine neue Paket-Revision erzeugt wurde, wurde nicht automatisch der Wert der Paketeigenschaft "Version" erhöht und damit der Userteil (über Active Setup) nicht erneut ausgeführt.
- Beim Registrieren eines ins Intune-Format exportierten Pakets wurde der Name der .intunewin-Datei stets auf "IntunePackage.intunewin" geändert, sodass im Endpoint Manager Portal nicht mehr zu erkennen war, welche intunewin-Datei tatsächlich hochgeladen worden war.
- Die Änderung der Pfad-Variable durch den Befehl Add-EnvironmentPath wurden unter gewissen Umständen auch dann für den aktuellen Benutzer ausgeführt, wenn der Befehl maschinenspezifisch klassifiziert war.