Свойство SPChangeUser.IsSiteAdminChange
Указывает ли изменение, добавление или удаление прав администратора веб-узла.
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public ReadOnly Property IsSiteAdminChange As Boolean
Get
'Применение
Dim instance As SPChangeUser
Dim value As Boolean
value = instance.IsSiteAdminChange
public bool IsSiteAdminChange { get; }
Значение свойства
Тип: System.Boolean
true , если изменение, добавление или удаление прав администратора веб-узла; в противном случае — false.
Примеры
В следующем примере показано консольное приложение, которое запрашивает журнал изменений для изменения пользователями семейства узлов. Перечисляет изменения (если есть) и выводит имя пользователя, Дата и тип каждого изменения в консоль. Если изменения в семействе веб-сайтов, добавляет или удаляет права администратора сайта, приложение выводит эту информацию на консоль, а также.
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();
}
}
}