为什么面临错误?
行:$ list.Fields.Add(“test”,$ spFieldType,$ false) - 给出错误
我尝试通过代码添加新列(type - 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 :(得分: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);