3

PowerShell を使用して SharePoint クライアント側オブジェクト モデルにアクセスして使用する方法の例がオンラインで多数あります。しかし、もちろん、それらは私にはうまくいかないようです。資格情報コードの一部にアクセスできないようです。

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 サーバーにアクセスしようとしています。私が間違っていることを誰かが知っていますか?

OK、非常に多くの回答から、この接続に間違った認証タイプを使用していることがわかりました。だから私は次のように変更しました:

$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

これはまったく意味がありません。誰でもこれについて何か助けがありますか?

4

4 に答える 4

0

SharePoint 2013 オンプレミス インストールに対して、以下を正常に使用しています。資格情報の入力を求めるという点で、あなたの例とは少し異なりますが、一般的には、スクリプトにパスワードを入力するよりも優れたアプローチだと思います。

$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($url)
$credentials = Get-Credential
$ctx.Credentials = $credentials
...
于 2013-10-31T20:50:09.650 に答える