SiteCollection Feature accès pour la mise à niveau Refusé Farm Administrateur
-
16-10-2019 - |
Question
Ma solution contient des fonctionnalités de portée Collection du site et a été déployé sur les collections de sites que l'administrateur de la batterie n'a pas été accordé des autorisations explicites.
Si les essais d'administrateur de la ferme à visiter la collection de sites dans le navigateur, il voit un accès refusé message d'erreur.
L'administrateur agricole doit maintenant déployer une mise à niveau vers ma solution.
Il a appelé avec succès la powershell cmdlet Update-SPSolution
lorsque les appels d'administration agricole SPContentDatabase.QueryFeatures("Site",$true)
retourne la fonction qui doit être mis à jour dans le site qu'il n'a pas l'autorisation d'accéder.
Toutefois, si les appels d'administration agricole SPFeature.Upgrade($true)
alors une erreur de refus d'accès est levée.
Comment est la fonction de mise à niveau collection de sites censé fonctionner?
Au cas où la fonction de collection de sites délégué d'administration agricole mise à niveau au propriétaire de la collection du site?
Au cas où la tentative d'administration agricole à usurper l'identité de l'administrateur de collection de sites?
Y at-il un certain utilisateur, je peux élever à ce qui est garanti d'être en mesure de faire appel de mise à niveau sur une fonctionnalité de collection de sites?
La solution 2
Nous avons constaté que l'aide du code PowerShell comme ceci
[Microsoft.SharePoint.SPSecurity]::RunWithElevatedPrivileges( {
$site = get-spsite "http://localhost/nonfarmadminsitecollection"
})
$elevatedSite = new-object Microsoft.SharePoint.SPSite([Guid]$site.ID,$site.SystemAccount.UserToken)
Nous sommes alors en mesure de mettre à jour les fonctionnalités de $ elevatedSite.
Autres conseils
Administrateurs de batterie ne pas par défaut ont accès au contenu du site.
La mise à niveau de collecte du site et l'activation est normalement délégué à la collecte des administrateurs du site (je pense).