SPChangeUser.IsSiteAdminChange-Eigenschaft
Gibt an, ob die Änderung fügt hinzu oder entfernt Administratorberechtigungen für die Website.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public ReadOnly Property IsSiteAdminChange As Boolean
Get
'Usage
Dim instance As SPChangeUser
Dim value As Boolean
value = instance.IsSiteAdminChange
public bool IsSiteAdminChange { get; }
Eigenschaftswert
Typ: System.Boolean
true Wenn die Änderung hinzugefügt oder, Standort-Administratorberechtigungen entfernt; andernfalls false.
Beispiele
Das folgende Beispiel zeigt eine Konsolenanwendung, die das Änderungsprotokoll für Änderungen an Websitesammlungsbenutzer abfragt. Dann Listet die Änderungen (falls vorhanden) und den Benutzernamen, Datum und Typ der einzelnen Änderungen an der Konsole ausgegeben. Wenn die Änderung für die Websitesammlung hinzugefügt oder, Standort-Administratorberechtigungen entfernt, druckt die Anwendung diese Informationen an die Konsole als auch.
Imports System
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using siteCollection As SPSite = New SPSite("https://localhost")
Using webSite As SPWeb = siteCollection.RootWeb
' Construct a query.
Dim query As New SPChangeQuery(False, False)
' Object type.
query.User = True
' Change types.
query.Add = True
query.Delete = True
query.Update = True
' Get the user collection.
Dim users As SPUserCollection = webSite.AllUsers
While True
Dim changes As SPChangeCollection = siteCollection.ContentDatabase.GetChanges(query)
For Each change As SPChange In changes
' Process Change.
Dim userChange As SPChangeUser = CType(change, SPChangeUser)
Try
' Throws an exception if not found.
Dim user As SPUser = users.GetByID(userChange.Id)
Console.WriteLine(ControlChars.Lf + "User {0} was changed.", user.LoginName)
If user.IsSiteAdmin Then
Console.WriteLine("This user is a site admin.")
End If
Catch ex As SPException
Console.WriteLine(ControlChars.Lf + "User {0} cannot be found", userChange.Id)
End Try
Console.WriteLine("Type of change: {0}", userChange.ChangeType.ToString())
If userChange.IsSiteAdminChange Then
Console.WriteLine("This change added or removed site admin privileges.")
End If
Console.WriteLine("Date of change: {0}", userChange.Time.ToShortDateString())
Next change
' Break out of the loop when we fetch the last batch of changes.
If changes.Count < SPChangeCollection.CountLimit Then
Exit While
End If
' Go get another batch of changes starting where we left off.
query.ChangeTokenStart = changes((changes.Count - 1)).ChangeToken
End While
End Using
End Using
Console.Write(vbCrLf + "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module
using System;
using Microsoft.SharePoint;
namespace Test
{
class ConsoleApp
{
static void Main(string[] args)
{
using (SPSite siteCollection = new SPSite("https://localhost"))
{
using (SPWeb webSite = siteCollection.RootWeb)
{
// Construct a query.
SPChangeQuery query = new SPChangeQuery(false, false);
// Object type.
query.User = true;
// Change types.
query.Add = true;
query.Delete = true;
query.Update = true;
// Get the user collection.
SPUserCollection users = webSite.AllUsers;
while (true)
{
SPChangeCollection changes = siteCollection.ContentDatabase.GetChanges(query);
foreach (SPChange change in changes)
{
// Process change.
SPChangeUser userChange = (SPChangeUser)change;
try
{
SPUser user = users.GetByID(userChange.Id); // Throws an exception if not found
Console.WriteLine("\nUser {0} was changed.", user.LoginName);
if (user.IsSiteAdmin)
{
Console.WriteLine("This user is a site admin.");
}
}
catch (SPException)
{
Console.WriteLine("\nUser {0} cannot be found", userChange.Id);
}
Console.WriteLine("Type of change: {0}", userChange.ChangeType.ToString());
if (userChange.IsSiteAdminChange)
Console.WriteLine("This change added or removed site admin privileges.");
Console.WriteLine("Date of change: {0}", userChange.Time.ToShortDateString());
}
// Break out of the loop when we fetch the last batch of changes.
if (changes.Count < SPChangeCollection.CountLimit)
break;
// Go get another batch of changes starting where we left off.
query.ChangeTokenStart = changes[changes.Count - 1].ChangeToken;
}
}
}
Console.Write("\nPress ENTER to continue...");
Console.ReadLine();
}
}
}