2012-08-29 81 views
0

爲什麼面對錯誤?錯誤通過PowerShell的0x80004005的field.add

行:$ list.Fields.Add( 「測試」,$ spFieldType,$假) - 給錯誤

我嘗試添加新列(類型 - URL)通過代碼:

的PowerShell:

PS C:\Users\zabiyakin> 
PS C:\Users\zabiyakin> $web = Get-SPWeb "http://localhost/Task" 
PS C:\Users\zabiyakin> $list = $web.Lists["test"] 
PS C:\Users\zabiyakin> 
PS C:\Users\zabiyakin> $spFieldType=[Microsoft.SharePoint.SPFieldType]::URL 
PS C:\Users\zabiyakin> $list.Fields.Add("test", $spFieldType, $false) 
Исключение при вызове "Add" с "3" аргументами: "Не удалось завершить эту операцию. 
Повторите попытку." 
строка:1 знак:17 
+ $list.Fields.Add <<<< ("test", $spFieldType, $false); 
+ CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
+ FullyQualifiedErrorId : DotNetMethodException 

PS C:\Users\zabiyakin> $View = $web.GetViewFromUrl("Lists/List1/AllItems.aspx") 
PS C:\Users\zabiyakin> $Field =$List.Fields["test"] 
PS C:\Users\zabiyakin> $View.ViewFields.Add($Field) 
Исключение при вызове "Add" с "1" аргументами: "В экземпляре объекта не задана ссылка на объект." 
строка:1 знак:21 
+ $View.ViewFields.Add <<<< ($Field) 
+ CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
+ FullyQualifiedErrorId : DotNetMethodException 

PS C:\Users\zabiyakin> $View.Update() 

謝謝!!!!

回答

0

對我的作品(只有我不使用Get-Web cmdlet的):

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") 
$url = "http://localhost/Task" 
$site = new-object Microsoft.SharePoint.SPSite($url) 
$web= $site.openWeb(); 

$list = $web.lists["test"]; 

$spFieldType=[Microsoft.SharePoint.SPFieldType]::URL 
$list.fields.add("test", $spFieldType, $false);