Configuration Manager 2012 und Powershell – Benutzer zu einer Sammlung hinzufügen

Dejan Milic am 30. Januar 2012

In diesem Artikel wird gezeigt, wie Sie mittels Powersehllskript einen Benutzer zu einer 2012 Benutzersammlung hinzufügen können. Dazu wird der Benutzer mithilfe von Direkte Mitgliedschaftregel zur Benutzersammlung hinzugefügt.

Das Skript sieht wie folgt aus:

 

 

— SKRIPT —
# Site Code
$strSite = “CA0″

# ID of the collection to which user will be added to
$strCollectionID = “CA1000016″

# ID of the User
$intUserID = 2063597570

# WMI Path for WMI related statements
$strWMIPath = “\\.\ROOT\SMS\Site_{0}” -f $strSite
$collPath=”{0}:SMS_Collection.CollectionID='{1}'” -f $strWMIPath, $strCollectionID

$coll = [WMI]$collPath
$ruleClass = [WMICLASS]($strWMIPath + “:SMS_CollectionRuleDirect”)
$newRule = $ruleClass.CreateInstance()
# Rule Name is optional
$newRule.RuleName = “UserABC”
$newRule.ResourceClassName = “SMS_R_User”
$newRule.ResourceID = $intUserID
$null = $coll.AddMembershipRule($newRule)
$coll.requestrefresh()

— ENDE —

Die Standortnamme, Sammlung ID und Benutzer ID sind festkodiert. Die UserID und CollectionID können Sie mit den folgenden Kommandozeilen herausfinden:

Get-WmiObject -namespace ROOT\SMS\Site_<Site Code> -Class SMS_R_User -filter “UserName = ‘<User Name>'”
Get-WmiObject -namespace ROOT\SMS\Site_<Site Code> -Class SMS_Collection -filter “Name = ‘<Collection Name>'”

Man kann auch dieses als imput Parameter diefinieren und das Skript als AddUser.ps1 -param1 parameter -param2 parameter … ausführen. In diesem Fall die Input Parameters können im Skript z.B. so definiert werden:

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

Tags: , , , ,

Kommentare sind geschlossen.