【问题标题】:Use PowerShell to update a SharePoint list choice column with a random choice使用 PowerShell 以随机选择更新 SharePoint 列表选择列
【发布时间】:2012-04-19 09:27:24
【问题描述】:

我需要使用 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(); 
}

非常感谢!

-乔什

【问题讨论】:

    标签: list sharepoint powershell sharepoint-2010


    【解决方案1】:

    这将为您提供一个介于 1 - 5 之间的随机数

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

    Using System.Random

    powershell 随机性的其他一些示例

    http://poshcode.org/118

    http://tfl09.blogspot.com/2007/01/random-numbers-in-powershell.html

    【讨论】:

      【解决方案2】:

      假设 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
      

      【讨论】:

        猜你喜欢
        • 2021-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-30
        • 2021-12-04
        • 1970-01-01
        • 2012-02-21
        • 1970-01-01
        相关资源
        最近更新 更多