如何使用 PowerShell 在 SharePoint 2013 联系人列表中创建联系人列表项?
How to create contact list items in a SharePoint 2013 contact list with PowerShell?
我正在尝试使用 Powershell 在 SharePoint 2013 联系人列表中创建联系人列表项。创建项目本身并不难:
$spWeb = Get-SPWeb -Identity http://sharepoint
$spList = $spWeb.GetList("/Contacts/Lists/Test")
$spListItem = $spList.AddItem()
$spListItem["Title"] = "New Item"
$spListItem.Update()
但是设置街道、电话号码、位置等属性让我抓狂。通过网站在列表中手动创建联系人并使用 PowerShell ($spList.GetItems()) 获取详细信息时,所有这些属性都放在一个名为 Xml 的 属性 中。
我知道我可以自己构建 xml 并将其放在那里,但这似乎不是正确的方法...
所以我的问题是:如何使用 PowerShell 正确创建具有街道、位置等属性的联系人项目?
更新:
看起来 xml 中的设置属性本身对项目没有任何影响。我试过了:
[XML]$a = $spListItem["Xml"];
$a.row.SetAttribute("ows_FirstName", "New Firstname")
$spListItem.Update()
但此更改没有出现在网站上,也没有出现在再次查看 Xml 时...
好吧,终于自己想通了...
$spListItem["Name"] = "Name"
$spListItem["FirstName"] = "FirstName"
$spListItem["FullName"] = "FullName"
$spListItem["Email"] = "Email"
$spListItem["Company"] = "Company"
$spListItem["JobTitle"] = "JobTitle"
$spListItem["WorkPhone"] = "WorkPhone"
$spListItem["HomePhone"] = "HomePhone"
$spListItem["CellPhone"] = "CellPhone"
$spListItem["WorkFax"] = "WorkFax"
$spListItem["WorkAddress"] = "WorkAddress"
$spListItem["WorkCity"] = "WorkCity"
$spListItem["WorkState"] = "WorkState"
$spListItem["WorkZip"] = "WorkZip"
$spListItem["WorkCountry"] = "WorkCountry"
$spListItem["WebPage"] = "http://WebPage.local"
$spListItem.Update()
真的就这么简单...
在 https://msdn.microsoft.com/en-us/library/office/ff521580(v=office.14).aspx
也有 MSDN 文章描述了如何在 C# 中执行此操作
我正在尝试使用 Powershell 在 SharePoint 2013 联系人列表中创建联系人列表项。创建项目本身并不难:
$spWeb = Get-SPWeb -Identity http://sharepoint
$spList = $spWeb.GetList("/Contacts/Lists/Test")
$spListItem = $spList.AddItem()
$spListItem["Title"] = "New Item"
$spListItem.Update()
但是设置街道、电话号码、位置等属性让我抓狂。通过网站在列表中手动创建联系人并使用 PowerShell ($spList.GetItems()) 获取详细信息时,所有这些属性都放在一个名为 Xml 的 属性 中。 我知道我可以自己构建 xml 并将其放在那里,但这似乎不是正确的方法...
所以我的问题是:如何使用 PowerShell 正确创建具有街道、位置等属性的联系人项目?
更新: 看起来 xml 中的设置属性本身对项目没有任何影响。我试过了:
[XML]$a = $spListItem["Xml"];
$a.row.SetAttribute("ows_FirstName", "New Firstname")
$spListItem.Update()
但此更改没有出现在网站上,也没有出现在再次查看 Xml 时...
好吧,终于自己想通了...
$spListItem["Name"] = "Name"
$spListItem["FirstName"] = "FirstName"
$spListItem["FullName"] = "FullName"
$spListItem["Email"] = "Email"
$spListItem["Company"] = "Company"
$spListItem["JobTitle"] = "JobTitle"
$spListItem["WorkPhone"] = "WorkPhone"
$spListItem["HomePhone"] = "HomePhone"
$spListItem["CellPhone"] = "CellPhone"
$spListItem["WorkFax"] = "WorkFax"
$spListItem["WorkAddress"] = "WorkAddress"
$spListItem["WorkCity"] = "WorkCity"
$spListItem["WorkState"] = "WorkState"
$spListItem["WorkZip"] = "WorkZip"
$spListItem["WorkCountry"] = "WorkCountry"
$spListItem["WebPage"] = "http://WebPage.local"
$spListItem.Update()
真的就这么简单...
在 https://msdn.microsoft.com/en-us/library/office/ff521580(v=office.14).aspx
也有 MSDN 文章描述了如何在 C# 中执行此操作