2012-04-05 106 views
0

我需要使用PowerShell更新SharePoint中列表中的所有项目。我需要更新[在每个列表项中]的列是具有5种不同选择的选择列。我需要为每个列表项目随机分配一个选项。使用PowerShell随机选择更新SharePoint列表选项列

如果可能,我想为这些选择中的每一个选择一个概率! (即 - 选择1 = 30%几率,选择2 = 30%几率,选择3 = 30%几率,选择4 = 5%几率,选择5 = 5%几率)

我已经开始构建脚本,但我不确定如何处理get-random部分,或者如果我在这种情况下使用get random。

帮助表示赞赏!

$web = Get-SPWeb http://weburl 
$list = $web.Lists["Project Tasks Backup"] 
foreach ($item in $list.Items) 
{ 
    $item["Task Status"] = $choices | Get-Random 
    $item.Update(); 
} 

非常感谢!

-Josh

回答

0

假设获取无规满足您的随机性requrirements,您可以先创建的选择阵列,您指定的权重,这样的:

$a = @('c1')*6 + @('c2')*6 + @('c3')*6 + @('c4','c5') 

然后你可以使用Get-随机随机选择从数组中的元素:

$selected = Get-Random -InputObject $a 

或者,您可以洗牌数组:

$shuffled = Get-Random -InputObject $a -Count $a.Length