2012-03-30 17 views
5

Mam listę SharePoint 2010 z około 500 pozycji. Muszę utworzyć skrypt PowerShell, który wywoła WSZYSTKIE z tych elementów listy, a następnie zaktualizuje określoną kolumnę (będziemy ją nazywać "Numerem") dla KAŻDEJ pozycji.Zaktualizuj wszystkie pozycje na liście za pomocą PowerShell

Kolumna (Number), która wymaga aktualizacji dla każdej pozycji, jest kolumną Number. Po prostu potrzebuję wstawić losową liczbę do każdego elementu listy, w zakresie od 0-100. Nie ma znaczenia, czy liczby są powtarzane, ale trzeba je wybierać losowo.

Jestem nowicjuszem w PowerShell i nadal próbuję zrozumieć podstawy. Jeśli ktoś mógłby mi pomóc w konfiguracji tego polecenia cmdlet, byłoby to bardzo cenne!

Dziękuję bardzo!

Josh

Odpowiedz

13

Zakładając listę chcesz zaktualizować znajduje się http: // YouServer/ListLocation/lists/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(); 
} 

Należy wykonać ten kod w powłoce zarządzającej SharePoint 2010 lub dodać przystawka PowerShell SharePoint ręcznie:

Add-PSSnapin Microsoft.SharePoint.PowerShell 
+0

Dziękuję bardzo Stefan! Mogę nie mieć szansy na wypróbowanie tego kodu do weekendu lub w następny poniedziałek, ale dam ci znać, jak to działa, i podaj kredyt tam, gdzie jest to konieczne! Jeszcze raz dziękuję :) –

+0

To działało idealnie. Dziękuję Ci! –

+0

Odpowiedź jest staright i prosta. Ale co, jeśli na tej liście znajduje się ponad 5000 przedmiotów? Czy to będzie skuteczny sposób? – Yayati

4

Możesz spróbować coś jak następuje:

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

Dziękuję bardzo za szybką odpowiedź Joey. Czy możesz mi podać trochę więcej informacji na ten temat? Przepraszam, ale jestem na to nowy. Jak ustawić listę, która to spowoduje? I jest $ _. Liczba wyświetlanej nazwy kolumny? Dzięki! –

Powiązane problemy