繁体   English   中英

将 Powershell Connect-PnPOnline 转换为 C#

[英]Convert Powershell Connect-PnPOnline to C#

寻找如何将共享点 PnP 的大量 powershell 转换为 C#

示例: Connect-PnPOnline

一些Powershell

$PasswordAsSecure = ConvertTo-SecureString $Password -AsPlainText -Force
$Credentials = New-Object System.Management.Automation.PSCredential ($UserName , $PasswordAsSecure)
Connect-PnPOnline -Url $SiteUrl -Credentials $Credentials
$RootSiteContext = Get-PnPContext

# Determine the SharePoint version
$ServerVersion = (Get-PnPContext).ServerLibraryVersion.Major

为了这在 C# 应用程序中?

这是一些“有效”的更具体的 powershell,但 github 示例库并没有那么有用。

                    Connect-PnPOnline -Url $hubUrl -Credentials $O365Credentials
                    $sc = Get-PnPSite
                    $w = Get-PnPWeb
                    $baseRelUrl=$w.ServerRelativeUrl
                    if (-not $baseRelUrl ) {
                          throw "hub site isn't created"
                    }

PnP PowerShell 将很多东西隐藏在幕后,让您轻松使用。

要将您的代码修改为 C#,需要按如下方式编写:

var siteUrl = "https://your-sitecollection-url";
var userName = "userName";
var password = "password";

using (ClientContext clientContext = new ClientContext(siteUrl))
{
    SecureString securePassword = new SecureString();
    foreach (char c in password.ToCharArray())
    {
        securePassword.AppendChar(c);
    }

    clientContext.AuthenticationMode = ClientAuthenticationMode.Default;
    clientContext.Credentials = new SharePointOnlineCredentials(userName, securePassword);

    clientContext.ExecuteQuery();

    var ServerVersion = clientContext.ServerLibraryVersion.Major;

    var site = clientContext.Site;
    var web = clientContext.Site.RootWeb;

    clientContext.Load(web, w => w.ServerRelativeUrl);
    clientContext.ExecuteQuery();

    var serverRelativeUrl = clientContext.Site.RootWeb.ServerRelativeUrl;
}

要执行此代码,您的项目中将需要Microsoft.SharePointOnline.CSOM nuget 包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM