Lista de usuários no grupo do SharePoint em execução como sistema
-
10-12-2019 - |
Pergunta
Isso funciona como local de administrador apenas, mas estou tentando descobrir como eu posso fazê-lo funcionar com NT AUTHORITY\SYSTEM
.
Ele começa a cuspir os membros do grupo, mas falha com o acesso negado em um grupo específico em um conjunto de sites.
Eu tentei adicionar NT AUTHORITY\SYSTEM
para os administradores locais e WSS_ADMIN_WPG grupos e o grupo Administradores de Farm do SharePoint e do grupo de administradores do conjunto de sites para o site dando erro "acesso negado".
Atualização 2/25/2014:Fechar a concessão de db_owner para o conteúdo DB, mas que não quer trabalhar.
USE [SharePoint - 33220]
GO
EXEC dbo.sp_addrolemember N'db_owner', N'NT AUTHORITY\SYSTEM'
GO
Aqui está o erro -
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)
Aqui está o código -
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);
}
}
});
}
}
}
}
}
}
Solução 3
Adicionar à colecção de sites administradores trabalhou
Outras dicas
Então você quer saber o mínimo de permissões necessárias para isso?Meu palpite é que você vai precisar de permissões equivalentes para a conta do farm de servidores (http://technet.microsoft.com/en-us/library/cc678863%28v=office.12%29.aspx)
Conta do farm de servidores
A conta do farm de servidores é também referido como o acesso ao banco de dados a conta é usada como a identidade do pool de aplicativos para o Centro de De administração, e como a conta de processo do Windows SharePoint Services 3.0 do serviço de Timer.A conta do farm de servidores requer a seguintes permissões:
Ele deve ter domínio permissões de conta de usuário.
Se o farm de servidores de um farm filho com aplicativos Web que consomem serviços compartilhados de um farm pai, a conta do farm de servidores deve ser membro da função fixa db_owner associados o banco de dados de configuração do farm pai.
Permissões adicionais são concedidas automaticamente para o farm de servidores conta em servidores Web e servidores de aplicativos que estão associados a um farm de servidores.
Depois de executar a ferramenta PSC, máquina de permissões de nível incluem:
A associação ao grupo de segurança WSS_ADMIN_WPG do Windows para o Windows SharePoint Services 3.0 do serviço de Timer.
Associação IIS_RESTRICTED_WPG para o pool de aplicativos Administração Central.
Associação IIS_WPG para o pool de aplicativos Administração Central.
Depois de executar a ferramenta PSC, o SQL Server e o banco de dados de permissões incluem:
Função de servidor fixa Dbcreator.
Função de servidor fixa Securityadmin.
db_owner para todos os Office SharePoint Server 2007 bancos de dados.
Associação à função WSS_CONTENT_APPLICATION_POOLS do Office SharePoint Server 2007 configuração de farm de servidor de banco de dados.
Associação à função WSS_CONTENT_APPLICATION_POOLS do Office SharePoint Server 2007 sharepoint_admincontent.
Gostaria de começar com as permissões acima, verifique se ele está funcionando e, em seguida, começar a remover as permissões de um por um até que o aplicativo pára de funcionar novamente.
Então, para realmente encontrar as permissões mínimas você teria que usar essa lista como uma base e, em seguida, fazer alguma tentativa-e-erro trabalho.
SPSecurity.RunWithElevatedPrivileges
não tem efeito quando você executá-lo a partir do aplicativo de console.Ele só funciona a partir do SharePoint contexto como no receptor de eventos código código da peça web etc.