0

PowerShell を使用して、SharePoint のリスト内のすべてのアイテムを更新する必要があります。[各リスト項目で] 更新する必要がある列は、5 つの異なる選択肢を持つ選択列です。選択オプションの 1 つを各リスト項目にランダムに割り当てる必要があります。

可能であれば、これらの選択肢のそれぞれに確率を割り当てたいと思います! (つまり、選択肢 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(); 
}

本当にありがとう!

-ジョシュ

4

2 に答える 2

0

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
于 2012-04-05T20:21:38.770 に答える
0

これにより、1〜5の乱数が得られます

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

System.Random の使用

PowerShell のランダム性の他の例

http://poshcode.org/118

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

于 2012-04-05T16:11:04.690 に答える