„Benutzerinformationsliste“ – „User Information List“ – „UserInfo“

Was ist die „Benutzerinformationsliste“ – „User Information List“ – „UserInfo“?

Die „Benutzerinformationsliste“ („Title“ in deutschen Systemen) bzw. „User Information List“ („Title“ in englischen Systemen) bzw. „UserInfo“ („EntityTypeName“ in PowerShell bzw. Anzeige in MS-Access) ist eine versteckte SharePoint-Liste.

In jeder Websitesammlung existiert diese UserInfo-Liste (für jede Sitecollection eine eigene), auf die der Websitesammlungsadministrator zugreifen kann.

Diese Liste enthält Zeilen mit Benutzerinformationen und unter anderem folgenden Metainformationen (je nach dem, auf welche Art diese Liste angezeigt wird, s. weiter unten):

  • PowerShell (Get-SpUser)
    • Name
    • Email
    • Notes
    • LoginName
    • Groups
    • OwnedGroups
    • ID
    • Xml
    • RawSid
    • Sid
    • SystemUserKey
    • UserId
    • IsSiteAdmin
    • IsSiteAuditor
    • IsDomainGroup
    • IsApplicationPrincipal
    • IsHiddenInUI
    • IsShareByEmailGuestUser
    • RequireRequestToken
    • AllowBrowseUserInfo
    • IsUserSettingsSyncedWithProvider
    • Alerts
    • UserToken
    • RegionalSettings
    • LanguageSettings
    • ParentWeb
    • Roles
    • UserLogin
    • DisplayName
  • MS-Access
    • ID
    • Name
    • Konto
    • Geschäftliche E-Mail-Adresse
    • Handy
    • Info
    • SIP-Adresse
    • Ist Websiteadministrator
    • Gelöscht
    • Ausgeblendet
    • Foto
    • Abteilung
    • Titel
    • Vorname
    • Nachname
    • Telefon (geschäftlich)
    • Benutzername
    • Website
    • Fragen
    • Büro
    • Bildzeitstempel
    • Bildplatzhaltestatus
    • Bildplatzhalter-Synchronisierungsstatus
    • Firma
  • SharePoint Web-GUI
    • Name (DisplayName)
    • Info
    • Titel
    • Abteilung

Es wird jedes mal ein neuer Eintrag mit Benutzerinformationen erzeugt (falls der Benutzer noch nicht in der Liste), sobald jemand auf ein Element bzw. die Site berechtigt wird, bzw. sich auf der Site anmeldet.

Beispiel: In der Liste „User Information List“ einer frisch erstellten SiteCollection befinden sich die initial darauf berechtigten Personen (wie SiteCollection-Admins, Site-Besitzer etc.). Wenn ich nun, als WebApplikation-Admin auf die SiteCollection zum ersten mal zugreife (perspielsweise per PowerShell-CMDlet Get-SpUser), dann wird meine aktuelle Benutzerkennung mit den dazugehörigen Metainformationen in diese „User Information List“ eingetragen. Die Informationen kommen entweder aus dem Benutzerprofildienst (User Profile Service) oder aus dem AD.

Wie kann ich die „Benutzerinformationsliste“ – „User Information List“ – „UserInfo“ anzeigen

Es gibt mehrere Arten, die versteckte Liste mit dem Titel „Benutzerinformationsliste“ bzw. „User Information List“ anzuzeigen. Es werden, je nach Zugriffsart mehr oder weniger Informationen angezeigt.

„Benutzerinformationsliste“ direkt im SharePoint anzeigen

Die Liste „Benutzerinformationsliste“ bzw. „User Information List“ kann sehr einfach und schnell direkt in der SharePoint-WebGUI angezeigt werden. Die Anzahl der Spalten bzw. der Attribute ist hier allerdings sehr gering.

Die URL der Sitecollection muss um folgenden Teil (ein aus diesen drei) erweitert werden.

  • _catalogs/users/simple.aspx
  • _catalogs/users/detail.aspx
  • _layouts/15/people.aspx?MembershipGroupId=0

Bei den beiden ersten URLs werden die Benutzerlisten nur angezeigt, bei der dritten URL kann man den Benutzer auch komplett aus diesen Listen und somit auch aus der SiteCollection entfernen.

Beispiel für eine zusammengesetzte URL:
https://sharpoint-portal.de/sitecollection/_layouts/15/people.aspx?MembershipGroupId=0

Benutzer und Gruppen - Alle Personen - _layouts-15-people.aspx-MembershipGroupId-0 - Benutzerinformationsliste - SharePoint 2013

„Benutzerinformationsliste“ in MS-Access anzeigen

Es ist möglich eine SharePoint-Liste, sowie die uns hier interessierende „Benutzerinformationsliste“, in Microsoft Access zu öffnen.

Es werden umfangreiche, in anderen Zugriffsarten nicht vorhandene, Metainformationen (wie Telefon) angezeigt.

Benutzerinformationsliste - UserInfo - Name - Konto - Geschäftliche E-Mail-Adresse - MS Access

 

Neue, leere Access-Datenbank erstellen.

Reiter „Externe Daten“ > Button „Weitere Optionen“ > „SharePoint-Liste

Reiter Externe Daten - Button Weitere Optionen - SharePoint-Liste - MS Access

URL der SiteCollection einfügen, die zweite Option „Erstellen Sie eine Verknüpfung zur Datenquelle, indem Sie eine verknüpfte Tabelle erstellen“ auswählen, „Weiter“ klicken.

Quelle und Ziel der Daten auswählen - Erstellen Sie eine Verknüpfung zur Datenquelle - MS Access

Liste „UserInfo“ auswählen und „OK„.

Wählen Sie die SharePoint-Listen aus, zu denen Sie eine Verknüpfung herstellen möchten - UserInfo - MS Access

„Benutzerinformationsliste“ in PowerShell anzeigen

Es ist zwar per PowerShell möglich, sich wie gewohnt den Inhalt der Liste „Benutzerinformationsliste“ bzw. „User Information List“ auszugeben (s.u).

$site = Get-SPSite "https://sharpoint-portal.de/sitecollection"
$web = $site.OpenWeb()
#$list = $web.lists["User Information List"]
$list = $web.lists["Benutzerinformationsliste"]
$list.Items | fl | Out-File c:\DumpUserInfoList.txt

 

Aber SharePoint bringt für PowerShell ein eigenes, dafür besser geeignetes CMD-let: Get-SpUser.

# UserInfo-Liste bzw. "User Information List" bzw. "Benutzerinformationsliste" anzeigen
# ----------------------------------------------------
$WebURL = "https://sharpoint-portal.de/sitecollection"   #SiteCollection

Write-Verbose "SharePoint-Module werden geladen..."
Add-PSSnapin Microsoft.SharePoint.PowerShell

# Puffer (sonst werden z.B. Spalten rechts abgeschnitten in der Konsolen- und TXT-Ausgabe etc.)
$buffer = $host.ui.RawUI.BufferSize; $buffer.width = 3000; $buffer.height = 3000; $host.UI.RawUI.Set_BufferSize($buffer)

# Web-Objekt und List-Objekt aus den oberen Eingaben holen
$Web = Get-SPWeb $WebURL; Write-Verbose "Website: $Web"

# Alle User der SiteCollection ausgeben
#Ist die selbe Ausgabe wie: (Get-SpWeb $Web).SiteUsers
# Dieselben Einträge wie in "..._layouts/15/people.aspx?MembershipGroupId=0" und "..._catalogs/users/simple.aspx" und "..._catalogs/users/detail.aspx"
$user = $web | Get-SPUser -Limit ALL                 

# Benutzer mit Spalten ausgeben
#$user | ft -AutoSize *

# Benutzer mit den nötigsten Spalten in der Konsole ausgeben, sortiert nach ID
#$user | Sort ID | ft -AutoSize ID, UserLogin, DisplayName, Name, LoginName, SystemUserKey, IsSiteAdmin, IsSiteAuditor, IsDomainGroup, Email, Sid, Roles, Groups, OwnedGroups, IsShareByEmailGuestUser, RequireRequestToken, AllowBrowseUserInfo, IsUserSettingsSyncedWithProvider, Alerts, UserToken

# Benutzer mit den nötigsten Spalten in GridView ausgeben, sortiert nach DisplayName
$user | Sort DisplayName | Select ID, UserLogin, DisplayName, Name, LoginName, SystemUserKey, IsSiteAdmin, IsSiteAuditor, IsDomainGroup, Email, Sid, Roles, Groups, OwnedGroups, IsShareByEmailGuestUser, RequireRequestToken, AllowBrowseUserInfo, IsUserSettingsSyncedWithProvider, Alerts, UserToken | Out-GridView -Title "User Count:$($user.count)"

 

UserInfo - User Information List - Benutzerinformationsliste - Get-SpUser - Out-GridView - PowerShell

Anwendungsfall: „DisplayName“ korrigieren (Sync From AD)

 In manchen Fällen wird der DisplayName in der „User Information List“ nicht korrekt abgespeichert. Das Resultat ist: Der Name dieses Benutzers wird an vielen Stellen in dieser Websitesammlung falsch dargestellt (z.b. in der Form „Benutzerkennung@domain.com“ und nicht wie es korrekt wäre „Name, Vorname„.

Der Name kann per PowerShell korrigiert werden, bzw. vom AD synchronisiert werden. Dazu folgende Schritte durchführen.

Eventuell einen falschen Eintrag aus dem Benutzerprofildienst (User Profile Service = UPS) vorher entfernen.

# DisplayName aus dem AD ziehen und in SP aktualisieren
# ---------------------------------------------------------
$ProblemUserAccount = "Benutzerkennung"        #Benutzer-Kennung der Person, bei der der DisplayName nicht korrekt ist. Unten wird die Domäne dazu geschrieben.
$Domain = "@domain.de"            #Domäne (aus z.B. UserLogin oder LoginName)
$WebURL = "https://sharpoint-portal.de/sitecollection"   #SiteCollection

Write-Verbose "SharePoint-Module werden geladen..."
Add-PSSnapin Microsoft.SharePoint.PowerShell

# Puffer (sonst werden z.B. Spalten rechts abgeschnitten in der Konsolen- und TXT-Ausgabe etc.)
$buffer = $host.ui.RawUI.BufferSize; $buffer.width = 3000; $buffer.height = 3000; $host.UI.RawUI.Set_BufferSize($buffer)

# Web-Objekt und List-Objekt aus den oberen Eingaben holen
$Web = Get-SPWeb $WebURL; Write-Verbose "Website: $Web"

# Alle User der SiteCollection ausgeben
#Ist die selbe Ausgabe wie: (Get-SpWeb $Web).SiteUsers
# Dieselben Einträge wie in "..._layouts/15/people.aspx?MembershipGroupId=0" und "..._catalogs/users/simple.aspx" und "..._catalogs/users/detail.aspx"
$user = $web | Get-SPUser -Limit ALL    

# Aus der BenuntzekKennung den DisplayNamen bauen
$ProblemDisplayName = $ProblemUserAccount+$Domain

# Benutzer mit nicht korrektem "DisplayName"
$ProblemUser = $user | ?{$_.DisplayName -eq $ProblemDisplayName}

# Problem-User anzeigen
Write-Warning "Folgender Benutzer wird gleich aus dem AD neu eingelesen"
$ProblemUser | fl ID, UserLogin, DisplayName, Name, LoginName, SystemUserKey, IsSiteAdmin, IsSiteAuditor, IsDomainGroup, Email, Sid, Roles, Groups

# "DisplayName" ändern bzw. vom AD ziehen.
# set-spuser -identity $user -displayname "PEET\MigratedGroup"
Set-SPUser –Identity $ProblemUser –SyncFromAD –Web $Web -Confirm

# Noch einmal frische Benutzerliste ziehen
$user = $web | Get-SPUser -Limit ALL

# Benutzer mit der Problemkennung anzeigen (hier sollte jetzt der korrekte DisplayName angezeigt werden)
Write-Host "`nDer Benutzer sieht nun wie folgt aus" -ForegroundColor Cyan
$NotProblemUser = $user | ?{$_.UserLogin -like "*$ProblemUserAccount*"}
$NotProblemUser | fl ID, UserLogin, DisplayName, Name, LoginName, SystemUserKey, IsSiteAdmin, IsSiteAuditor, IsDomainGroup, Email, Sid, Roles, Groups

Quellen und Links

Teile diesen Beitrag

SharePoint Wiki Bibliothek migrieren

In diesem Beitrag möchte ich zeigen, wie man eine SharePoint Dokumentenbibliothek bzw. eine Wiki Bibliothek migrieren bzw. exportieren und in eine neue Seite importieren kann.

SharePoint Wiki Bibliothek migrieren weiterlesen

Teile diesen Beitrag

Nintex Workflows auflisten (Statusabhängig) – Tipp

Nintex Workflows auflisten (je nach Workflow-Status)

In diesem kurzen Tipp-Artikel zeige ich, wie man Nintex-Workflows nach Status (Running, Completed, Cancelled, Error) gefiltert, auflisten kann.

Das könnte z.B. dann hilfreich sein, wenn ein Workflow eine Mail verschickt, und man herausfinden will, welcher Workflow denn das nun genau tut.

Nintex Workflows auflisten (Statusabhängig) – Tipp weiterlesen

Teile diesen Beitrag

Telnet-Client per PowerShell installieren – Tipp

Telnet-Client per PowerShell auf einem Windows Server installieren

Mit Hilfe des Telnet-Client kann getestet werden, ob die Verbindung zu einem Server auf einem bestimmten Port funktioniert.

Leider ist der Telnet-Client zwar vorhanden, aber in Windows standardmäßig nicht aktiviert (als Feature nicht installiert).

In diesem kurzen Tipp möchte ich zeigen, wie man Telnet-Client per PowerShell installieren kann.

Telnet-Client per PowerShell installieren – Tipp weiterlesen

Teile diesen Beitrag

DocAve Backup Retention Rule funktioniert nicht – Tipp

Problem

DocAve Backup Retention Rule ohne Funktion

Trotz eingeschalteter Retention Rule kopiert oder verschiebt DocAve die Backups nicht auf das Ziellaufwerk. DocAve Backup Retention Rule funktioniert nicht – Tipp weiterlesen

Teile diesen Beitrag

Unbekannte Speicherplatzbelegung auf der Festplatte – Schattenkopien

Einleitung

Falls der Speicherplatz der Festplatte auf mysteriöse Weise verschwindet und die Summe der Dateigrößen diesen Umstand nicht erklären kann, dann ist es durchaus möglich, dass der Festplattenplatz von VSS bzw. von Schattenkopien belegt wird.

Wie man auf die Spur dieser Schattenkopien kommt zeige ich in diesem kurzen Tipp-Beitrag.

Unbekannte Speicherplatzbelegung auf der Festplatte – Schattenkopien weiterlesen

Teile diesen Beitrag

Web Part PageView: PageView=Shared vs. PageView=Personal

Web Part PageView=Shared & PageView=Personal

Es ist in SharePoint möglich, für eine Website-Seite (SharePoint-Web-Part- Page bzw. WebPage) eine persönliche Ansicht (PageView=Personal), mit eigenen Web-Parts zu definieren. Diese persönliche Ansicht wird nur mir persönlich beim Aufruf der Web Part Page angezeigt. Alle anderen Benutzer bekommen weiterhin die freigegebene Ansicht (PageView=Shared) zu Gesicht.

In diesem Artikel zeige ich, wie man diese Ansichten aufrufen und nutzen kann.

Web Part PageView: PageView=Shared vs. PageView=Personal weiterlesen

Teile diesen Beitrag

Alte IIS C:\inetpub\logs\LogFiles nach X Tagen bereinigen

IIS Log Dateien löschen, die älter sind als X Tage

Es kann passieren, dass der Ordner in dem der Web-Server die Log-Dateien speichert (C:\inetpub\logs\LogFiles) mit der Zeit recht groß wird.

Im Internetinformationsdienste (IIS)-Manager selbst kann man nur auswählen, wie oft eine neue Log-Datei erstellt oder wie groß die Log-Datei werden soll. Auch kann eingestellt werden, dass keine neuen Protokolldateien erstellt werden sollen. Allerdings kann nicht eingestellt werden, dass die neusten Dateien behalten und die alten Log-Dateien gelöscht werden.

internetinformationsdienste-iis-manager-protokollierung-c-inetpub-logs-logfiles

Wie die IIS Log Dateien, die älter als X Tage sind, trotzdem regelmäßig gelöscht werden können, zeige ich in diesem kurzen Artikel weiter unten.

Alte IIS C:\inetpub\logs\LogFiles nach X Tagen bereinigen weiterlesen

Teile diesen Beitrag

Windows Meldungen als Text kopieren – Tipp

Es ist in Windows möglich den Textinhalt der Meldungen als Text in die Zwischenablage zu kopieren

Viele kennen bereits die in Windows eingebaute Möglichkeit, ein Screenshot (Hardcopy) des angezeigten Fensters, Fehlermeldung oder des gesamten Bereichs als Bild zu erstellen. Man kann aber auch Windows Meldungen als editierbaren Text kopieren (z.B. den Textinhalt einer Fehlermeldung) und in die Anwendung seiner Wahl (z.B. Mail- oder Textprogramm) einfügen.

Dies kann auch sehr hilfreich sein, wenn man die Fehlermeldung im Internet recherchieren, und dabei nicht den ganzen Text in die Suchmaske des Browsers abtippen will.

Windows Meldungen als Text kopieren – Tipp weiterlesen

Teile diesen Beitrag

Windows Problem Step Recorder – PSR – Problemaufzeichnung

Wofür brauche ich den „Windows Problem Step Recorder“ (kurz PSR) bzw. die Problemaufzeichnung?

Die Administratoren, die Benutzersupport leisten müssen, kennen das: Der Benutzer beschreibt ein Problem welches für den Admin nicht leicht nachvollziehbar ist, da man nicht selbst vor dem Bildschirm sitzt, dementsprechend die Schritte, die zum Fehler führen nicht sieht und auch keine Screenshots zur Verfügung hat.

Die Benutzer kennen das Problem von der anderen Seite. Es tritt ein Fehler auf. Der Fehler und die Schritte, die zum Fehler führen, möchte man dem Admin bzw. dem Supporter möglichst detailliert zur Verfügung stellen, damit dieser die Situation gut erfassen und möglichst schnell eine Fehlerlösung anbieten kann.
Nun könnte der Benutzer anfangen Screenshots zu machen, diese in eine Mail oder eine Word-Datei einfügen und dem Admin zuschicken.

Es gibt aber eine elegantere, in Windows von Haus aus eingebaute Methode, um solche Schritte mit allen durchgeführten Klicks automatisch in eine komprimierte MHT-Datei aufzuzeichnen. Diese MHT-Datei kann dann vom Support mit einem Browser geöffnet werden.

Das Tool nennt sich „Windows Problem Step Recorder„bzw. abgekürzt „PSR“ oder auf Deutsch die „Problemaufzeichnung„. Es könnte auch sein, dass das Tool in einigen Windows-Versionen „Schrittaufzeichnung“ heißt.

Diesen Windows Problem Step Recorder kann man aber nicht nur zur Problemaufzeichnung verwenden, sondern damit auch auf einfache Weise Klickanleitungen und kurze Dokumentationen erstellen.

Windows Problem Step Recorder – PSR – Problemaufzeichnung weiterlesen

Teile diesen Beitrag