Configuration Manager 2012 und Powershell – Benutzer/Computer aus einer Sammlung löschen

Dejan Milic am 14. Februar 2012

Heute sollte ich ein Powershellskript entwickeln, mit dem man einen Benutzer/Computer aus einer Sammlung löschen kann. Hier ist das Ergebnis.

Bei der Ausführung des Skripts müssen die Variablen “CollectionID” und “Benutzerkonto” definiert werden (z.B. ONT0001A und hhesse).

Param
(
[parameter(mandatory=$true)]

[ValidateNotNullOrEmpty()]
[string]
$CollID,
[parameter(mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string]
$MemberName
)

$Coll = [WMI]”ROOT\SMS\Site_<Site Code>:SMS_Collection.CollectionID=’$CollID'”

Wenn ein Benutzer zu einer Sammlung hinzugefügt wird (z.B. hhesse), ist der Membership Rule Name als “<Domain>\<Benutzerkonto> (<Full Name>)” (z.B.”Contoso\hhesse (Hermann Hesse)”) in Configuration Manager angelegt. In diesem Fall muss man den Membership Rule Name herausfinden. (die Benutzersammlungen in Configuration Manager haben den Wert “1” als CollectionType).

if ($Coll.CollectionType -eq 1)
{
$MemberName = $($Coll.CollectionRules | Where{$_.RuleName -match “$MemberName”}).RuleName
}

Bei Ausfürung der DeleteMembershipRule Methode des Collection-Objekts wird dann der Eintrag (Benutzer/Computer) aus der Sammlung gelöscht.

$Coll.DeleteMembershipRule($($Coll.CollectionRules | Where{$_.RuleName -eq “$MemberName”}))

Tags: ,

Kommentare sind geschlossen.