SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




PowerShell um User auf Feld zu ermitteln

Geprüfte Antwort Dieser Beitrag hat 1 Antworten

Ohne Rang
194 Beiträge
Florian Lippert erstellt 6 Juni 2016 15:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Servus,

folgende Ausgangssituation existiert momentan:

In einer WebSite liegt eine Liste (list1) und diese hat eine Spalte (spfield1) welches ein MultiUserLookUp ist welches sowohl User als auch Gruppen zulääst.

Ich versuche momentan per Powershell jedes Item zu durchlaufen, das Feld aszulesen und jedes UserObject welches Dort eingetragen ist auszugeben.

foreach($item in $list.Items)
{
    $users = $item['spfield1']

    foreach($user in $users)
    {
        Write-Host "-------"
        $userObject = New-Object Microsoft.SharePoint.SPFieldUserValue($web, $user)
        $userObject

        $foundUser = $web.Users.GetByID($userObject.LookupId);
        $foundUser
    }

}

Am Ende jedes Items versuche ich aus dem LookpFieldValue einen User aufzulösen. Einige existieren nicht (warum? :/). Ich will an der Stelle aber eigentlich auch noch wiessen ob es eine Gruppe oder ein User ist.

Kann mir da jemadn weiterhelfen, so das ich am Ende entwerder einen SPUser oder eine SPGroup als objekt habe?

 

Danke und viele Grüße

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Juni 2016 16:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

$users = New-Object Microsoft.SharePoint.SPFieldUserValueCollection($web, $item["spfield1"]
foreach ($user in $users) {
if ($user.User -eq $null) {
# it's a SP group
} else {
if ($user.User.IsDomainGroup) {
# it's an AD group
} else {
# it's a SP user
}
}
}

Viele Grüße
Andi
af @ evocom de
Blog