Есть много примеров онлайн о том, как использовать/использовать объектную модель клиентской стороны SharePoint с помощью PowerShell. Но, конечно, они не работают для меня. Я, кажется, возникли проблемы с доступом к некоторым из верительных кода:Использование Sharepoint CSOM с PowerShell
PS C:\Scripts> $webUrl = "https://abc.sharepoint.com>"
PS C:\Scripts> $username = "user3"
PS C:\Scripts> $password = "password"
PS C:\Scripts>
PS C:\Scripts> $ctx = new-object Microsoft.SharePoint.Client.ClientContext($webUrl)
PS C:\Scripts> $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
New-Object : Cannot find type Microsoft.SharePoint.Client.SharePointOnlineCredentials]: make sure the assembly containing this type is loaded.
At line:1 char:30
+ $ctx.Credentials = New-Object <<<< Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
+ CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
Я пытающегося получить доступ к серверу SharePoint 2010, мы поддерживаем, который требует аутентификации для входа в систему. Кто-нибудь знает, что я делаю неправильно?
ОК, так много ответов сказали мне, что я использую неправильный тип учетных данных для этого соединения. Таким образом, я изменил на:
$clientContext = New-Object Microsoft.SharePoint.Client.ClientContext($url)
$clientContext.AuthenticationMode = "FormsAuthentication"
$clientContext.FormsAuthenticationLoginInfo = New-Object Microsoft.SharePoint.Client.FormsAuthenticationLoginInfo("myDomain\myUser", "myPassword")
который, кажется, работает нормально. Но потом ...
$web = $clientContext.Web
$properties = $web.AllProperties
$clientContext.Load($web)
дает мне:
> Cannot find an overload for "Load" and the argument count: "1". At
> line:1 char:20
> + $clientContext.Load <<<< ($web)
> + CategoryInfo : NotSpecified: (:) [], MethodException
> + FullyQualifiedErrorId : MethodCountCouldNotFindBest
и когда я пытаюсь посмотреть на объект $ clientContent:
PS C:\Scripts> $clientContent | get-member
Get-Member : No object has been specified to the get-member cmdlet.
At line:1 char:28
+ $clientContent | get-member <<<<
+ CategoryInfo : CloseError: (:) [Get-Member], InvalidOperationException
+ FullyQualifiedErrorId : NoObjectInGetMember,Microsoft.PowerShell.Commands.GetMemberCommand
, который не имеет никакого смысла. Кто-нибудь может помочь?
Спасибо всем. Я пробовал все эти подходы, но до сих пор не работает, хотя мы используем аутентификацию Forms/Claims. Это то, что я получаю, независимо от того, что я пытаюсь: PS C: \ Scripts> $ clientContext.Загрузка ($ web) Невозможно найти перегрузку для «Загрузить» и количество аргументов: «1». В строке: 1 символ: 20 + $ clientContext.Load <<<< ($ Web) + CategoryInfo: NotSpecified: (:) [], MethodException + FullyQualifiedErrorId: MethodCountCouldNotFindBest –