0

为什么面临错误?

行:$list.Fields.Add("test", $spFieldType, $false) - 给出错误

我尝试通过代码添加新列(类型 - url):

电源外壳 :

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()

谢谢 !!!!

4

1 回答 1

0

对我有用(只是我没有使用Get-Webcmdlet):

[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);
于 2012-08-29T13:06:46.047 回答