By Frank Scholer on Monday, 10 February 2014
Category: PowerShell Extensions / PSX

PSX-Kompatibilität mit DSM 2013.2

Seit vergangenem Dezember ist die neue Version FrontRange HEAT DSM 2013.2 verfügbar und spätestens mit dem Release des ersten Hotfix-Bundles vor wenigen Tagen, stehen mehr und mehr Kunden vor der Umstellung auf die neue Version.

Wie mit jedem neuen Release, gab es auch diesmal etliche Änderungen am User-Interface, neue Möglichkeiten und neuen Infrastruktur-Optionen. Hinter den Kulissen wurde aber natürlich auch wieder viel geändert, unter anderem auch am Administration Webservice - der Schnittstelle, über die unsere PowerShell Extensions mit der DSM Infrastruktur kommunizieren. Das bedeutet, dass die Version 2.1 der PSX nicht vollständig kompatibel zum neuesten DSM-Release ist.

Wir freuen uns daher, Ihnen mitteilen zu können, dass seit heute der Kompatiblitäts-Release PSX 2.1.1 zur Verfügung steht, mit dem die vollständige Kompatibilität zur aktuellen Version wiederhergestellt wird.

 Die Änderungen an der SOAP-Schnittstelle von DSM führten nach unserem Erkenntnisstand, zu Inkompatibilitäten bei den folgenden Funktionen und Cmdlets:

Diese Inkompatibilitäten werden nun mit dem neuen Release behoben.

Wir stellen Ihnen die Version 2.1.1 der PowerShell Extensions für FrontRange DSM 7 – DSM 2013.2 ist intern auch "nur" Version 7.2.2, daher haben wir uns entschlossen, den Namen der PSX in diesem Fall nicht zu ändern – als Windows Installer Patch im Download-Bereich der Website zur Verfügung. Sie benötigen für die Installation daher eine PSX 2.1 Basisinstallation, die Sie mit dem MSP dann aktualisieren können.

Da es sich um eine Minor-Version handelt, behalten die bisherigen Lizenzdateien ihre Gültigkeit und müssen nicht ausgetauscht oder aktualisiert werden. Es ist allerdings zu beachten, dass sich der Registry-Key für die zentrale Ablage der Lizenzdatei (wie hier beschrieben) geändert hat. Der bisherige Schlüssel lautete HKEY_LOCAL_MACHINE\SOFTWARE\Network Competence Services GmbH\PowerShell Extensions for FrontRange DSM 7, während die neue Version im Pfad HKEY_LOCAL_MACHINE\SOFTWARE\NWC Services GmbH\PowerShell Extensions for FrontRange DSM 7 nach dem LicensePath-Value schaut. Der Patch überprüft jedoch, ob dieser Wert bei Ihnen vorhanden ist und migriert bei Bedarf den Inhalt in den neuen Key.

Die Installation des MSI-Patches ist übrigens nur erforderlich, wenn Sie die PSX als Snap-In einsetzen. Laden Sie die PSX in allen Ihren Scripts als Modul (per Import-Module Cmdlet), genügt es, wenn Sie die Dateien NwcServices.BlsAdministration.dll, NwcServices.BlsAdministration.FormatData.ps1xml, NwcServices.BlsAdministration.TypeData.ps1xml und psx7.psd1 durch die neuen Versionen ersetzen. Dazu gibt es im Downloadbereich eine "Binaries only" ZIP-Archiv (hier muss nicht zwischen 32- und 64-Bit Version unterschieden werden).

Beachten Sie auf jeden Fall, dass wenn Sie die Files direkt ersetzen, dass dann das Snap-In definitiv nicht mehr verwenden werden kann und Sie der Vollständigkeit halber diese Registrierung auch entfernen sollten. Dies kann durch folgende Kommandozeile erfolgen:

Installutil.exe -u <PSX-Installationsverzeichnis>\nwcservices.blsadministration.dll 

Äuf 64-Bit Systemen müssen Sie diesen Befehl für das 64-bittige .NET-Framework ausführen, also mit dem Installutil unter C:\Windows\Microsoft.NET\Framework64\v2.0.50727.

Durch die internen Änderungen, sind jetzt auch die Beispiele in der Online-Hilfe für einige der betroffenen Funktionalitäten nicht mehr korrekt. Geändert wurden

Die auszuführenden Schritte, um die Änderungen an einem Computer auszuführen (beschrieben in der Online-Hilfe unter Arbeiten mit den PowerShell Extensions für FrontRange DSM 7 > Verwalten von Policies und Policy-Instanzen > Änderungen ausführen), sind nun wie folgt:

# Zunächst ermitteln Sie ...
$MyComputerID = $(Get-EmdbComputer "XP99" -recurse).ID
$MyExecutionContext = "Auto"
$IgnoreMaintenanceWindow = $True

# Für die Durchführung ...
$MyEmdbDrive = Get-PSDrive "emdb"
$MyFastInstallJob = $MyEmdbDrive.NewEmdbItem("FastInstallJob")

# Die Eigenschaften dieses ...
$MyFastInstallJob.BaseObject.SetPropertyValue("ComputerRelatedJob", "ComputerId", $MyComputerID)
$MyFastInstallJob.BaseObject.SetPropertyValue("FastInstallJob", "ExecutionContext", $MyExecutionContext)
$MyFastInstallJob.BaseObject.SetPropertyValue("FastInstallJob", "IgnoreMaintenanceWindow", $IgnoreMaintenanceWindow)

# Schließlich ...
$MyFastInstallJob.Create()

Anmerkungen:

Related Posts

Leave Comments