Policy-Targetliste bearbeiten

Wie im Abschnitt Allgemeine Informationen beschrieben, besitzt eine Policy genau ein assoziiertes Software Paket, die Targetliste der Policy kann jedoch eine beliebige Anzahl Ziele umfassen. Dies stellt zwar normalerweise eher die Ausnahme dar - in der Regel werden Sie für ein Policy-Objekt auch genau ein Ziel definiert haben - ist jedoch von der technischen Seite absolut unproblematisch und muss daher auch berücksichtigt werden.


Um die Targetliste einer Policy zu bearbeiten, müssen Sie daher wieder zunächst das entsprechende Policy-Objekt in einer Variablen speichern. Um dann Ziele hinzuzufügen, verwenden Sie die AddTarget()-Methode des Objekts. Über die RemoveTarget()-Methode können analog bestehende Ziele wieder aus der Targetliste entfernt werden. Über die GetTargetObjects()-Methode ermitteln sie die aktuellen Targetliste. Alternativ kann eine Liste der Policy-Target IDs auch über die Eigenschaft TargetObjectList ermittelt werden, beziehungsweise deren Name über die Eigenschaft TargetObjectNameList.


Beispiele:


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


Um zu der im Abschnitt Policies anlegen erzeugten Policy ein weiteres Ziel hinzuzufügen, können Sie folgendermaßen vorgehen:


$MyPolicy = Get-EmdbPolicy "emdb:\rootDSE\Managed Users & Computers\solys.local\Adobe Reader 9.0 Rechner" | Where-Object {$_.AssignedObjectName -eq "Adobe Reader 9.0"}

$MyNewPolicyTarget = Get-EmdbGroup "emdb:\rootDSE\Managed Users & Computers\solys.local\Adobe Reader 8.0 Rechner"

$MyPolicy.AddTarget($MyNewPolicyTarget)


Wie Sie die aktuelle Liste der Policy-Targets für obige Policies zu ermitteln, zeigt folgender Code:


$MyPolicy = Get-EmdbPolicy "emdb:\rootDSE\Managed Users & Computers\solys.local\Adobe Reader 9.0 Rechner" | Where-Object {$_.AssignedObjectName -eq "Adobe Reader 9.0"}

$MyPolicy.GetTargetObjects()


Um die Gruppe "Adobe Reader 8.0 Rechner" wieder aus der Policy-Targetliste zu entfernen, verwenden Sie beispielsweise diese Vorgehensweise:


$MyPolicy = Get-EmdbPolicy "emdb:\rootDSE\Managed Users & Computers\solys.local\Adobe Reader 8.0 Rechner" | Where-Object {$_.AssignedObjectName -eq "Adobe Reader 9.0"}

$MyPolicyTarget = Get-EmdbGroup "emdb:\rootDSE\Managed Users & Computers\solys.local\Adobe Reader 8.0 Rechner"

$MyPolicy.RemoveTarget($MyPolicyTarget)