Imageobjekte abrufen

Die in der DSM-Umgebung verfügbaren Image-Objekte werden mit dem Cmdlet Get-EmdbStateImage abgerufen.


Beispiele:


Hinweis: Voraussetzung für die Beispiele ist ein verbundenes PowerShell-Laufwerk.


Das folgende Beispiel ruft alle verfügbaren Image-Objekte aus dem Ordner "Image Library" und eventuellen Unterordnern ab:


Get-EmdbStateImage  "emdb:\rootDSE\Global Software Library\Image Library\*" -Recurse


In der Regel werden Image-Objekte mit Image-Gruppen assoziiert. Diese Assoziation ist jedoch in der DSMC bisher nicht sichtbar, über die PowerShell Extensions haben Sie jedoch die Möglichkeit, die zu einem Image-Objekt "gehörende" Image-Gruppe herauszufinden. Dazu rufen Sie zunächst das Image-Objekt ab und lesen aus der Eigenschaft ImageGroup die Objekt-ID der assoziierten Image-Gruppe. Dann können Sie das zugehörige Objekt abrufen.


$MyImage = Get-EmdbStateImage  "emdb:\rootDSE\Global Software Library\Image Library\Win7 Master Image"

$MyImageGroup = Get-EmdbGroup -Path "emdb:\rootDSE\Managed Users & Computers\*" -Filter "ObjectID=$($MyImage.ImageGroup)" -Recurse


In der Content-Eigenschaft eines Image-Objekts ist der Inhalt des Images in XML-Notation abgespeichert. Dieser Inhalt kann ausgelesen und zum Beispiel für Dokumentationszwecke weiterverarbeitet werden:


$MyImageContent = (Get-EmdbStateImage  "emdb:\rootDSE\Global Software Library\Image Library\Win7 Master Image").Content


Abrufen des Image-Objekts "Windows 8.1 Reference Image" unterhalb des aktuellen Kontextes durch Angabe der Item-ID (die ID kann in verschiedenen DSM-Umgebungen variieren):


Get-EmdbStateImage -ItemID 1983 -Recurse


Tipp: Statt ItemID kann auch der Alias ID verwendet werden.


Seit PSX 3.1 gibt es die Möglichkeit beim Abrufen von Imageobjekten über den SingleItemExpected-Schalter anzugeben, dass beim Abruf kein oder genau nur ein Objekt erwartet wird. Liefert das Kommando mehr als ein Objekt, so wird eine Fehlermeldung erzeugt, die in Scripts abgefangen und behandelt werden kann.