SourceOne for filer systemer: Brukere kan ikke hente filer med tillatelsene "Mine filer"
Summary: SourceOne for filer systemer: Brukere kan ikke hente filer med tillatelsene "Mine 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 for filer systemer: Brukere kan ikke hente filer med tillatelsene "Mine filer" som er tilordnet AD-gruppen for domenebrukere.
Selv om du bruker tjenestekontoidentiteten, kan du få tilgang til alle filsnarveier. Men alle standardbrukere kan ikke få tilgang til noen filer, med mindre deres tilgangstillatelser er direkte angitt under NTFS-tillatelsene på selve filen før filen arkiveres og snarvei (ved hjelp av øyeblikksbildet av filsystemtillatelser).
Når du ikke kan hente informasjonen, ser du følgende i Docmanageservice-loggen:
DocumentService::D oGetMessage|FEIL|GetMessage-feil: Feilkode: 0x80070005, mappe: xxxxxxxx Ingen tilgang. (Unntak fra HRESULT: 0x80070005 (E_ACCESSDENIED)) |(0)|Jobb-ID: -1; Aktivitetsnavn: SERV1551; Aktivitets-ID: -1; Aktivitetstype: -1; Servernavn
Dell EMC har et testgruppeverktøy, tidligere TestFixForGetAuthorizedGroup. Det bruker de samme klassene som SourceOne-programmet for å fastslå om tjenestekontoen kan lese AD-gruppene der brukerne bor.
Dette verktøyet bruker System.DirectoryServices-navneområdeklasser for å finne AD-brukerne, f.eks:
var-domene = ny PrincipalContext(ContextType.Domain);
var user = UserPrincipal.FindByIdentity (domene, brukernavn);
UserPrincipal upLogonUser = UserPrincipal.FindByIdentity(pc, IdentityType.DistinguishedName, sUserDN);
Med mindre dette verktøyet kjøres under en domeneadministratoridentitet, får du følgende unntak:
Unntakstekst **************
System.Runtime.InteropServices.COMException (0x8007200A): Det angitte attributtet eller verdien for katalogtjenesten finnes ikke.
på System.DirectoryServices.DirectoryEntry.Bind (Boolsk throwIfFail)
på 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, boolsk ownCtxBase, String brukernavn, String passord, ContextOptions alternativer)
på 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)
på System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (PrincipalContext context, String identityValue)
på TestFixForGetAuthorizedGroup.Form1.GetUserDistinguishedName (String userName)
at TestFixForGetAuthorizedGroup.Form1.GetUserGroups_Click (Object avsender, EventArgs e)
Hvis du kjører dette grunnleggende PS1-skriptet som påkaller de samme klassene, returnerer du også det samme "Det angitte attributtet eller verdien for katalogtjenesten finnes ikke.": error:
$userName = Service account
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$ct = [System.DirectoryServices.AccountManagement.ContextType]::D omain
$user = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($ct,$userName)
$user. GetGroups() #gets alle brukergrupper (direkte)
$user. GetAuthorizationGroups() #gets alle brukergrupper, inkludert nestede grupper (indirekte)
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/
"Få et unntak Det angitte attributtet eller verdien for katalogtjenesten finnes ikke når du prøver å søke etter en bruker i en AD-beholder ved hjelp av System.DirectoryServices.AccountManagement.UserPrincipal::FindByIdentity
Dette skjer fordi hvis det ikke er angitt noen beholder, oppretter hovedkontekstklassen et System.DirectoryServices.DirectoryEntry-objekt ved å binde til innebygd CN=Bruker-beholder for å begynne å søke etter brukere. System.DirectoryServices er bygget på toppen av ADSI. ADSI utfører som standard et objectclass=*-søk som en del av den normale bindingsprosessen, med mindre fastbind-flagget er angitt. Hvis brukeren som utfører søket ikke har tillatelse til å lese attributtene til standardbrukere inneholder, vil søkeoperasjonen mislykkes, og dermed forårsaker Det angitte attributtet eller verdien for katalogtjenesten eksisterer ikke , unntak.
Dette gjelder også når du søker etter datamaskinobjekter ved hjelp av ComputerPrincipal::FindByIdentity, og du ikke har lesetillatelse på CN=Computer-beholderen og ikke har angitt en beholder i konstruktøren av System.DirectoryServices.AccountManagemnt.PrincipalContext. Bemerkningsdelen av dokumentasjonen på http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx forklarer reglene som følges av PrincipalContext-klassen ved valg av container når en ikke er eksplisitt spesifisert i konstruktøren.
"Få et unntak Det angitte attributtet eller verdien for katalogtjenesten finnes ikke når du prøver å søke etter en bruker i en AD-beholder ved hjelp av System.DirectoryServices.AccountManagement.UserPrincipal::FindByIdentity
Dette skjer fordi hvis det ikke er angitt noen beholder, oppretter hovedkontekstklassen et System.DirectoryServices.DirectoryEntry-objekt ved å binde til innebygd CN=Bruker-beholder for å begynne å søke etter brukere. System.DirectoryServices er bygget på toppen av ADSI. ADSI utfører som standard et objectclass=*-søk som en del av den normale bindingsprosessen, med mindre fastbind-flagget er angitt. Hvis brukeren som utfører søket ikke har tillatelse til å lese attributtene til standardbrukere inneholder, vil søkeoperasjonen mislykkes, og dermed forårsaker Det angitte attributtet eller verdien for katalogtjenesten eksisterer ikke , unntak.
Dette gjelder også når du søker etter datamaskinobjekter ved hjelp av ComputerPrincipal::FindByIdentity, og du ikke har lesetillatelse på CN=Computer-beholderen og ikke har angitt en beholder i konstruktøren av System.DirectoryServices.AccountManagemnt.PrincipalContext. Bemerkningsdelen av dokumentasjonen på http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx forklarer reglene som følges av PrincipalContext-klassen ved valg av container når en ikke er eksplisitt spesifisert i konstruktøren.
Resolution
Tilordne lesetillatelse for AD-grupper.
Affected Products
SourceOne for File SystemsProducts
SourceOne, SourceOne Email Management, SourceOne for File SystemsArticle 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.