2012-03-30 20 views
5

Ich habe eine SharePoint 2010-Liste mit etwa 500 Elementen. Ich muss ein PowerShell-Skript erstellen, das ALLE dieser Listenelemente aufruft, und dann eine bestimmte Spalte (wir nennen es "Nummer") für JEDES Element aktualisieren.Aktualisieren Sie alle Elemente in einer Liste mit PowerShell

Die Spalte (Nummer), die für jedes Element aktualisiert werden muss, ist eine Spalte Nummer. Ich muss einfach eine Zufallszahl in jeden Listeneintrag einfügen, die von 0-100 reicht. Es spielt keine Rolle, ob Zahlen wiederholt werden, aber sie müssen zufällig ausgewählt werden.

Ich bin sehr neu in PowerShell und versuche immer noch, die Grundlagen zu verstehen. Wenn mir jemand bei der Konfiguration dieses Cmdlets behilflich sein könnte, wäre das sehr zu begrüßen!

Vielen Dank!

-Josh

Antwort

13

Unter der Annahme der Liste, die Sie verwenden möchten, an http aktualisieren befindet: // YouServer/ListLocation/Listen/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(); 
} 

Sie müssen diesen Code in das Sharepoint 2010-Verwaltungsshell oder fügen Sie ausführen das SharePoint PowerShell-Snap-In manuell:

Add-PSSnapin Microsoft.SharePoint.PowerShell 
+0

Vielen Dank Stefan! Ich habe vielleicht keine Chance, diesen Code bis zum Wochenende oder nächsten Montag auszuprobieren, aber ich werde Sie wissen lassen, wie es funktioniert, und Kredit geben, wo fällig! Danke nochmal :) –

+0

Das hat perfekt funktioniert. Vielen Dank! –

+0

Die Antwort ist Staright und einfach. Aber was, wenn es mehr als 5000 Artikel in dieser Liste gibt? Wird dies ein effizienter Weg sein? – Yayati

4

Sie können so etwas wie das folgende versuchen:

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

Vielen Dank für Ihre schnelle Antwort Joey. Kannst du mir bitte ein bisschen mehr Informationen geben? Ich entschuldige mich, aber ich bin sehr neu. Wie lege ich fest, welche Liste dies bewirkt? Und ist $ _. Nummer der Anzeigename der Spalte? Danke! –

Verwandte Themen