2015-02-18 2 views
0

Ошибка при обновлении пользовательских свойств профиля пользователя. Любой человек с такой же проблемой, код ниже:Обновление свойств пользовательского профиля пользователя - Powershell - SharePoint

[void][reflection.assembly]::Loadwithpartialname("Microsoft.Office.Server");    
$site=new-object Microsoft.SharePoint.SPSite("$ProfilFullURL");    
$serviceContext = Get-SPServiceContext $site;    
$site.Dispose();    
$upm = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($serviceContext); 

function Update-UserProfileProperty ($property, $excelProperty) 
{ 
Write-Host "Setting property $property : " -NoNewline 
Try 
{  
    $userProfile["$property"].Value = $excelProperty;    
    $userProfile.Commit() 
    Write-Host "$excelProperty" -ForegroundColor Green 
} 
Catch [system.exception] 
{ 
    Write-Host "Error" -ForegroundColor Red 
} 
} 

То, что я пытаюсь сделать, это добавить перенести данные из таблицы первенствовать в свойство пользовательского профиля пользователя. Пользователь и собственность существуют!

Код работает со стандартными свойствами, как FirstName и т.д.

ответ

1

Один элемент, который выскакивает является то, что вы утилизацией объекта SPSite, прежде чем ваш код имеет возможность использовать его. Переместить '$ site.Dispose(); 'до конца вашего кодового блока.

+0

Решение работает со стандартными свойствами профиля пользователя, но НЕ с пользовательскими свойствами. Поэтому я не думаю, что $ site.Dispose() - проблема – Plexus81

Смежные вопросы