1

我正在尝试使用 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 时出现......

4

1 回答 1

1

好吧,终于自己想通了……

$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()

真的就这么简单……

还有作为 MSDN 文章描述如何在 C# 中执行此操作,位于https://msdn.microsoft.com/en-us/library/office/ff521580(v=office.14).aspx

于 2015-08-28T14:36:25.017 回答