2016-12-20 1 views
0

연락처 정보를 공유 목록에 업로드하는 스크립트를 만들고 있습니다. 열 (Categories) 중 하나는 여러 선택 항목에 대한 확인란이있는 선택 필드입니다. 내 CSV에 여러 카테고리가있는 경우이 입력란에 수표를 추가하는 방법을 찾아야합니다. 예를 들어 내 CSV의 연락처에 둘 다 가지고있는 공유 목록의 항목이 필요한 경우 두 개의 확인란이 공급 업체 및 프로젝트 관리자입니다. 내가 체크 상자 중 하나의 범주 필드를 검색 할 수 있어요 있도록Sharepoint에 CSV 업로드, 선택 열이 올바르게 업로드되지 않습니다.

# Setup the correct modules for SharePoint Manipulation 
if ((Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null) 
{ 
    Add-PsSnapin Microsoft.SharePoint.PowerShell 
} 
$host.Runspace.ThreadOptions = "ReuseThread" 


#Open SharePoint List 
$SPServer="http://SPsite/itv2" 
$SPAppList="/Lists/Test CSV Upload" 
$spWeb = Get-SPWeb $SPServer 
$spData = $spWeb.GetList($spWeb.ServerRelativeURL + $SPAppList) 


$InvFile="C:\Scripts\ContactUpload.csv" 
# Get Data from Inventory CSV File 
$FileExists = (Test-Path $InvFile -PathType Leaf) 
if ($FileExists) { 
    "Loading $InvFile for processing…" 
    $tblData = Import-CSV $InvFile 
} else { 
    "$InvFile not found – stopping import!" 
    exit 
} 

# Loop through Applications add each one to SharePoint 

"Uploading data to SharePoint…." 

foreach ($row in $tblData) 
{ 
    "Adding entry for "+$row."GivenName".ToString() 
    $spItem = $spData.AddItem() 
    $spItem["First Name"] = $row."GivenName".ToString() 
    $spItem["Last Name"] = $row."Surname".ToString() 
    $spItem["Email Address"] = $row."Email1EmailAddress".ToString() 
    $spItem["Business Phone"] = $row."BusinessPhone".ToString() 
    $spItem["Mobile Phone"] = $row."MobilePhone".ToString() 
    $spItem["Categories"] = $row."Categories" 
    $spItem.Update() 
} 

"—————" 
"Upload Complete" 

$spWeb.Dispose() 
$spWeb.Dispose() 

내가 범주 필드에 수표를 "연결할"할 수있는 방법을 찾을 필요가 : 여기에 지금까지 가지고있는 코드입니다. 지금까지 내가 해낸 모든 일은 벤더, 프로젝트 매니저를 칼럼에 추가 할 것이지만, 벤더에 의해 필터 할 수없고 연락이 오지 않을 것입니다.

답변

0

객관식 값 필드를 업데이트하려면 SPFieldMultiChoiceValue 개체를 사용해야합니다. 예를 들면 다음과 같습니다.

$choicevalues = New-Object Microsoft.SharePoint.SPFieldMultiChoiceValue 
$choicevalues.Add("Choice 1")    
$choicevalues.Add("Choice 2")  
$list.Fields["Categories"].ParseAndSetValue($spItem,$choicevalues) 

그래서 먼저 $ 행을 분할 "카테고리"배열로 변수가 필요합니다 다음 카테고리 필드를 업데이트하기 전에 $ choicevalues ​​에 각 카테고리를 추가 할 수 있습니다.

희망이 도움이됩니다.