powershell脚本需要数小时才能执行

时间:2014-10-16 05:49:18

标签: powershell sharepoint-2010

我正在尝试使用PowerShell脚本更新SharePoint列表。此列表包含大约50,000个项目。获取所需的列表项需要一个多小时,然后执行更新需要更长的时间。

下面是需要执行这么长时间的代码行:

$url = "http://abcd/"

$listNameRequestProgress = "RequestProgress"

$web = get-SPWeb $url

$listNameRequestProgressObj = $web.lists[$listNameRequestProgress]

$itemRequestProgress = $listNameRequestProgressObj.Items | ? {$_.ID -eq 47809} #takes long time

$itemRequestProgress["Assigned"] = "616;#abcd"   
$itemRequestProgress.UpdateOverwriteVersion()  #takes long time

任何帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:0)

由于声誉而无法评论< 50.所以,在本节中发表评论。

请清楚地发布代码。什么是$ listNameRequestProgressObj?它是如何创建的? $ listNameRequestProgressObj |的输出是什么? gm命令?你可能会在那里找到一些有用的方法。

从高级别的角度来看,你可以在

中说出来
$itemRequestProgress = $listNameRequestProgressObj.Items | ? {$_.ID -eq 47809}

您将获取所有项目,然后使用WHERE子句。 如果可能的话,使用像-Filter这样的东西,这样你就不必处理所有的"项目"在列表中。