2015-08-27 3 views
1

J'essaie de créer des éléments de liste de contacts dans une liste de contacts SharePoint 2013 avec powershell. La création d'éléments en soi n'est pas si difficile:Comment créer des éléments de liste de contacts dans une liste de contacts SharePoint 2013 avec PowerShell?

$spWeb = Get-SPWeb -Identity http://sharepoint 
$spList = $spWeb.GetList("/Contacts/Lists/Test") 

$spListItem = $spList.AddItem() 
$spListItem["Title"] = "New Item" 

$spListItem.Update() 

Mais définir les propriétés telles que rue, numéro de téléphone, position, etc. me rend fou. Lorsque vous créez un contact manuellement dans la liste via le site Web et obtenez les détails avec PowerShell ($ spList.GetItems()), toutes ces propriétés sont regroupées dans une propriété appelée Xml. Je sais que je peux construire le xml moi-même et le mettre dedans, mais cela ne semble pas être le bon chemin ...

Donc ma question est: Comment créer un élément de contact avec des propriétés comme la rue, position, etc. correctement avec PowerShell?

Mise à jour: Il semble que la définition de propriétés dans le fichier XML lui-même n'a aucun impact sur l'élément. J'ai essayé:

[XML]$a = $spListItem["Xml"]; 
$a.row.SetAttribute("ows_FirstName", "New Firstname") 
$spListItem.Update() 

Mais ce changement ne semble pas sur le site, ni quand on regarde le nouveau Xml ...

Répondre

1

Ok, enfin tout compris moi-même ...

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

il est vraiment aussi simple que cela ...

il y a aussi l'article MSDN décrivant comment le faire en C# à https://msdn.microsoft.com/en-us/library/office/ff521580(v=office.14).aspx