SourceOne for File Systems: ユーザーは「マイ ファイル」権限を持つファイルを取得できません

Summary: SourceOne for File Systems: ユーザーは「マイ ファイル」権限を持つファイルを取得できません

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 File Systems: ユーザーは、ドメイン ユーザーのADグループに割り当てられたマップされたフォルダーの「マイ ファイル」権限を持つファイルを取得できません。
ただし、サービス アカウントIDを使用している場合は、すべてのファイル ショートカットにアクセスできます。ただし、すべての標準ユーザーは、ファイルがアーカイブされる前にファイル自体のNTFSアクセス許可の下でアクセス許可が直接指定されていない限り、ファイルにアクセスできません

取得に失敗すると、Docmanageservice ログに次のように表示されます。
DocumentService::D oGetMessage|エラー |GetMessageエラー: エラー コード:0x80070005、フォルダー:xxxxxxxx アクセスが拒否されました。(HRESULT からの例外: 0x80070005 (E_ACCESSDENIED)) |(0)|ジョブ ID: -1;アクティビティー名: SERV1551;アクティビティーID: -1;アクティビティー タイプ: -1;Servername

Dell EMCには、テストグループ ツール(旧TestFixForGetAuthorizedGroup)があります。  これは、SourceOneアプリケーションと同じクラスを使用して、サービス アカウントがユーザーが存在するADグループを読み取ることができるかどうかを確認します
このツールでは、System.DirectoryServices 名前空間クラスを使用して AD ユーザーを検索します (例:
var domain = new PrincipalContext(ContextType.Domain);)
var user = UserPrincipal.FindByIdentity(domain, userName);

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

このツールがドメイン管理者IDで実行されない限り、次の例外が発生します

例外テキスト **************
System.Runtime.InteropServices.COMException (0x8007200A): 指定されたディレクトリー サービスの属性または値が存在しません
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
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 username, String password, ContextOptions options)
at System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry entry)
at System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
at System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
atSystem.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)
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)


また、同じクラスを呼び出すこの基本的な PS1 スクリプトを実行すると、同じ "指定されたディレクトリ サービスの属性または値が存在しません。": エラー:

$userName = サービス アカウント
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$ct = [System.DirectoryServices.AccountManagement.ContextType]::D omain
$user = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($ct,$userName)
$user.GetGroups() #gets すべてのユーザー グループ (直接)
$user。ネストされたグループを含むすべてのユーザー グループ #gets GetAuthorizationGroups(間接
)


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/

"System.DirectoryServices.AccountManagement.UserPrincipal::FindByIdentity を使用して AD コンテナ内のユーザーを検索しようとすると、例外の取得 指定されたディレクトリ サービスの属性または値が存在しません

これは、コンテナーが指定されていない場合、プリンシパル コンテキスト クラスが組み込みの CN=Users コンテナーにバインドしてユーザーの検索を開始することで System.DirectoryServices.DirectoryEntry オブジェクトを作成するために発生します。System.DirectoryServices は ADSI の上に構築されています。  ADSI では、fastbind フラグが指定されていない限り、既定では、通常のバインド プロセスの一部として objectclass=* 検索が実行されます。  検索を実行するユーザーがデフォルト ユーザーに含まれる属性を読み取る権限を持っていない場合、検索操作は失敗し、指定されたディレクトリー サービスの属性または値が存在しない、例外が発生します

これは、ComputerPrincipal::FindByIdentity を使用してコンピューター オブジェクトを検索し、CN=Computer コンテナーに対する読み取りアクセス許可がなく、System.DirectoryServices.AccountManagemnt.PrincipalContext のコンストラクターでコンテナーを指定していない場合にも当てはまります。http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx のドキュメントの解説セクションでは、コンストラクタで明示的に指定されていない場合に PrincipalContext クラスがコンテナを選択する際の規則について説明します。

Resolution

ADグループに読み取り権限を割り当てます。

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.