すべてのコンピュータ名に対してADを検索するにはどうすればよいですか?ADのすべてのコンピュータをPythonで返すことは可能ですか
1
A
答えて
0
あなたが探しているものはActive Directory Cookbook Python stuffで見つかると思います。
1
これは素晴らしいコードではありません.Windows APIについてよく知っていれば、win32con
を使用することをおすすめします。しかし、これはかなり機能的です:
import subprocess
splitstring = "\\r\\n"
bCompList = subprocess.check_output(['dsquery', 'computer', 'domainroot',
'-scope', 'subtree', '-limit', '0'])
compList = str(bCompList)[2:-5].split(splitstring)
subprocess
モジュールは外部コマンドを実行するために使用されます。私はreading up on the documentationを提案する。 subprocess.check_output
はstdoutからコマンドの出力をキャプチャして返します。
ここでは、dsquery computer
を使用して、すべてのコンピュータオブジェクト()のドメイン全体('domainroot'
)を照会しています。この場合、コマンドはリストです。バイナリ文字列を返します。ここにはbCompList
に格納されています。
バイナリ文字列なので、おそらく標準の文字列形式に変換して作業したいと思っています。つまり、str()
を使用しています。 「迷惑メール」文字(「b
」は文字列がバイナリであることを示し、末尾には'\\r\\n'
ガベージが表示されます)をトリミングするためにスライシングを使用できます。この結果の文字列はsplit()
によって使用され、リストに分割されます。ちなみに
、あなたは、引用符に各コンピュータオブジェクトの周りdsquery computer
場所を切り落とす[3:-6]
にスライスを変更し、splitstring = "\"\\r\\n\""
にsplitstring = "\\r\\n"
を変更したい場合。
このコードには2つの重要な注意点は、しかし、があります。
- それはそれだ、少なくとも、インストールされたWindows「AD DSスナップインおよびコマンドライン・ツール」機能(とコンピュータ上で実行する必要がありますWindows Server 2008 R2で呼び出されるもの)
- 適切な権限を持つADユーザーとしてログインする必要があります。 (または、あなたが適切な資格情報を使用して
username
とpassword
を置き換え、コマンド引数リストに'-u', username, '-p', password
を含めることができます。)
関連する問題
- 1. オブジェクトや値をPythonスクリプトからホスティングアプリケーションに返すことは可能ですか?
- 2. XmlDocumentのSelectNodeがnullを返すことは可能ですか?
- 3. Pythonでクローズドソースのアンドロイドプログラムを書くことは可能ですか?
- 4. ServiceContractでSystem.Messaging.Messageを返すことは可能ですか?
- 5. WebサービスコールからExpandoObjectを返すことは可能ですか?
- 6. PythonとJavaを統合することは可能ですか?
- 7. クラスのすべてのサブクラスを取得することは可能ですか?
- 8. 利用可能なすべてのSSIDをArduinoプラットフォームでスキャンすることは可能ですか?
- 9. すべてのアクティブなサブスクリプションを表示することは可能ですか
- 10. すべてのxcodeログを検索することは可能ですか
- 11. PHPでは、クラスのコンストラクタ関数を返すことは可能ですか?
- 12. PHPのLDAPを使ってWinServer ADにログインすることは可能ですか?
- 13. Pythonウィンドウでmitmproxyをビルドして実行することは可能ですか?
- 14. スプライト画像の中でバックグラウンドストリップを繰り返すことは可能ですか?
- 15. PythonをPHPに埋め込むことは可能ですか?
- 16. ユーザアクションに応じてJS関数を返すことは可能ですか?
- 17. class.property = xにx以外の何かを返すことは可能ですか?
- 18. PostgreSQL関数が「任意の」型を返すことは可能ですか?
- 19. PythonでXbox 360コントローラーを「うっすら」することは可能ですか?
- 20. Pythonで文字の範囲を作ることは可能ですか?
- 21. pythonの "units"単位をpickleすることは可能ですか?
- 22. パラメータとしてpercentDiscountを渡すことは可能ですか?
- 23. プロパティとしてパラメータを渡すことは可能ですか?
- 24. .htaccessで304未修正のファイルを返すことは可能です
- 25. PythonでTclプロシージャを定義することは可能ですか?
- 26. PythonがリアルタイムでLaTexをテキストボックスに表示することは可能ですか?
- 27. Pythonでレイズ後にステートメントを実行することは可能ですか?
- 28. Java - クラスのすべてのサブクラスを単一のクラスで拡張することは可能ですか?
- 29. どのように私はすべてのキーをPythonとleveldbで繰り返すことができます
- 30. このストアドプロシージャを改善することは可能ですか?
ます。また、SAのデスクトップ用であるhttp://serverfault.com/であなたの質問を投稿してみてくださいサポート人。 – DOK