我使用的是ilovesharepoint Lookup Field with Picker即在CodePlex上的MOSS 2007标准环境。我跑的设置项目,然后在Powershell的发出适当的命令以查阅字段更改为与选择器(ConvertLookupToLookupFieldWithPicker.ps1),其如下所示的查找。改变从查找列表的列类型在Sharepoint
# http://www.iLoveSharePoint.com
# by Christian Glessner
param([string]$webUrl=$(throw 'Parameter -webUrl is missing!'),
[string]$listName=$(throw 'Parameter -listName is missing!'),
[string]$fieldTitle=$(throw 'Parameter -fieldTitle is missing!'))
$ErrorActionPreference = "Stop";
$env:12HivesDir = "$env:CommonProgramFiles\Microsoft Shared\web server extensions\12\";
$null = [System.Reflection.Assembly]::LoadFrom("$env:12HivesDir\ISAPI\Microsoft.SharePoint.dll");
$site = New-Object -TypeName "Microsoft.SharePoint.SPSite" -ArgumentList $webUrl;
$web = $site.OpenWeb();
$list = $web.Lists[$listName];
$field = $list.Fields[$fieldTitle];
$schema = [xml]$field.SchemaXml;
$schema.Field.Type = "LookupFieldWithPicker"
if($schema.SelectSingleNode("//@SearchFields") -eq $null)
{
$searchFields = $schema.CreateAttribute("SearchFields");
$searchFields.PSBase.Value = [Microsoft.SharePoint.SPBuiltInFieldId]::ID.ToString();
$schema.Field.PSBase.Attributes.Append($searchFields);
}
$field.SchemaXml = $schema.PSBase.OuterXml;
Write-Output "Done."
我不断看到此错误拿出
1d22ea11-1e32-424e-89ab-9fedbadb6ce1 例外设置 “SchemaXml”:“不支持的字段类型变化 字段不能更改到新的类型,请检查新的类型,然后重试。“ 在C:\ Documents和Settings \ xgrmmart \桌面\ icgpm \部署\ ConvertLookupToLookupFieldWithPicker.ps1:29字符:8 + $ field.S < < < < chemaXml = $ schema.PSBase.OuterXml;
不知道为什么它不工作.... 在测试环境中完美运行。我不是PowerShell的专家,任何帮助都非常感谢。谢谢。