Dosya Sistemleri için SourceOne: Kullanıcılar "Dosyalarım" izinlerine sahip dosyaları alamıyor

Summary: Dosya Sistemleri için SourceOne: Kullanıcılar "Dosyalarım" izinlerine sahip dosyaları alamıyor

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



Dosya Sistemleri için SourceOne: Kullanıcılar, Etki Alanı kullanıcıları AD grubuna atanmış eşlenmiş klasör "Dosyalarım" izinlerine sahip dosyaları alamaz.
Hizmet hesabı kimliği kullanılıyorsa tüm dosya kısayollarına erişilebilir. Ancak dosya arşivlenmeden ve kısayol oluşturulmadan önce (dosya sistemi izinlerinin anlık görüntüsü kullanılarak) erişim izinleri doğrudan dosyanın üzerindeki NTFS izinleri altında belirtilmedikçe tüm standart kullanıcılar dosyalara erişemez.

Alma işleminin başarısız olmasından sonra Docmanageservice günlüğünde şunları görürsünüz:
DocumentService::D oGetMessage|HATA|GetMessage error: Hata Kodu: 0x80070005, Klasör: xxxxxxxx Erişim reddedildi. (HRESULT istisnası: 0x80070005 (E_ACCESSDENIED)) |(0)|Job Id: -1; Etkinlik Adı: SERV1551; Etkinlik Kimliği: -1; Etkinlik Türü: -1; Sunucu adı:

Dell EMC, eski adıyla TestFixForGetAuthorizedGroup adlı bir Test Grubu aracına sahiptir.  Bu, hizmet hesabının kullanıcıların bulunduğu AD gruplarını okuyup okuyamadığını belirlemek için SourceOne uygulamasıyla aynı sınıfları kullanır.
Bu araç, AD kullanıcılarını bulmak için System.DirectoryServices Ad Alanı sınıflarını kullanır, örneğin:
var domain = new PrincipalContext(ContextType.Domain);
var user = UserPrincipal.FindByIdentity(domain, userName);

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

Bu araç bir Etki Alanı yöneticisi kimliği altında çalışmadığı sürece aşağıdaki özel durumu alırsınız:


Exception Text **************
System.Runtime.InteropServices.COMException (0x8007200A): Belirtilen dizin hizmeti özniteliği veya değeri mevcut değil.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_SchemaEntry()
at System.DirectoryServices.AccountManagement.AccountManagement.ADStoreCtx.IsContainer(DirectoryEntry de)
at System.DirectoryServices.AccountManagement.ADStoreCtx.. System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry entry)at System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry entry
)
at System.DirectoryServices.AccountManagement.PrincipalContext.InitNoContainer(
)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 bağlamı, Type principalType, Nullable'1 identityType, String identityValue, DateTime refDate)
at 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)


atAyrıca, aynı sınıfları çağıran bu temel PS1 betiğini çalıştırmak aynı "Belirtilen dizin hizmeti özniteliği veya değeri mevcut değil.": error:

$userName = Hizmet hesabı
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$ct = [System.DirectoryServices.AccountManagement.ContextType]::D omain
$user = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($ct,$userName)
$user. GetGroups() #gets tüm kullanıcı grupları (doğrudan)
$user. GetAuthorizationGroups() iç içe gruplar da dahil olmak üzere tüm kullanıcı gruplarını #gets (dolaylı)



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/

"Getting an exception System.DirectoryServices.AccountManagement.UserPrincipal::FindByIdentity

kullanarak AD kapsayıcısındaki bir kullanıcıyı aramaya çalıştığınızda Belirtilen dizin hizmeti özniteliği veya değeri mevcut değilBunun nedeni, belirtilen bir kapsayıcı yoksa, asıl bağlam sınıfının, kullanıcıları aramaya başlamak için yerleşik CN=Users kapsayıcısına bağlanarak bir System.DirectoryServices.DirectoryEntry nesnesi oluşturmasıdır. System.DirectoryServices, ADSI üzerine inşa edilmiştir.  ADSI, fastbind bayrağı belirtilmedikçe varsayılan olarak normal bağlama işleminin bir parçası olarak objectclass=* araması yapar.  Aramayı gerçekleştiren kullanıcı, varsayılan kullanıcıların özniteliklerini okuma iznine sahip değilse, arama işlemi başarısız olur ve bu nedenle Belirtilen dizin hizmeti özniteliği veya değeri mevcut değil, istisna.

Bu, ComputerPrincipal::FindByIdentity kullanarak bilgisayar nesnelerini ararken de geçerlidir ve CN=Bilgisayar kapsayıcısında okuma izniniz yoktur ve System.DirectoryServices.AccountManagemnt.PrincipalContext oluşturucusunda bir kapsayıcı belirtmezsiniz. http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx'daki belgelerin açıklamalar bölümü, oluşturucuda açıkça belirtilmediğinde bir kapsayıcı seçerken PrincipalContext sınıfının izlediği kuralları açıklar."

Resolution

AD gruplarına okuma izni atayın.

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.