問題タブ [principalsearcher]
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.
c# - PrincipalSearcher による複雑な検索フィルタリング
を返したいのでSamAccountName
、オブジェクトを使用して特定の値をActive Directory で検索しています。その検索に 2 つのフィルターを適用する方法を考えていました。1 つはアカウント名の先頭が xx で始まり、もう 1 つはアカウント名が _c で終わっていないことです。 PrincipalSearcher
UserPrincipal
現在、xx で始まるすべての結果を使用して検索できxx*
ますが、別の検索語を追加する方法や、等しくない検索語を適用する方法さえわかりません。これは私が現在取り組んでいるものです。
私が考えているのは、に別のパラメーターを追加する必要があるということsearchTemplate.SamAccountName
です。方法がわかりません。
更新: Redditで役に立つ提案をしてくれた 人と話していましたが、このユーザーは闇に落ちました。最も一般的な提案は、何らかの方法で LDAP フィルターを実装することです。そのため、プリンシパル オブジェクトを返しながらそれらを実装する方法を誰かが知っていれば、非常に役立ちます。
c# - Windows Server 2016 Datacenter で動作しない ASP.NET WebAPI C# を使用して AD グループを取得する
特定の名前を含むすべてのグループを Active Directory から内部データベースにロードする ASP.NET Web API アプリケーションがあります。
これは開発に取り組んでいました。PC (Windows 10)、Testserver および古い本稼働サーバー (Windows Server 2012 R2) ですが、新しい本稼働サーバー (Windows 2016) では、同じ方法で例外が発生しました。
削除対象としてマークされたレジストリ キーに対して不正な操作が試行されました。
ここにコード:
追加情報: Windows Server 2016 Datacenter バージョン 10.0.14393 ビルド 14393
.NET Framework をインストール (Server 2016) .NET Framework 4.8 を使用 .NET Framework 7 を使用
誰かがアイデアを持っています、何が問題なのですか?ありがとう
追加: 08.01.2020 16:11 (UTC +1)
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.Runtime.InteropServices.COMException: 削除対象としてマークされたレジストリ キーに対して不正な操作が試行されました。
ソース エラー:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
スタックトレース:
[COMException (0x800703fa): 削除対象としてマークされたレジストリ キーに対して不正な操作が試行されました。]
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +535 System.DirectoryServices.DirectoryEntry.Bind() +48
System.DirectoryServices.DirectoryEntry.get_AdsObject() +43
System.DirectoryServices.PropertyValueCollection.PopulateList() +27
System.DirectoryServices .PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) +122
System.DirectoryServices.PropertyCollection.get_Item(String propertyName) +168
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +194 System.DirectoryServices.DirectoryEntry.Bind() + 48
System.DirectoryServices.DirectoryEntry.get_AdsObject() +43
System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne) +91 System.DirectoryServices.DirectorySearcher.FindOne
() +46
\FragranceStudio.Webservice.Common\Helper\ActiveDirectoryHelper.cs:70 FragranceStudio.Webservice.Common.Security.ExtendedPermissionProvider.ReloadInheritedPermissionGroups (FragranceStudioPrincipal プリンシパル) C:\Repositories\VS2017\FragranceStudio\FragranceStudio\FragranceStudio.Webservice.Common.Security\ExtendedPermissionProvider .cs:142[FragranceStudioException: 不明なエラーが発生しました。もう一度やり直すか、サービスデスクにお問い合わせください。]
C:\Repositories\VS2017\FragranceStudio\FragranceStudio\FragranceStudio.Webservice.Common.Security\ExtendedPermissionProvider.cs:169 の FragranceStudio.Webservice.Common.Security.ExtendedPermissionProvider.ReloadInheritedPermissionGroups (FragranceStudioPrincipal プリンシパル)。 C:\Repositories\VS2017\FragranceStudio\FragranceStudio\FragranceStudio.Webservice.Common.Security\ExtendedPermissionProvider.cs:62 FragranceStudio.Webservice.Common.DomainEntities.Security.FragranceStudioPrincipal..ctor(IExtendedPermissionProvider extendedPermissionProvider, WindowsPrincipal principal ) C:\Repositories\VS2017\FragranceStudio\FragranceStudio\FragranceStudio.Webservice にあります。Common\DomainEntities\Security\FragranceStudioPrincipal.cs:55 FragranceStudio.Webservice.WebApiApplication.Application_PostAuthenticateRequest(Object sender, EventArgs e) in C:\Repositories\VS2017\FragranceStudio\FragranceStudio\FragranceStudio.Webservice\Global.asax.cs:51 システム。 Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +223 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep ステップ) +220 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、Boolean& completedSynchronously) +94Execute() +223 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep ステップ) +220 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、Boolean& completedSynchronously) +94Execute() +223 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep ステップ) +220 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、Boolean& completedSynchronously) +94