NWC Services Blog
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:
- Erstellung von FastInstallJobs (verwendet bei „Änderungen ausführen“)
- WakeUp-EmdbComputer
- Grant-EmdbPermission
- Revoke-EmdbPermission
- New-EmdbMobileDevice
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 Eigenschaftengruppe FastInstallJobProps wurde in DSM 2013.2 umbenannt zu FastInstallJob
- Die Eigenschaft ComputerId wurde in die (neue) Eigenschaftengruppe ComputerRelatedJob verlegt
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:
- Die Klasse EmdbJob hat eine zusätzliche Eigenschaft CreationState erhalten, die abgefragt werden kann – z.B. $MyFastInstallJob.CreationState | Format-List *
- Die Umstrukturierung der Eigenschaften betrifft auch andere Job-Typen – z.B. WakeUpOnLanJob, OsdPushJob sowie diverse Citrix-Jobs
When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.
Comments 1
Hallo Herr Scholer,
vielen Dank für den Blog. Ich habe meinen "FastInstallJob" angepasst. Funktioniert.
Bitte den PS-Code dieses Blogs noch in die Online-Hilfe der Powershell-Extensions einfügen - hier ist noch der alte Code
(vor 7.2.2) enthalten.
Viele Grüße Marcus Benischek