Pré-provisionar o site do usuário MySite via script?

2

Estamos pensando em pré-aprovisionar o MySite de cada usuário no SP 2010 - Sei que o MS não o recomenda, mas é uma instalação do Uni e gostaríamos de ter as contas dos alunos configuradas com antecedência, em vez de fazer com que tudo acabe quando alguns milhares de pessoas aparecem no mesmo dia e começam a dar uma olhada nos nossos serviços disponíveis.

Isso pode ser feito através de um script de algum tipo? Eu presumo que o Powershell tem algum mecanismo para acionar a criação sem que o usuário tenha que visitar fisicamente o site deles?

    
por Chris W 26.05.2010 / 13:52

1 resposta

4

Isso deve começar - você precisará agrupar a parte de criação do site em um loop sobre sua lista de usuários e, possivelmente, adicionar mais algumas verificações de erros.

Eu sei com certeza que isso funciona em 2007, mas ainda não testei em 2010. Tudo o que existe existe. Uma última coisa - isso é SLOW - criar 1 usuário no meu servidor SP2007 leva de 5 a 10 segundos. Se o seu farm mysites é bastante robusto, você pode ser melhor deixar os usuários criarem seus sites pessoais 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()
    
por 26.05.2010 / 16:48