2012-03-30 2 views
5

У меня есть список SharePoint 2010, содержащий около 500 элементов. Мне нужно создать сценарий PowerShell, который вызовет ВСЕ эти элементы списка, а затем обновит конкретный столбец (назовем его «Число») для элемента EACH.Обновление всех элементов в списке с помощью PowerShell

Столбец (Номер), который необходимо обновить для каждого элемента, представляет собой столбец Число. Мне просто нужно вставить случайное число в каждый элемент списка, начиная от 0-100. Не имеет значения, повторяются ли числа, но их нужно выбирать произвольно.

Я очень новичок в PowerShell и все еще пытаюсь понять основы. Если кто-то может предоставить мне помощь в том, как настроить этот командлет, это было бы очень полезно!

Большое спасибо!

-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

Большое спасибо Стефану! Возможно, у меня не будет возможности попробовать этот код до выходных или в следующий понедельник, но я дам вам знать, как он работает, и отдать должное должным образом! Еще раз спасибо :) –

+0

Это сработало отлично. Спасибо! –

+0

Ответ прост и прост. Но что, если в этом списке более 5000 предметов? Будет ли это эффективным способом? – Yayati

4

Вы можете попробовать что-то вроде следующего:

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

Большое спасибо за ваш быстрый ответ Joey. Можете ли вы дать мне немного больше информации об этом, пожалуйста? Прошу прощения, но я очень к этому не знаком. Как установить, какой список будет действовать? И $ _. Укажите отображаемое имя столбца? Спасибо! –

Смежные вопросы