問題タブ [groupprincipal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - System.DirectoryServices.AccountManagement.GroupPrincipal はスレッドセーフですか?
ユーザーを一括で作成するプログラムを作成しています。作成の一部である操作が約 5 秒間ブロックされています。これを回避するために、それをスレッド化し、すべてをスレッド プールに配置しました。
私の質問は、スレッドの外側で原則を作成し、グループの原則をスレッドに渡して呼び出すgroup.Members.Add(u)
とgroup.Save()
、問題が発生する可能性があるかどうかです。各スレッド内から新しいグループ プリンシパルを生成した方がよいでしょうか?
c# - GroupPrincipal グループ名の変更
グループの名前を変更しようとしています。私のコードは次のようになります
問題は、クラッシュしgroup.DisplayName = "NewGroupName";
て例外をスローすることです
プロパティは、このストア タイプには無効です。
その行をコメントアウトすると、コードは実行されますが、表示名を変更したいと思います。私はいくつかの研究を行い、これを見つけました。ただし、Framework 4.0 を使用しています。これを行う方法を誰かが知っていますか、それとも間違った方法で行っていますか?
.net - すべてのプリンシパルで本当に Dispose() を呼び出す必要がありますか?
System.DirectoryServices.AccountManagement
.NET の名前空間を使用して Active Directory の作業を行っています。その名前空間のすべてが を継承するため、それはある種の頭痛の種を引き起こすことに気付きPrincipal
ました。IDisposable
Principal
たとえば、グループ内のすべてのユーザーを取得するには、次のコードを検討してください。
IDisposable
検索によって返されたすべてのユーザーと検索結果セット自体を含め、そのスニペットのすべてのタイプが を実装します。
domain
andオブジェクトを破棄するgroup
ことは大したことではありません (using()
ブロックを使えば簡単です) が、すべての結果についてはどうすればよいでしょうか? users
そのコレクションをループして、すべてを破棄する必要がありますか?
c#-4.0 - GroupPrincipal が「System.Runtime.InteropServices.COMException (0x8007200A): 指定されたディレクトリ サービスの属性または値が存在しません」をスローします。
ユーザーを照会してSystem.DirectoryServices.AccountManagement
から、そのユーザーのグループを見つけるために使用しています。
基になるオブジェクトを取得してDirectoryEntry
そのプロパティと値をダンプできますが、GroupPrincipal.DisplayName
プロパティ (またはそのプロパティ) にアクセスするとすぐに、次の例外がスローされます。
「System.Runtime.InteropServices.COMException (0x8007200A): 指定されたディレクトリ サービスの属性または値が存在しません。\r\n\r\n で System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)\r\n で System. DirectoryServices.DirectoryEntry.Bind()\r\n で System.DirectoryServices.DirectoryEntry.get_SchemaEntry()\r\n で System.DirectoryServices.AccountManagement.ADStoreCtx.IsContainer(DirectoryEntry de)\r\n で System.DirectoryServices.AccountManagement. ADStoreCtx..ctor(DirectoryEntry ctxBase, Boolean ownCtxBase, String username, String password, ContextOptions options)\r\n System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry entry) で\r\n System.DirectoryServices.AccountManagement.PrincipalContext で.DoLDAPDirectoryInitNoContainer()\r\n で System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()\r\n で System.DirectoryServices.AccountManagement.PrincipalContext.Initialize() で\r\n System.DirectoryServices.Account Management.PrincipalContext.get_QueryCtx で()\r\n で System.DirectoryServices.AccountManagement.Principal.HandleGet[T](T& currentValue, String name, LoadState& state)\r\n で System.DirectoryServices.AccountManagement.Principal.get_DisplayName()\r\n でConsoleApplication9.Program.Main(文字列[]引数)"AccountManagement.Principal.HandleGet[T](T& currentValue, String name, LoadState& state)\r\n System.DirectoryServices.AccountManagement.Principal.get_DisplayName() で\r\n ConsoleApplication9.Program.Main(String[] args) で"AccountManagement.Principal.HandleGet[T](T& currentValue, String name, LoadState& state)\r\n System.DirectoryServices.AccountManagement.Principal.get_DisplayName() で\r\n ConsoleApplication9.Program.Main(String[] args) で"
基になるの未加工のプロパティをダンプできるのに、DirectoryEntry
で直接プロパティを呼び出すことができないのはGroupPrincipal
なぜですか? この例外の原因は何ですか? これは「Domain Users」グループでは発生せず、後続のグループでは発生することに注意してください...
asp.net - 現在のユーザー プリンシパルを取得する方法
Windows 認証を使用して、Givenname、Surname などのユーザー情報を取得したいと考えています。IIS で使用UserPrincipal.Current
していて例外が発生しましたが、IIS Express は問題ないようです。
principalcontext - GetMembers(true) は membergroup のすべてのユーザーをリストしません
最初に私のコードは次のとおりです。
私の「otheradmingroup」の唯一のメンバーは、6 人の広告ユーザーを含む「Domain Admins」グループです。
上記のコードを実行した後、返されたリストには「Domain Admins」の最初の 4 メンバーのみが含まれます。
c# - GroupPrinciple.FindbyIdentity が遅すぎる
一度に 1 人のユーザーを特定のグループ (管理者など) に追加する関数を作成しましたが、GroupPrinciple(5-10 秒) および group.members.add(5-10 秒) 呼び出しで応答するのに時間がかかりすぎるようですアプリの速度が遅くなり、応答するのに約 15 ~ 20 秒かかります。これを行うより速い方法はありますか?
c# - PrincipalContext を使用して、Active Directory 内の特定のグループ ユーザーを取得できません
例外の取得
system.directoryservices.accountmanagement.principaloperationexception : サーバーにそのようなオブジェクトはありません
グループのすべてのメンバーを取得しようとしています。同じコードを持つ他のグループのメンバーを取得できる、特定の 1 つのグループのみで例外を取得します。
次のコードで試しています
グループには 600 人のメンバーが含まれ、一部のメンバーはクロスドメイン ユーザーです