SourceOne för filsystem: Användare kan inte hämta filer med behörigheten "Mina filer"

Summary: SourceOne för filsystem: Användare kan inte hämta filer med behörigheten "Mina filer"

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms



SourceOne för filsystem: Användare kan inte hämta filer med den mappade mappen "Mina filer"-behörigheter tilldelade till AD-gruppen Domänanvändare.
Även om du använder tjänstkontoidentiteten kan alla filgenvägar nås. Alla standardanvändare kan dock inte komma åt några filer, såvida inte deras åtkomstbehörigheter anges direkt under NTFS-behörigheterna för själva filen innan filen arkiveras och genväg (med hjälp av ögonblicksbilden av filsystembehörigheter).

Efter ett misslyckat hämtningsfel visas följande i Docmanageservice-loggen:
DocumentService::D oGetMessage|FEL|GetMessage-fel: Felkod: 0x80070005, Mapp: xxxxxxxx Åtkomst nekas. (Undantag från HRESULT: 0x80070005 (E_ACCESSDENIED)) |(0)|Jobb-ID: -1; Aktivitetsnamn: SERV1551; Aktivitets-ID: -1; Aktivitetstyp: -1; Servernamn

Dell EMC har ett testgruppsverktyg, tidigare TestFixForGetAuthorizedGroup.  Det använder samma klasser som SourceOne-programmet för att fastställa om tjänstkontot kan läsa AD-grupperna där användarna finns.
Det här verktyget använder System.DirectoryServices namnområdesklasser för att hitta AD-användare, t.ex:
var domain = new PrincipalContext(ContextType.Domain);
var user = UserPrincipal.FindByIdentity (domän, användarnamn);

UserPrincipal upLogonUser = UserPrincipal.FindByIdentity(pc, IdentityType.DistinguishedName, sUserDN);

Om det här verktyget inte körs under en domänadministratörsidentitet får du följande undantag:


Undantagstext **************
System.Runtime.InteropServices.COMException (0x8007200A): Det angivna katalogtjänstattributet eller värdet finns inte.
på System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_SchemaEntry()
at System.DirectoryServices.AccountManagement.ADStoreCtx.IsContainer(DirectoryEntry de)
at System.DirectoryServices.AccountManagement.ADStoreCtx.. ctor(DirectoryEntry ctxBase, Boolean ownCtxBase, String användarnamn, Stränglösenord, ContextOptions alternativ)
at System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry entry)
at System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
at System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
at System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()
at System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
at System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext context, Type principalType, Nullable'1 identityType, String identityValue, DateTime refDate)
på System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType(PrincipalContext context, Type principalType, String identityValue)
at System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context, String identityValue)
at TestFixForGetAuthorizedGroup.Form1.GetUserDistinguishedName(String userName)
at TestFixForGetAuthorizedGroup.Form1.GetUserGroups_Click(Object sender, EventArgs e)


Om du kör det här grundläggande PS1-skriptet som anropar samma klasser returneras samma "Det angivna katalogtjänstattributet eller värdet finns inte.": error:

$userName = Tjänstkonto
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$ct = [System.DirectoryServices.AccountManagement.ContextType]::D omain
$user = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($ct,$userName)
$user. GetGroups() #gets alla användargrupper (direkt)
$user. GetAuthorizationGroups() #gets alla användargrupper, inklusive kapslade grupper (indirekta)



Cause

https://blogs.msdn.microsoft.com/dsadsi/2009/08/28/getting-an-exception-the-specified-directory-service-attribute-or-value-does-not-exist-when-you-try-to-search-a-user-in-an-ad-container-using-system-directoryservices-accountmanagement/

"Hämta ett undantag Det angivna katalogtjänstattributet eller värdet finns inte när du försöker söka efter en användare i en AD-behållare med hjälp av System.DirectoryServices.AccountManagement.UserPrincipal::FindByIdentity

Detta beror på att om det inte finns någon angiven container skapar huvudkontextklassen ett System.DirectoryServices.DirectoryEntry objekt genom att binda till den inbyggda CN=Users containern för att börja söka efter användare. System.DirectoryServices bygger på ADSI.  ADSI söker som standard en objectclass=* sökning som en del av den normala bindningsprocessen om inte fastbind flaggan har angetts.  Om användaren som utför sökningen inte har behörighet att läsa attributen för standardanvändare misslyckas, kommer sökåtgärden att misslyckas, vilket orsakar Det angivna katalogtjänstattributet eller värdet finns inte, undantag.

Detta gäller även när du söker efter datorobjekt med hjälp av ComputerPrincipal::FindByIdentity och du inte har läsbehörighet för CN=Computer container och inte har angett en container i konstruktorn för System.DirectoryServices.AccountManagemnt.PrincipalContext. I avsnittet Anmärkningar i dokumentationen på http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx förklaras de regler som följs av PrincipalContext klassen när du väljer en container när en inte uttryckligen har angetts i konstruktorn."

Resolution

Tilldela läsbehörighet för AD-grupper.

Affected Products

SourceOne for File Systems

Products

SourceOne, SourceOne Email Management, SourceOne for File Systems
Article Properties
Article Number: 000056717
Article Type: Solution
Last Modified: 26 May 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.