Variablenwerte setzen

Die Werte von Variablen können auf verschiedenen Ebenen der Struktur gesetzt werden und werden dann in der Hierarchie nach unten vererbt. Generell lässt sich sagen, je "näher" die Variable an einem Blatt-Objekt, wie beispielsweise einem Computer, gesetzt wird, desto höher ist dir Priorität dieser Zuweisung. Details zur Vererbung und der Priorität können der DSM Online-Hilfe entnommen werden.


Um den Wert einer Variable zu setzen, wird das Set-EmdbVariable Cmdlet verwendet. Dieses erwartet, neben dem Namen der zu setzenden Variablen, auch das Objekt, für das die Variable gesetzt werden soll und den zu setzenden Wert. Alternativ kann auch die SetVariable()-Methode eines Objekts verwendet werden.


Beispiele:


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


Das folgende Beispiel setzt den Wert der Variablen "InternalID" auf dem Objekt "Managed Users & Computers" auf den Wert "xxx-yyyy":


$MyTarget = Get-EmdbDomain "emdb:\rootDSE\Managed Users & Computers"

Set-EmdbVariable "InternalID" -Target $MyTarget -Value "xxx-yyyy"


Da sich alle produktiven Computer unterhalb dieser Domäne befinden, wird der Wert an alle Objekte vererbt. Um nun den geerbten Wert der Variablen für den Computer XP01 zu überschreiben, kann dieser folgendermaßen gesetzt werden:


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

Set-EmdbVariable "InternalID" -Target $MyTarget -Value "001-0815"


Dasselbe ließe sich erreichen, indem die oben angesprochene SetVariable()-Methode verwendet wird. Diese Methode erwartet zwei Argumente: ein Variablen-Objekt und den der Variablen zuzuweisenden Wert:


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

$MyVariable = Get-EmdbVariable "InternalID"

$MyTarget.SetVariable($MyVariable, "001-0815")


WARNUNG: Wenn Sie den Wert von Variablen vom Typ "EncryptedString" über die PowerShell Extensions setzen, wird das Kennwort unverschlüsselt an den BLS übertragen und in der DSM Datenbank abgelegt. Wir empfehlen daher dringend, den Wert solcher Variablen manuell in der DSMC zu setzen.