PowerShell เพื่ออัปเดตฟิลด์ตัวเลือกบุคคลที่มีหลายค่าด้วยผู้ใช้ใหม่
ความต้องการ: อัปเดตค่าฟิลด์ตัวเลือกบุคคลที่มีอยู่โดยใช้ PowerShell ใน SharePoint
PowerShell เพื่อเพิ่มผู้ใช้ใหม่ลงในฟิลด์ตัวเลือกบุคคลที่มีอยู่:
เรามีฟิลด์ชื่อ "สมาชิกในทีม" ในรายการโครงการ และต้องการเพิ่มสมาชิกใหม่ลงในรายการเฉพาะ
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Configuration parameters
$SiteURL = "https://portal.crescent.com/projects/"
$ListName = "Projects"
$FieldName= "ProjectTeamMembers"
$UserToAdd="Crescent\Faris"
$ItemID=431
#Get site and List objects
$web = Get-SPWeb $SiteURL
$List = $web.Lists.TryGetList($ListName)
if($List -ne $null)
{
#Get the Item
$Item = $List.GetItembyID($ItemID)
#Get Existing field value
$MultiUserCollection = [Microsoft.SharePoint.SPFieldUserValueCollection]$item[$FieldName]
#Prepre the user to add
$User = $Web.EnsureUser($UserToAdd)
$NewUser = new-object Microsoft.SharePoint.SPFieldUserValue($Web, $User.ID, $User.LoginName)
#Update Multivalued people Picker field
$MultiUserCollection.Add($NewUser)
$item[$FieldName] = $MultiUserCollection
$item.update()
}
write-host "New User Added and Existing People Picker field value updated!"
วิธีการตั้งค่าฟิลด์ตัวเลือกบุคคลโดยใช้ PowerShell
สคริปต์ด้านบนจะอัปเดตค่าฟิลด์ตัวเลือกบุคคลที่มีอยู่ด้วยผู้ใช้ใหม่ และสคริปต์นี้จะตั้งค่าฟิลด์ตัวเลือกบุคคลโดยไม่ต้องอัปเดตค่าที่มีอยู่ในสคริปต์
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#parameters
$SiteURL = "https://portal.crescent.com/projectpipeline/"
$ListName = "Projects"
$FieldName= "ProjectMembers"
$TeamMembers=@("Crescent\Markb", "Crescent\Andrew")
#Get site and List objects
$web = Get-SPWeb $SiteURL
$List = $web.Lists.TryGetList($ListName)
#Get the Item
$Item = $List.GetItembyID(1)
Write-Host "Processing: "$item["ProjectName"]
#Object Array for People picker value
$TeamMembersCollection = new-object Microsoft.SharePoint.SPFieldUserValueCollection
#Add Each Team member to the array
foreach ($TeamMember in $TeamMembers)
{
#Prepre the user to Add
$User = $Web.EnsureUser($TeamMember)
#Add new user to the collection
$NewUser = new-object Microsoft.SharePoint.SPFieldUserValue($Web, $User.ID,$User.Name)
$TeamMembersCollection.Add($NewUser)
}
#Update the field value
$item[$FieldName] = $TeamMembersCollection
$item.update()
write-host "Team Member Field updated!"
