SharePoint 2010/2013 Liste mit AD-Usern füllen

Das könnte so gehen….

————————————————————————————

Import-Module ActiveDirectory

$AllUsers=Get-ADUser -Filter * -SearchBase „DC=CONTOSO,DC=COM“ -Properties *

Add-PSSnapin Microsoft.SharePoint.PowerShell -EA SilentlyContinue

#Variablen zum adressieren der Liste
$webURL = „http://intranet.contoso.com
$listName = „ADUsers“ 
#Webseite adressieren
$web = Get-SPWeb $webURL 
#Liste adressieren
$list = $web.Lists[$listName]

foreach ($User in $AllUsers) {
    foreach ($item in $list.items) {
        if ($item[„Title“] -eq $User.SID) {
            $item[„Name“] = $User.DisplayName
            $item[„EMail“] = $User.EmailAddress
            $item[„OfficePhone“] = $User.OfficePhone
            $item.update()
            $Flag =“gefunden“
        }
    }
    if ($Flag -ne „gefunden“) {  
            #Neuen Eintrag erstellen
            $newItem = $list.Items.Add()  
            #Eigenschaften ins ListItem füllen
            $newItem[„Title“] = $User.SID
            $newItem[„Name“] = $User.DisplayName
            $newItem[„EMail“] = $User.EmailAddress
            $newItem[„OfficePhone“] = $User.OfficePhone
            #Listenelement schreiben
            $newItem.Update()
    }
    $Flag=““
}

—————————————————–

Es wird über die SID geprüft, ob bereits ein Eintrag vorhanden ist. Falls ja, wird der Eintrag aktualisiert, falls nein, wird ein neuer erstellt.

Die Liste muss vorhanden sein und die entsprechenden Spalten enthalten. Vor dem ersten Durchlauf muss mindestens EIN Eintrag in der Liste vorhanden sein. Dieser muss einmal von Hand eingetragen werden und kann nach dem ersten Durchlauf gelöscht werden.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.