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();
      }
   }
}

另请参阅

引用

SPChangeUser 类

SPChangeUser 成员

Microsoft.SharePoint 命名空间

IsSiteAdmin