Variablenwerte abrufen

Beim Abrufen von Variablenwerte müssen diese stets für ein Ziel-Objekt ermittelt werden. In der Kombination von Variable und Ziel stehen dann mehrere Möglichkeiten zur Verfügung. Einerseits kann das Cmdlet Get-EmdbVariable mit dem Parameter Target verwendet werden. Die andere Möglichkeit besteht in der Verwendung der ResolveVariables()-Methode von Objekten.


Beispiele:


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


Mit Hilfe des Get-EmdbVariable Cmdlets werden im folgenden Beispiel die Werte aller gesetzten Variablen für den Computer XP01 ermittelt. Dabei ist das Ergebnis selbst wieder eine Objekt-Collection, die aber eine Eigenschaft Value haben


$MyComputer = Get-EmdbComputer "emdb:\rootDSE\Managed Users & Computers\solys.local\Chicago\ITService\Workstations\XP01"

Get-EmdbVariable -Target $MyComputer


Um nur eine Variable aufzulösen, kann der Name der Variable angegeben werden:


Get-EmdbVariable "InternalID" -Target $MyComputer


Um nun den wirklichen Wert einer Variablen für ein bestimmten Ziel in einer PowerShell-Variablen zu speichern, kann daher der folgende Code benutzt werden:


$MyValue = (Get-EmdbVariable "InternalID" -Target $MyComputer).Value


Wie bereits beschrieben, kann alternativ auch die ResolveVariables()-Methode verwendet werden, was dasselbe Ergebnis liefert, wie das erste Beispiel oben.


$MyComputer.ResolveVariables()


Hinweis: Wenn Sie den Wert von Variablen vom Typ "EncryptedString" über die PowerShell Extensions abrufen, erhalten Sie nur den verschlüsselten Wert. Dieser kann nur durch den BLS oder durch NetInstall-Clientkomponenten entschlüsselt und entsprechend verwendet werden.