Question

Cela fonctionne comme administrateur local uniquement, mais j'essaie de comprendre comment je peux le faire fonctionner avec NT AUTHORITY\SYSTEM.

Il commence à cracher des membres du groupe mais échoue avec accès refusé sur un groupe spécifique sur une collection de sites.

J'ai essayé d'ajouter NT AUTHORITY\SYSTEM aux administrateurs locaux et aux groupes WSS_ADMIN_WPG et au groupe Administrateurs de Farm SharePoint et au groupe Administrateurs de la collection de sites pour le site donnant l'erreur refusée.

Mise à jour 2/25/2014: Essayé d'accorder db_owner au contenu DB mais qui ne fonctionnait pas non plus.

USE [SharePoint - 33220]
GO
EXEC dbo.sp_addrolemember N'db_owner', N'NT AUTHORITY\SYSTEM'
GO

Voici l'erreur -

Unhandled Exception: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESS
DENIED))
   at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)
   at Microsoft.SharePoint.Library.SPRequest.GetUsersDataAsSafeArray(String bstrUrl, UInt32 dwUsersScope, String bstrVal
ue, UInt32 dwValue, UInt32& pdwColCount, UInt32& pdwRowCount, Object& pvarDataSet)
   at Microsoft.SharePoint.SPUserCollection.InitUsers(Boolean fCustomUsers, String[] strIdentifiers)
   at Microsoft.SharePoint.SPUserCollection.InitUsers()
   at Microsoft.SharePoint.SPUserCollection.Undirty()
   at Microsoft.SharePoint.SPBaseCollection.System.Collections.IEnumerable.GetEnumerator()
   at ConsoleApplication1.Program.c__DisplayClass2.b__0()
   at Microsoft.SharePoint.SPSecurity.CodeToRunElevatedWrapper(Object state)
   at Microsoft.SharePoint.SPSecurity.c__DisplayClass4.b__2()
   at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
   at ConsoleApplication1.Program.Main(String[] args)

Voici le code -


using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            SPWebServiceCollection spWebServiceCollection = new SPWebServiceCollection(SPFarm.Local);
            foreach (SPWebService spWebService in spWebServiceCollection)
            {
                foreach (SPWebApplication webApplication in spWebService.WebApplications)
                {
                    foreach (SPSite spSite in webApplication.Sites) 
                    {
                        SPSecurity.RunWithElevatedPrivileges(delegate()
                        {
                            SPWeb spWeb = spSite.OpenWeb();
                            Console.WriteLine(spWeb.Title);
                            foreach (SPGroup group in spWeb.Groups)
                            {
                                Console.WriteLine(group.Name);
                                foreach (SPUser user in group.Users)
                                {
                                    Console.WriteLine(user.LoginName);
                                }
                            }
                        });
                    }
                }
            }
        }
    }
}

Était-ce utile?

La solution 3

L'ajouter à la collection de sites Admins a travaillé

Entrez la description de l'image ici

Autres conseils

Vous voulez donc connaître les moins d'autorisations nécessaires pour cela? Je suppose que vous aurez besoin d'autorisations équivalentes sur le compte de serveur Farm ( http://technet.microsoft.com/en-us/library/cc678863%28v=Office.12%29.aspx )

Server Farm Compte

Le compte de serveur Farm est également appelé accès à la base de données compte et est utilisé comme identité de piscine d'application pour Central Administration et comme le processus de processus correspondent à Windows SharePoint Services 3.0 Service de minuterie. Le compte de serveur Farm nécessite le Autorisations suivantes:

  • Il doit avoir des autorisations de compte d'utilisateur de domaine.

  • Si la ferme de serveur est une ferme d'enfants avec des applications Web qui consomment des services partagés d'une ferme mère, le compte de serveur Farm doit être membre du rôle de base de données fixe db_owner associé à la base de données de configuration de la ferme mère.

    Les autorisations supplémentaires sont automatiquement accordées à la ferme serveur compte sur les serveurs Web et les serveurs d'applications qui sont joints à un Ferme de serveur.

    Après avoir exécuté l'outil PSC, les autorisations de niveau de la machine incluent:

    • Adhésion du groupe WSS_ADMIN_WPG Windows Security pour le service de minuterie Windows SharePoint Services 3.0.

    • Adhésion à IIS_RESTRICTED_WPG pour le pool d'applications d'administration central.

    • Adhésion à IIS_WPG pour le pool d'applications d'administration central.

      Après avoir exécuté l'outil PSC, SQL Server et les autorisations de base de données Inclure:

      • rôle de serveur fixe dbcreator.

      • rôle de serveur fixe SecurityAdmin.

      • db_owner pour toutes les bases de données Office SharePoint Server 2007.

      • Adhésion du rôle WSS_Content_Application_Pools pour la base de données de configuration de serveur Server Server 2007 Office SharePoint Server 2007.

      • Adhésion du rôle WSS_Content_Application_POOLS pour la base de données de contenu SharePoint_Admin 2007 SharePoint_Admin.

        Je commencerais avec les autorisations ci-dessus, vérifiez qu'il fonctionne et commencez ensuite à supprimer les autorisations une par une jusqu'à ce que l'application cesse de fonctionner à nouveau.

        Donc pour vraiment trouver les autorisations minimales que vous devez utiliser cette liste comme base, puis effectuer des travaux d'essai et d'erreur.

SPSecurity.RunWithElevatedPrivileges 

n'a aucun effet lorsque vous l'exécutez à partir de l'application de la console.Cela ne fonctionne que depuis le contexte SharePoint comme dans l'événement Code du code de récepteur WEB Code, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top