Я пытаюсь выяснить изменения, внесенные в список задач в sharepoint онлайн с помощью CSOM. (Microsoft.SharePoint.Client.dll) Я смог запросить изменения с помощью метода GetChanges класса List, но не знаю, что делать дальше. Я специально ищу, как получить информацию, связанную с изменениями списка в определенных столбцах, старыми значениями, новыми значениями, пользователем, внесшим изменение, и т. д. Возможно ли это? Я знаю о свойстве Change.ChangeToken, но не знаю, как реализовать его в PowerShell. Вот мой неполный код:
[Reflection.Assembly]::LoadFrom("$scriptdir\Microsoft.SharePoint.Client.dll")
$context = New-Object Microsoft.SharePoint.Client.ClientContext($siteURL)
$context.RequestTimeOut = 1000 * 60 * 10;
$context.AuthenticationMode = [Microsoft.SharePoint.Client.ClientAuthenticationMode]::Default
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePassword)
$context.Credentials = $credentials
$web = $context.Web
$site = $context.Site
$context.Load($web)
$context.Load($site)
$context.ExecuteQuery()
Set-Variable -Name "clientContext" -Value $context -Scope Global
Set-Variable -Name "rootSiteUrl" -Value $siteURL -Scope Global
Function Get-ListChanges {
$listName = "Tasks"
$list = $clientContext.Web.Lists.GetByTitle($listName)
$cq = new-object Microsoft.Sharepoint.Client.ChangeQuery($true,$true)
$changes = $list.GetChanges($cq)
$clientContext.Load($changes)
$clientContext.ExecuteQuery()
$changes.count
foreach ($item in $changes) {
# get data here from specific column name/old values/newvalues
}
}
Спасибо, что заглянули сюда!
ОБНОВЛЕНИЕ: по запросу результат $item.GetType() для одного элемента изменения...
Module : System.Management.Automation.dll
Assembly : System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
TypeHandle : System.RuntimeTypeHandle
DeclaringMethod :
BaseType : System.Object
UnderlyingSystemType : System.Management.Automation.PSCustomObject
FullName : System.Management.Automation.PSCustomObject
AssemblyQualifiedName : System.Management.Automation.PSCustomObject, System.Management.Automation, Version=3.0.0.0, Culture=neutral
PublicKeyToken=31bf3856ad364e35
Namespace : System.Management.Automation
GUID : 5f6aa156-8585-35c9-a6ae-2aefd06aaa4a
IsEnum : False
GenericParameterAttributes :
IsSecurityCritical : True
IsSecuritySafeCritical : False
IsSecurityTransparent : False
IsGenericTypeDefinition : False
IsGenericParameter : False
GenericParameterPosition :
IsGenericType : False
IsConstructedGenericType : False
ContainsGenericParameters : False
StructLayoutAttribute : System.Runtime.InteropServices.StructLayoutAttribute
Name : PSCustomObject
MemberType : TypeInfo
DeclaringType :
ReflectedType :
MetadataToken : 33554762
GenericTypeParameters : {}
DeclaredConstructors : {Void .cctor(), Void .ctor()}
DeclaredEvents : {}
DeclaredFields : {SelfInstance}
DeclaredMembers : {System.String ToString(), Void .cctor(), Void .ctor(), SelfInstance}
DeclaredMethods : {System.String ToString()}
DeclaredNestedTypes : {}
DeclaredProperties : {}
ImplementedInterfaces : {}
TypeInitializer : Void .cctor()
IsNested : False
Attributes : AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
IsVisible : True
IsNotPublic : False
IsPublic : True
IsNestedPublic : False
IsNestedPrivate : False
IsNestedFamily : False
IsNestedAssembly : False
IsNestedFamANDAssem : False
IsNestedFamORAssem : False
IsAutoLayout : True
IsLayoutSequential : False
IsExplicitLayout : False
IsClass : True
IsInterface : False
IsValueType : False
IsAbstract : False
IsSealed : False
IsSpecialName : False
IsImport : False
IsSerializable : False
IsAnsiClass : True
IsUnicodeClass : False
IsAutoClass : False
IsArray : False
IsByRef : False
IsPointer : False
IsPrimitive : False
IsCOMObject : False
HasElementType : False
IsContextful : False
IsMarshalByRef : False
GenericTypeArguments : {}
CustomAttributes : {}
$item.getType()
) такого элемента изменений, чтобы мы могли взглянуть на свойства? - person Paul   schedule 28.11.2014