問題タブ [active-directory]
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# - Active Directory のグループ メンバーシップをより効率的に監視する (C# .NET)
私は、Windows サービスとして作成された Active Directory 同期ツール (.NET 2.0 / C#) を持っており、これにしばらく取り組んでおり、最近、グループ メンバーシップの変更に基づいてイベントを駆動する機能を追加する任務を負っています。基本的なシナリオは、ユーザーがセキュリティ データベースと同期され、グループ メンバーシップが変更された場合、ユーザーのアクセス権を変更する必要があるというものです (つまり、私が "IT スタッフ" のメンバーになった場合、自動的にアクセス権を受け取る必要があります)。そのグループから削除された場合、サーバー ルームへのアクセスは自動的に失われます)。
問題は、グループに対して DirectorySynchronization を実行すると、メンバーが追加/削除されたグループが返され、そこからメンバー リストを取得すると、そのグループ内のすべてのメンバーのリストが返されることです。追加または削除されました。これはかなり効率的な問題につながります。つまり、ユーザーが追加または削除されたかどうかを知るために、各グループとすべてのメンバーのリストをローカルに保持し、それを現在のリストと比較して、誰が追加または削除されたかを確認する必要があります。追加された (ローカル リストではなく)、および削除されたユーザー (現在のメンバー リストではなくローカル リスト)。
グループ メンバーシップの詳細をメモリ内の DataSet に保存し、新しいメンバーシップの変更を処理するたびにディスクに書き込むことについて議論しています。そうすれば、サービスが停止/クラッシュしたり、マシンが再起動したりした場合でも、ディスク上の最後の情報と現在のグループ メンバーシップ リストの情報を比較することで、セキュリティ データベース内の Active Directory の現在の状態を取得できます。ただし、これは非常に非効率的です。グループ内のすべてのメンバーを実行してデータセットの内容と比較し、リストに変更があるたびに変更をディスクに書き込みます。
誰かが以前にこのシナリオを扱ったことがありますか? グループ メンバーのデルタのみを取得する方法はありますか? この状況で、パフォーマンスへの影響を最小限に抑えながら変更を見逃さないようにするにはどうしますか?
編集: AD には 500 人のユーザーが含まれている可能性があり、200,000 人のユーザーが含まれている可能性があります。
c# - C# を使用して、AD でユーザーの「接続先:」ホーム ディレクトリ パスを更新しようとしています。
私が取り組んでいる小さなアプリケーションがあります。ある時点で、ドライブ文字を特定のパスにマップできるようにするプロファイル タブの下で、AD のユーザーのホーム ディレクトリ パスを更新する必要があります。これまでにまとめたコードは、ホームフォルダーのローカルパス部分をOKに設定しますが、「接続」部分の名前とドライブ文字の選択方法を見つけようとしています。私は C# の初心者です。ありがとう!!
ローカル パス セクションを更新するコードは次のとおりです。
findMeinAD は、AD でユーザーの情報を検索するメソッドであり、tbPFolderVerification.Text は、特定のドライブをマップするように設定するパスを含むフォームのテキスト ボックスです。
c# - Asp.NetでユーザーのADユーザーグループを取得するには?
ユーザーが属するグループのリストを取得できるようにする必要がありますが、次のプロパティの 1 つ/いくつか/すべてを表示する必要があります。
- 識別名
- 名前
- cn
- samaccountname
私が今持っているものは、ある種の名前を返しますが、上記の名前のいずれも返しません (名前は近いようですが、すべてが正しく一致しているわけではありません。これが私が使用しているものです:
私が言ったように、上記は機能しますが、プログラムに必要な適切な名前 (上記で指定したもの) を取得できません。ドメイン内のすべてのグループを呼び出すときに取得するリストと一致させるには、これが必要です。
c# - DirectorySearcher から 1000 を超えるレコードを取得できますか?
結果の返されるリストが 1000 に制限されていることに気付きました。ドメイン (HUGE ドメイン) に 1000 を超えるグループがあります。どうすれば 1000 を超えるレコードを取得できますか? 後の記録から始めることはできますか? 複数の検索に分割できますか?
これが私のクエリです:
srch.SizeLimit = 2000;を設定しようとしました。、しかし、それはうまくいかないようです。何か案は?
.net - 「SQL」を使用して Active Directory にクエリを実行していますか?
.netで簡単にクエリできるように、誰かがActive Directoryのラッパーを知っているか作成したかどうか疑問に思っていますか? 「LINQ-to-ActiveDirectory」または一部のSQLダイアレクトのようなものです。つまり、「SELECT DISTINCT(DEPARTMENT) FROM /Users/SomeOU/AnotherOU」または「SELECT user FROM domain」などを実行できます。
私が知る限り、WMI と IIS を "SQLesque" の方法でクエリすることは可能ですが、別のクエリ言語 (LDAP) を学ばなくても、Active Directory でも同様のことが可能かどうか疑問に思っています。
asp.net - Web アプリのグローバル vs ユニバーサル Active Directory グループ アクセス
SQL Server 2000、C#、および ASP.net Web アプリを使用しています。Active Directory グループを使用してアクセスを制御したいと考えています。入力したグループが「グローバル」の場合は認証を機能させることができますが、グループが「ユニバーサル」の場合は機能しません。
「ユニバーサル」グループでこれを機能させるにはどうすればよいですか? これが私の承認ブロックです:
inheritance - 基本クラスの継承
Active Directoryでフォーム認証を使用しようとしていますが、ADのロール(memberOf)が必要です。私はこれを可能にするためにRoleProviderのメンバーをオーバーライドしようとしています(誰かがより良い方法を知らない限り)。RoleProviderから継承している新しいクラスでエラーが発生しました。
エラーは次のとおりです。ADAuth.ActiveDirectoryRoleProvider'は継承された抽象メンバー'System.Web.Security.RoleProvider.ApplicationName.get'を実装していません
オーバーライドしていない他のすべてのメンバーを設定するにはどうすればよいですか?継承されたクラスでそれらをすべて作成する必要がありますか、それとも基本クラスのものだけを使用するように指示する方法はありますか?
asp.net - Active Directory のユーザーを使用して ASP.NET アプリのシングル サインオンを行うための ADFS の代替手段は何ですか?
安全で、何千人ものユーザーを処理できる必要があります。
windows - 上または内の Windows ネットワーク共有とすべてのカスタム アクセス許可を列挙する
多くのディレクトリを共有するさまざまなサーバーがあります。共有ブラウザを見て「トップレベル」の共有が何であるかを確認するのは簡単ですが、その下にはごちゃまぜのカスタム権限があり、どれも文書化されていません.
ドメイン上のすべての共有を列挙したいと思います (間違いなくすべての「サーバー」、ローカル PC が良いでしょう)。子供が同じ権限を持っている場合は、報告する必要はありません。
大規模な C# アプリを作成するよりも、単純なスクリプトのようなソリューションを使用したいと思いますが、機能する方法であれば何でも構いません (既存のソフトウェアであっても)。
たとえば、私は取得したい:
等
python - Pythonを使用して現在のWindowsユーザー(ADまたはローカル)の名前を取得するにはどうすればよいですか?
Pythonスクリプトを使用して、現在ログインしているユーザーの名前を取得するにはどうすればよいですか?この関数は、ドメイン/広告ユーザーであるかローカルユーザーであるかに関係なく機能するはずです。