2012-03-30 29 views
5

Tôi có danh sách SharePoint 2010 với khoảng 500 mục. Tôi cần phải tạo một kịch bản PowerShell sẽ gọi TẤT CẢ các mục danh sách này, và sau đó cập nhật một cột cụ thể (chúng tôi sẽ gọi nó là 'Số') cho M EI mục.Cập nhật tất cả các mục trong danh sách bằng PowerShell

Cột (Số) cần được cập nhật cho mỗi mục là cột Số. Tôi chỉ cần chèn một số ngẫu nhiên vào mỗi mục danh sách, từ 0-100. Nó không quan trọng nếu con số được lặp đi lặp lại, nhưng họ cần phải được chọn một cách ngẫu nhiên.

Tôi rất mới với PowerShell và vẫn đang cố gắng hiểu các nguyên tắc cơ bản. Nếu ai đó có thể cung cấp cho tôi sự hỗ trợ xung quanh cách cấu hình cmdlet này, điều đó sẽ được đánh giá rất nhiều!

Cảm ơn bạn rất nhiều!

-Josh

Trả lời

13

Giả sử danh sách bạn muốn cập nhật tọa lạc tại http: // YouServer/ListLocation/Danh sách/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(); 
} 

Bạn cần thực thi mã này trong SharePoint 2010 Management Shell hoặc thêm SharePoint PowerShell snap-in theo cách thủ công:

Add-PSSnapin Microsoft.SharePoint.PowerShell 
+0

Cảm ơn bạn rất nhiều Stefan! Tôi có thể không có cơ hội để thử mã này cho đến cuối tuần hoặc thứ Hai tới, nhưng tôi sẽ cho bạn biết nó hoạt động như thế nào và cung cấp tín dụng khi đến hạn! Cảm ơn một lần nữa :) –

+0

Điều này làm việc hoàn hảo. Cảm ơn bạn! –

+0

Câu trả lời là sao và đơn giản. Nhưng nếu có hơn 5000 mục trong danh sách đó thì sao? Đây có phải là cách hiệu quả không ?? – Yayati

4

Bạn có thể thử một cái gì đó như sau:

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

Cảm ơn bạn rất nhiều vì phản hồi nhanh của bạn Joey. Bạn có thể cho tôi biết thêm một chút thông tin về điều này không? Tôi xin lỗi, nhưng tôi rất mới với điều này. Làm cách nào để đặt danh sách sẽ có hiệu lực? Và là $ _. Số tên hiển thị của cột? Cảm ơn! –

Các vấn đề liên quan