[英]Use PowerShell to update a SharePoint list choice column with a random choice
我需要使用 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();
}
非常感谢!
-乔希
这将为您提供 1 - 5 之间的随机数
$rand = New-Object System.Random
$rand.next(1,6) # gets random number between 1 and 5
powershell 随机性的其他一些例子
http://tfl09.blogspot.com/2007/01/random-numbers-in-powershell.html
假设 Get-Random 满足您的随机性要求,您可以首先创建一个选择数组,使用您指定的权重,如下所示:
$a = @('c1')*6 + @('c2')*6 + @('c3')*6 + @('c4','c5')
然后你可以使用 Get-Random 从数组中随机 select 一个元素:
$selected = Get-Random -InputObject $a
或者,您可以打乱数组:
$shuffled = Get-Random -InputObject $a -Count $a.Length
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.