Я использую Поле поиска ilovesharepoint с Picker , которое находится в кодовом сплетении в стандартной среде Moss 2007. Я запустил проект установки, а затем в Powershell выдал соответствующую команду для изменения поля «Уточняющий запрос» на «Уточняющий запрос» (ConvertLookupToLookupFieldWithPicker.ps1), который показан ниже.
# 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 and Settings \ xgrmmart \ Desktop \ icgpm \ deploy \ ConvertLookupToLookupFieldWithPicker.ps1: 29 char: 8
+ $ field.S <<<< chemaXml = $ schema.PSBase.OuterXml; </p>
Не знаю, почему он не работает .... отлично работал в тестовой среде . Я не эксперт по PowerShell, и любая помощь очень ценится. Спасибо.