2012-03-30 78 views
5

我有一個包含500個項目的SharePoint 2010列表。我需要創建一個將調用所有這些列表項的PowerShell腳本,然後更新每個項目的特定列(我們將其稱爲「數字」)。使用PowerShell更新列表中的所有項目

需要爲每個項目更新的列(Number)是一個Number列。我只需要在每個列表項中插入一個隨機數,範圍從0到100。數字是否重複並不重要,但需要隨機選擇。

我對PowerShell非常陌生,我仍然試圖理解基礎知識。如果有人可以爲我提供有關如何配置此cmdlet的幫助,那將不勝感激!

非常感謝!

-Josh

回答

13

假設你要更新位於HTTP名單:// YouServer/ListLocation /列表/的thelist

$web = Get-SPWeb http://YourServer/ListLocation 
$list = $web.Lists["TheList"] 

foreach ($item in $list.Items) 
{ 
    $item["Number"] = Get-Random -Min 0 -Max 100; 
    $item.Update(); 
} 

您需要在中執行此代碼SharePoint 2010 Management Shell或添加SharePoint PowerShell管理單元:

Add-PSSnapin Microsoft.SharePoint.PowerShell 
+0

非常感謝Stefan!我可能沒有機會在週末或下週一嘗試此代碼,但我會讓你知道它是如何工作的,並在應有的地方給予獎勵!再次感謝:) – 2012-03-30 19:29:00

+0

這工作完美。謝謝! – 2012-04-03 17:42:21

+0

答案是簡單明瞭。但是,如果該清單中有超過5000個項目呢?這會是一種有效的方式嗎? – Yayati 2016-03-04 12:58:29

4

您可以嘗試類似以下內容:

$list | ForEach-Object { $_.Number = Get-Random -Min 0 -Max 100 } 
+0

非常感謝您的快速響應Joey。你能給我多一點這方面的信息嗎?我很抱歉,但我對此很新。 我該如何設置這個影響的列表?並且是$ _。編號列的顯示名稱? 謝謝! – 2012-03-30 16:34:51