Мы рассматриваем возможность предварительной инициализации MySite каждого пользователя в SP 2010 - я знаю, что MS не рекомендует это, но это установка Uni, и мы хотели бы заранее настроить учетные записи учащихся, а не делать все как надо, когда несколько тысячи человек приходят в один день и начинают знакомиться с нашими доступными услугами.
Можно ли это сделать с помощью какого-нибудь скрипта? Я предполагаю, что у Powershell есть какой-то механизм для запуска создания без необходимости физического посещения пользователем их сайта?
Это должно помочь вам начать работу - вам нужно обернуть часть создания сайта в цикл по списку пользователей и, возможно, добавить еще несколько проверок ошибок.
Я точно знаю, что это работает в 2007 году, но не тестировал в 2010 году. Все те же вещи существуют, так что они должны. И последнее - это МЕДЛЕННО - создание 1 пользователя на моем сервере SP2007 занимает 5-10 секунд. Если ваша ферма mysites достаточно мощная, вам может быть лучше позволить пользователям создавать свои личные сайты ad-hoc.
[Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")
$siteurl = "http://your.mysitesurl.com"
$site = New-Object Microsoft.SharePoint.SPSite($siteurl)
$context = [Microsoft.Office.Server.ServerContext]::GetContext($site)
$upm = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
# start loop here
$user = "domain\username"
if ($upm.UserExists($user)) {
$profile = $upm.GetUserProfile($user)
# there are other exceptions you can catch, check out the UserProfiles class
trap [Microsoft.Office.Server.UserProfiles.PersonalSiteExistsException] {
Write-Host "personal site already exists for $user"
continue
}
$profile.CreatePersonalSite();
} else {
Write-Host: "user $user did not exist"
}
# end loop here
$site.Dispose()