当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:使用 PowerShell 获取列表设置

作者:精品下载站 日期:2024-12-14 14:39:59 浏览:17 分类:玩电脑

SharePoint Online:使用 PowerShell 获取列表设置


要求:使用 PowerShell 获取 SharePoint Online 列表设置。

如何在 SharePoint Online 中获取列表属性?

要获取列表属性,例如列表标题、描述、版本控制设置、需要签出等,您可以前往列表设置页面。

[玩转系统] SharePoint Online:使用 PowerShell 获取列表设置

SharePoint Online:用于获取列表属性的 PowerShell

您可以使用此 PowerShell 脚本获取 SharePoint Online 列表的列表属性。您所需要做的就是打开 PowerShell 并连接到您的 SharePoint Online 网站。然后,使用以下脚本获取列表属性:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
   
#Config Parameters
$SiteURL= "https://crescent.sharepoint.com"
$ListName="Projects"
 
#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
 
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Cred
   
    #Get the List
    $List=$Ctx.Web.Lists.GetByTitle($ListName)
    $Ctx.Load($List)
    $Ctx.ExecuteQuery()
  
    #Get List Properties: Title, Description
    Write-host -f Yellow "---  General Settings ---"
    Write-host "List Title:" $List.Title
    Write-host "List Description:" $List.Description
    #Write-host "Show in Quick Launch:" $List.OnQuickLaunch

    Write-host -f Yellow "--- Versioning settings ---"
    Write-host "Content Approval Enabled:" $List.EnableModeration
    Write-host "Versioning Enabled:" $List.EnableVersioning
    Write-host "Major Versions Limit:" $List.MajorVersionLimit
    #Write-host "Minor Versions Enabled:" $List.EnableMinorVersions
    Write-host "Minor Versions Limit:" $List.MajorWithMinorVersionsLimit        
    Write-host "Draft Versions Security:" $List.DraftVersionVisibility
    Write-host "Require Checkout:" $List.ForceCheckout  #In Document Libraries

    Write-host -f Yellow "--- Advanced settings ---"
    Write-host "Content Type Enabled:"$List.ContentTypesEnabled
    Write-host "Attachments Enabled:"$List.EnableAttachments
    Write-host "New Folders Command Available:"$List.EnableFolderCreation
    Write-host "No Crawl Flag:"$List.NoCrawl
    #Write-host "Offline Availability:"$List.ExcludeFromOfflineClient
    Write-host "List Experience:"$List.ListExperienceOptions
    
    #Other hidden Settings
    Write-host -f Yellow "--- Other settings ---"
    Write-host "List ID:"$List.ID
    Write-host "List Created On:"$List.Created
    Write-host "Last Item Deleted On:"$List.LastItemDeletedDate 
    Write-host "Last Item Modified On:"$List.LastItemModifiedDate
    Write-host "List Item Count:"$List.ItemCount
    Write-host "Is Hidden List:"$List.Hidden
    Write-host "Document Template:"$List.DocumentTemplateUrl #In Document Libraries
    Write-host "List Type:"$List.BaseType   
    
}
Catch {
    write-host -f Red "Error Getting List Properties!" $_.Exception.Message
}

使用此脚本从列表中获取所有属性:


$List | select -Property *

此命令将返回该列表的所有属性的列表。请注意,并非所有列表属性都可以通过 CSOM 检索或设置!以下是检索 SharePoint Online 列表或库的所有可用属性的一行:


$List | Select -Property ([Microsoft.SharePoint.Client.List].GetProperties().Where({$_.Propertytype -notlike "*Collection"})).Name

我们过滤了集合属性,因为任何集合都必须首先显式加载,然后才能访问!

要获取 List 对象可用的所有方法和属性,您可以使用 SharePoint Online 客户端浏览器或此 PowerShell 代码: $List |获取会员

PnP PowerShell 获取列表属性

另一种方法是使用 Get-PnPList cmdlet。您必须首先使用 Connect-PnPOnline cmdlet 连接到 SharePoint Online 才能使用此 cmdlet。连接后,您可以运行 Get-PnPList cmdlet 并指定要获取其信息的列表的名称。

PnP PowerShell 可用于检索列表属性,包括 URL、标题、描述、项目计数等。例如,要获取列表中的项目数,请使用命令 Get-PnPList -Identity |选择项目计数。请务必将其替换为列表的实际名称。


#Set Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$ListName = "Announcements"

#Connect to SharePoint Online site
Connect-PnPOnline -Url $SiteURL -Interactive

#Get List
$List = Get-PnPList -Identity $ListName

#Get List Properties
Write-host "Versioning Enabled:"$List.EnableVersioning

要获取“集合”类型的任何属性,请使用“includes”参数。例如。,


#Get the List with "Author" property
$List = Get-PnPList -Identity $ListName -Includes Author
Invoke-PnPQuery

#Get the Login ID of the user created the List
Write-host "List Author:"$List.Author.LoginName

要使用 PowerShell 更新 SharePoint Online 中的列表设置,请使用:如何使用 PowerShell 更新 SharePoint Online 列表设置?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯