我正在尝试使用PnP-PowerShell命令在SharePoint Online中的文档库中设置描述,但它似乎在工作中非常间歇,所以我想检查一下这是正确的方法是什么?
我创建了一个新的库:
New-PnPList -Template DocumentLibrary -Title "TempLibrary"
然后尝试将描述设置为:
$l = Get-PnPList -Identity TempLibrary
$l.Description = "My Description Here"
现在很明显,这不起作用,因为我需要用CSOM发回更改吗?
然后我尝试了以下内容:
$ctx = Get-PnPContext
$l = Get-PnPList -Identity TempLibrary
$l.Description = "My Description Here"
$ctx.ExecuteQuery()
但这似乎仍无效。
任何人对如何可靠地做到这一点的任何想法都将非常感激。
非常感谢, d。
Eurgh ......这似乎有效,但这是对的吗?这是预期的吗?感觉不像PowerShell那样...
New-PnPList -Title "Test5" -Template DocumentLibrary
$t = Get-PnPList -Identity Test5
$ctx.Load($t)
$ctx.ExecuteQuery()
$t.Description = "Test5 Description"
$t.Update()
$ctx.ExecuteQuery()
答案 0 :(得分:1)
如果不加载列表,您将无法设置描述或其他属性,因此代码是正确的。
$ctx.Load($t)
为什么你认为这不是PS? :)好奇......
答案 1 :(得分:0)
使用以下脚本。希望它有所帮助。
Add - PSSnapin Microsoft.SharePoint.PowerShell
function CreateList($spWeb, $listName)
{
$spTemplate = $spWeb.ListTemplates["Document Library"]
$spListCollection = $spWeb.Lists
$spListCollection.Add($listName, $listName, $spTemplate)
}
Function SetDescription($spWeb, $listName)
{
$path = $spWeb.url.trim()
$spList = $spWeb.GetList("$path/Lists/$listName")
$spList.Description = "--Your Desired Description--"
$spList.Update()
}
$siteCollectionUrl = "--Your Site Collection Url--"
$listName = "--Your Desired List Name--"
$spWeb = Get - SPWeb - Identity $siteCollectionUrl
CreateList $spWeb $listName
SetDescription $spWeb $listName