Neu in Version 3.4


Beim Release 3.4 der PowerShell Extensions handelt es sich um ein Kompatibilitäts-Release. Da bereits in DSM 2015.2 weitreichende Unterschiede bei der Behandlung von Policies implementiert wurden und sich mit DSM 2016.1 das Objektmodell auch wieder signifikant geändert hat, können ältere Versionen der PowerShell Extensions nicht auf diese Daten zugreifen. Das Release 3.4 stellt diese Kompatibilität her und erlaubt in gewohnter Weise den Zugriff auf Ihre DSM 2016.1 Umgebung. Außerdem wurden neue Objekttypen, Eigenschaften und Datentypen implementiert, um die vollständige Kompatibilität sicherzustellen.


Änderungen, Verbesserungen und Optimierungen im Detail:

  • Die Logik für EmdbPolicyInstance.GetAssignedObjectID()wurde geändert (betrifft auch EmdbPolicyInstance.GetAssignedObject()und EmdbPolicyInstance.AssignedObjectName):
    • Bisher: Software-Objekt bzw. ID auf der Basis der zugewiesenen Konfiguration (assigned configuration).
    • Jetzt:
      1. Software-Objekt bzw. -ID auf Basis der gewünschten Konfiguration (desired configuration). Wenn es keine gewünschte Konfiguration gibt, dann
      2. Software-Objekt bzw. -ID auf Basis der zugewiesenen Konfiguration (assigned configuration). Wenn es keine zugewiesene Konfiguration gibt, dann
      3. Software-Objekt bzw. -ID auf Basis der zugehörigen Policy (AssignedObjectID der Policy).

  • Die Logik für EmdbPolicyInstance.GetInstalledPackageID() wurde geändert (betrifft auch EmdbPolicyInstance.GetInstalledPackage()):
    • Bisher: Software-Objekt bzw. ID auf der Basis der installierten Konfiguration (installed configuration).
    • Jetzt:
      1. Software-Objekt bzw. ID auf der Basis der installierten Konfiguration (installed configuration). Wenn es keine installierte Konfiguration gibt, dann
      2. Software-Objekt bzw. ID auf der Basis der zuletzt ausgeführten Konfiguration (last executed configuration).

  • Zusätzlicher Parameter -Priority für New-EmdbPolicy, der die Priorität der neuen Policy bestimmt.
    Möglich sind feste Zahlenwerte, oder Lowest, Highest und Default, die eine Berechnung nach Art der DSM-Konsole vornehmen. Wenn der Parameter weggelassen wird, wird ein fester Wert angenommen.
    Folgende Möglichkeiten gibt es, den Priority-Parameter anzugeben:
    • <Zahlenwert mit oder ohne Vorzeichen>: Die Priorität der neu erzeugten Policy wird auf den angegebenen Wert gesetzt.
    • Lowest: Die neu erzeugte Policy erhält eine niedrigere Priorität als die niedrigste Priorität (= höchster Zahlenwert) aller Policies desselben Typs, die für irgendeine Revision derselben Software bereits angelegt wurden. Dazu wird der Zahlenwert der bisher niedrigsten Priorität um 100 erhöht.
    • Highest: Die neu erzeugte Policy erhält eine höhere Priorität als die höchste Priorität (= niedrigster Zahlenwert) aller Policies desselben Typs, die für irgendeine Revision derselben Software bereits angelegt wurden. Dazu wird der Zahlenwert der bisher höchsten Priorität um 100 verringert.
      Anmerkung: Im Unterschied zur DSM-Konsole wird versucht, möglichst einen positiven Wert zu erhalten. Das heißt, wenn der bisher höchste Prioritätswert kleiner als 100 ist, wird anstatt eines negativen Wertes, der Mittelwert zu 0 gesetzt.
    • Lowest:<Index>: Der Prioritätswert der neu erzeugten Policy wird in die Liste der bisherigen Prioritätswerte (s.o. Lowest) an der angegebenen Stelle eingeordnet – beginnend mit der niedrigsten Priorität. Das heißt, der angegeben Wert für <Index> entspricht der Anzahl der Prioritäten, die niedriger sein sollen. Damit ist Lowest:0 gleichbedeutend mit Lowest.
    • Highest:<Index>: Der Prioritätswert der neu erzeugten Policy wird in die Liste der bisherigen Prioritätswerte (s.o. Highest) an der angegebenen Stelle eingeordnet – beginnend mit der höchsten Priorität. Das heißt, der angegeben Wert für <Index> entspricht der Anzahl der Prioritäten, die höher sein sollen. Damit ist Highest:0 gleichbedeutend mit Highest.
    • Default: Das Verhalten entspricht dem von Lowest mit Ausnahmen:
      • Für einige Policy-Typen wird zwingend der Prioritätswert 1000 gefordert – dazu gehört: Job-Policy, Software-Set-Component-Policy und Citrix-Farm-Policy.
      • Bei einer Deny-Policy wird (analog DSM-Konsole) der feste Wert -2147483648 (= negatives Minimum einer 32-Bit Ganzzahl) gesetzt.

Anmerkung: Der Anwender erhält über den Parameterwert Default die Möglichkeit, einen systemkonformen Prioritätswert zu setzen. Er wird andererseits jedoch nicht daran gehindert, unzulässige Werte zu setzen – das heißt, ob beispielsweise eine Job-Policy mit dem Prioritätswert 999 angelegt werden kann oder nicht, entscheidet der BLS und nicht New-EmdbPolicy.

    • Parameter wird weggelassen: Standard-Zahlenwert: -2147483648 für Deny-Policies, 1000 für andere Policy-Typen.

  • Zusätzlicher Parameter -InstanceCreationMode für New-EmdbPolicy, der den Instanz-Erstellungsmodus der neuen Policy bestimmt.
    Mögliche Werte sind: Automatically, OnDemand, NoLonger.
    Anmerkung: Wenn in einer 2015.2 oder höher DSM-Umgebung für -PolicyType der Wert SwShopPolicy angegeben wird, dann wird dieser in SwPolicy umgewandelt und für InstanceCreationMode wird der Wert OnDemand angenommen. Als Hinweis wird zusätzlich eine Warnmeldung ausgegeben.

  • Zusätzlicher Parameter -AllowByEndUser für New-EmdbPolicy, der die „…durch Endanwender erlauben“-Optionen der neuen Policy bestimmt.
    Mögliche Werte sind: Cancel, Install, Reinstall, Repair, Uninstall, Update, All sowie Kombinationen dieser Werte.

  • Zusätzlicher Parameter -WakeUpMode für New-EmdbPolicy.
    Mögliche Werte sind: None, Installer sowie ComputerAndInstaller.

  • Zusätzlicher Parameter -WakeUpTimeSpan für New-EmdbPolicy.
    Gültige Parameterwerte sind alle Werte, die in ein TimeSpan-Objekt umgewandelt werden können, wie zum Beispiel „1:30:00“ (1 Stunde und 30 Min) oder eine Zahl zwischen 1 und 1000000, was die entsprechende Anzahl Minuten ergibt.

  • Zusätzliche Methode PrepareDistribution an Objekten vom Typ EmdbSoftwarePackage.
    Anmerkung: Die Methode ruft die entsprechende SOAP API zur Vorbereitung der Distribution auf. Da erforderliche Änderungen im Dateisystem nicht vorgenommen werden, wird die Ausführung mit einer entsprechenden Fehlermeldung abgewiesen, wenn sie nicht über den (optionalen) Parameter customDepotManagement erzwungen wird (damit gleiches Verhalten wie z.B. bei der Delete Methode von EmdbSoftwarePackage).

  • Zusätzliche Objekttypen, die neu in DSM 2016.1 definiert wurden:
    • EmdbDeviceControlPolicy
    • EmdbDeviceClass
    • EmdbWindowsDeviceClass
    • EmdbDeviceAssignmentObject
    • EmdbEScriptRedistributablePackage
    • EmdbLPRUnixPatchCatalog
    • EmdbLPRUnixPatchPackage
    • EmdbUniversalScriptPatchCatalog
    • EmdbUniversalScriptPatchPackage
    • EmdbUniversalScriptRedistributablePackage

  • Zusätzliche Eigenschaften, die neu in DSM 2016.1 eingeführt wurden:
    • InstalledOSVersion in Eigenschaftsgruppe BasicInventory
    • PositionInTimeSpan,
    • AdminWakeUpTime,
    • AdminWakeUpMode und
    • CalculatedWakeUpTime jeweils in Eigenschaftsgruppe Computer
    • WindowsDeviceClass und
    • DeviceClass jeweils in Eigenschaftsgruppe Device
    • Checksum in Eigenschaftsgruppe FilesetProps
    • PolicyId und
    • ComputerId jeweils in Eigenschaftsgruppe HEATSMAssignmentInfo
    • ExecutionDateIsLocalTime in Eigenschaftsgruppe Job
    • OSPlatform in Eigenschaftsgruppe PatchCategoryObject
    • WakeUpMode und
    • WakeUpTimeSpan jeweils in Eigenschaftsgruppe Policy
    • ReplacementId und
    • SoftwareTags jeweils in Eigenschaftsgruppe Software

  • Zusätzlicher Datentyp für Eigenschaften, der neu in DSM 2016.1 eingeführt wurde:
    • Version (wird bei der Eigenschaft BasicInventory.InstalledOSVersion verwendet)

  • Umbenannte Eigenschaften in PSX 3.4:
    • DisplayOrderId zu DisplayOrder an EmdbVariable und EmdbVariableGroup (aus Abwärtskompatibilitätsgründen wurde bisherige Eigenschaft wurde zusätzlich beibehalten).

  • Entfallene Eigenschaften in PSX 3.4:
    • WakeUpForExecution an Objekten vom Typ Policy – ersetzt durch WakeUpMode (entfallene Eigenschaft wurde aus Abwärtskompatibilitätsgründen beibehalten)