2012-03-30 10 views
5

Ho un elenco di SharePoint 2010 con circa 500 articoli. Devo creare uno script PowerShell che chiamerà TUTTI questi elementi dell'elenco e quindi aggiornerà una colonna specifica (la chiameremo 'Numero') per OGNI elemento.Aggiorna tutti gli elementi in un elenco usando PowerShell

La colonna (Numero) che deve essere aggiornata per ogni articolo è una colonna Numero. Ho semplicemente bisogno di inserire un numero casuale in ciascuna voce dell'elenco, che va da 0 a 100. Non importa se i numeri vengono ripetuti, ma devono essere scelti a caso.

Sono molto nuovo a PowerShell e sto ancora cercando di capire i fondamenti. Se qualcuno potesse fornirmi assistenza su come configurare questo cmdlet, sarebbe molto apprezzato!

Grazie mille!

-Josh

risposta

13

Supponendo che l'elenco che si desidera aggiornare si trova a http: // YouServer/ListLocation/Liste/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(); 
} 

È necessario eseguire questo codice nel SharePoint 2010 Management Shell o aggiungere lo snap-in SharePoint PowerShell manualmente:

Add-PSSnapin Microsoft.SharePoint.PowerShell 
+0

Grazie mille Stefan! Potrei non avere la possibilità di provare questo codice fino al fine settimana o il prossimo lunedì, ma ti farò sapere come funziona, e dare il merito dove dovuto! Grazie ancora :) –

+0

Questo ha funzionato perfettamente. Grazie! –

+0

La risposta è staright e semplice. Ma cosa succede se ci sono più di 5000 articoli in quella lista? Sarà un modo efficace ?? – Yayati

4

Puoi provare qualcosa di simile al seguente:

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

Grazie mille per la tua rapida risposta Joey. Puoi darmi qualche informazione in più su questo, per favore? Mi scuso, ma sono molto nuovo a questo. Come si imposta quale lista questo avrà effetto? Ed è $ _. Numera il nome visualizzato della colonna? Grazie! –