我使用的是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的專家,任何幫助都非常感謝。謝謝。