ค้นหาเว็บไซต์

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!"

บทความที่เกี่ยวข้อง