List 使用PowerShell使用随机选项更新SharePoint列表选项列

List 使用PowerShell使用随机选项更新SharePoint列表选项列,list,sharepoint,powershell,sharepoint-2010,List,Sharepoint,Powershell,Sharepoint 2010,我需要使用PowerShell更新SharePoint中列表中的所有项目。我需要更新的列[在每个列表项中]是一个包含5个不同选项的选项列。我需要为每个列表项随机分配一个选项 如果可能的话,我想为每一个选择分配一个概率!(即:选项1=30%的机会,选项2=30%的机会,选项3=30%的机会,选项4=5%的机会,选项5=5%的机会) 我已经开始构建脚本,但我不确定如何处理get random部分,或者在本例中是否使用get random 谢谢你的帮助 $web = Get-SPWeb http://

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

如果可能的话,我想为每一个选择分配一个概率!(即:选项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

这将得到一个介于1-5之间的随机数

$rand = New-Object  System.Random
$rand.next(1,6) # gets random number between 1 and 5

powershell随机性的其他一些示例


假设Get Random满足您的随机性要求,您可以首先创建一个选择数组,并指定权重,如下所示:

$a = @('c1')*6 + @('c2')*6 + @('c3')*6 + @('c4','c5')
然后,您可以使用Get Random从数组中随机选择一个元素:

$selected = Get-Random -InputObject $a
$shuffled = Get-Random -InputObject $a -Count $a.Length
或者,您可以洗牌数组:

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