問題タブ [directoryservices]
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 - AD での objectGUID の検索
Mark RussinovichのActive Directory Explorerを使用しています。それは素晴らしいツールです。
.NET から DirectorySearcher を使用するプログラムが正しいデータを返すことを確認するために、Active Directory をナビゲートするために使用しています。
ただし、DirectorySearcher を使用してプログラム内で objectGUID を検索しようとすると、実際の GUID を文字列として渡すと、 Active Directory Explorerを使用するかのように何も返されません。
値が f8d764ff-9a6a-418e-a641-b6f99661a8d5 の objectGuid の場合、その検索句は次のようになります。 (objectGUID=\FFd\D7\F8j\9A\8EA\A6A\B6\F9\96a\A8\D5*)
プログラムで directorySearcher に対してこれを行うにはどうすればよいですか。オクテット文字列だと思いますが、わかりません。
c# - System.DirectoryServices.DirectoryEntryには、Ldapで「domain \ username」を実際に使用するコンストラクターが含まれていますか?
Microsoftには、オブジェクトを使用してActive Directoryに対して認証する方法を説明する汎用KB記事(Q316748DirectoryEntry
)があります。彼らの例では、ドメイン名とユーザー名を標準のNetBIOS形式( "domain \ username")に連結し、それをパラメーターとしてディレクトリー項目コンストラクターに渡すことによって、ユーザー名値を生成します。
最近、ユーザー名のドメイン部分が完全に無視されていることに気づき、複数の環境でこの動作を確認しました。ユーザー名とパスワードは、無効な場合は認証に失敗するため、実際に使用されていますが、ドメイン名と認証パスには任意の値を指定できます。一見すると、この形式はWinNTベースのディレクトリアクセスで機能すると思いますが、LDAPではドメイン部分は無視されます。
グーグルでチェックすると、オブジェクトに「domain \ username」値を渡す多くのLDAPの例が示されているDirectoryEntry
ので、構成で何かを台無しにしたか、KBの記事で混乱している人がたくさんいます。誰かがこれが予想される動作であることを確認したり、「domain \ username」値を受け入れてActiveDirectoryに対して認証する方法を推奨したりできますか?
ありがとう、
asp.net - 「指定されたドメインが存在しないか、接続できませんでした」
統合 Windows 認証を DirectorySearcher と組み合わせて使用して、イントラネット ユーザーを識別および認証しようとしています。
トリックを実行しているように見えるかなり単純なコードをなんとか取得できましたが、ライブサーバーで試してみると、次のエラーが発生しました。
「指定されたドメインが存在しないか、接続できませんでした」
ライブサーバーでアプリをデバッグできないため、古い開発サーバーにコピーしてそこでテストしました。アプリを正常に実行すると、同じエラーが発生したため、VSでデバッグを試みました....それ以外は完全に機能しました。
なりすましや LDAP 呼び出しに関係していると思われます。明らかに、デバッガーで機能する場合、実際の問題が何であるかを確認するのは困難です。
しかし、あなたたちの一人が私を正しい方向に向けることができると思いました.
私の認証クラスからのスニペット:
c# - すべてのコンピューターと、それらが最後に AD にログオンした時刻を一覧表示する方法は?
コンピュータ名のリストと、それらが最後にログオンした日付を Active Directory から取得し、データテーブルで返そうとしています。名前を取得するのは簡単ですが、以下に示すように「lastLogon」または「lastLogonTimestamp」を追加しようとすると、lastLogonTimestamp に対して取得する値は「System._ComObject」だけです。
LDP などのツールを使用して AD にクエリを実行すると、プロパティが存在し、データが入力されていることがわかります。どうすればこの情報を入手できますか?
c# - エラー 0x80005000 と DirectoryServices
.Net のディレクトリ サービスを使用して単純な LDAP クエリを実行しようとしています。
そして、次の例外が発生します。
コンソール アプリのスニペットとして、これは機能します。しかし、WCF サービスの一部として実行すると (同じ資格情報で実行されます)、上記の例外がスローされます。
助言がありますか?
ありがとう
c# - asp.netiisメタベースはすべてのサイトを返すわけではありません
ASP.Netで次のようなコードを使用して、IISのWebサイトを列挙します。
ただし、16サイトのうち最初の11サイトのみが処理されていることがわかりました。私はこれと数時間戦いましたが、IISの最初の11サイトを通過する方法を見つけることができません。再帰的に検索してみましたが、DirectorySearcherを使用しても無駄になりました。複数回列挙したり、なんらかのフィルターを使用したりしましたが、うまくいきませんでした。
何か案は?
ありがとう!
〜mellamokb
.net - IIS をローカルにインストールして IIS にリモートでアクセスする代わりに?
DirectoryEntry オブジェクト (System.DirectoryServices 内) を使用して、リモート マシン上の IIS で実行されている Web サイトに関する情報にアクセスするアプリがあります。
アプリを実行するすべてのクライアント コンピューターに IIS がインストールされている必要があります。そうしないと、アプリが IIS 情報にアクセスするときに System.Runtime.InteropServices.COMException がスローされます。
クライアント マシンに IIS をインストールせずに、dll を含めたり、参照を追加したり、その情報にアクセスできるようにする方法はありますか? または、この要件を回避する (おそらく System.DirectoryServices を使用せずに) その情報にアクセスするためのより良い方法はありますか?
編集: この問題をもう一度見て、こことここの質問を見て、 DirectoryServices を使用してこの情報を取得することはできないと思います。代替案が提案されるように開いたままにします.WBEMスクリプトに関する詳細情報はありますか?
c++ - ユーザーからディレクトリを取得
ユーザーからディレクトリパスを取得する関数を探しています。私は物を置く場所を求める必要があります。.dirをフィルターとしてGetOpenFileName()を使用してみましたが、喜びはありませんでした。GetDirectoryViaBrowse()と呼ばれるものを見つけましたが、それは私が望むことを実行するように聞こえますが、それはウィザード作成パッケージの一部であり、私のVisualStudioはそれについて何も知りません。単純な非.NETウィジェットが欲しいのですが。
そんなことありますか?
.net - ユーザー アカウントを自動的に作成して制限することにより、Windows 2008 でシンプルなセキュリティ サンドボックスを構築しますか?
アプリケーション ホスティング サービス用のかなり単純なセキュリティ サンドボックスを構築したいと考えています。主な目標は次のとおりです。
- サンドボックス内で実行されているアプリケーションは、実行可能ファイルが実行されているディレクトリ以外のシステムには何もインストールできません。
- 一般的なシステムへのアクセスは拒否されます (レジストリ アクセスなど)。
- 指定されたディレクトリ外のファイル システム (読み取り専用であっても) へのアクセスは、明示的に拒否されます。これはサンドボックス内で実行される .NET アプリケーションになるので、ランタイムやコアの依存関係が偶発的に拒否されるかどうかはわかりません。
私が現在持っている計画は、次の方法で System.DirectoryServices 名前空間を使用して .NET でサンドボックスを構築することです。
- 起動されたインスタンスごとに新しい半永久的なユーザー アカウントを作成する
- システムへの幅広いアクセスを拒否するために、ユーザーのゲストクラスから派生させます
- 次に、アプリケーションを実行する必要がある有限数のディレクトリへの読み取りおよび書き込みアクセスを明確に許可します。
この計画の特定の欠陥に気付く人はいますか? また、ユーザー アカウントのセキュリティは、上記の要件を安全に満たすのに十分ですか? 現在、これを処理するために商用ソフトウェアを使用しています (サンドボックス化により包括的です)。しかし、それは私たちのビジネスにとって十分に自動化できないため、コア自動化ソフトウェアに組み込むことを望んでいます.
c# - ADSI を使用してアプリケーション プールのプロセス ID を取得する
ボックスで実行されているすべてのアプリ プールを一覧表示し、それらを開始/停止/リサイクルできる小さなツールを作成しました。System.DirectoryServices を使用しました。
現在、別のツールで使用するために各 AppPool の ProcessID を書き出そうとしていますが、それがどこにあるのか、どのようにアクセスするのかを見つけるのに苦労しています。誰にも指針がありますか?
ありがとう