web-dev-qa-db-ja.com

ドメイン外で/ domainフラグを指定して「net」コマンドを実行する

仕事の一環として、AD環境/ドメインを使用してネットワークに接続し、ドメインユーザーの資格情報を受け取ることがあります。ただし、私のマシンはドメインの一部ではありません。したがって、ドメイン(runas/netonly内)ウィンドウにクエリを実行しようとすると、次のようになります。

C:\Windows\system32>net accounts /do
The request will be processed at a domain controller for domain WORKGROUP.

System error 1355 has occurred.

The specified domain either does not exist or could not be contacted.

ただし、そのドメイン内のコンピューターから同じコマンドを実行すると、次のようになります。

C:\Windows\system32>net accounts /do
Force user logoff how long after time expires?:       Never
Minimum password age (days):                          0
Maximum password age (days):                          42
Minimum password length:                              0
Length of password history maintained:                None
Lockout threshold:                                    Never
Lockout duration (minutes):                           30
Lockout observation window (minutes):                 30
Computer role:                                        domain.local
The command completed successfully.

繰り返しますが、これは「cmd/exe(domain.loca\usernameとして実行)」というタイトルのrunas/netonlyウィンドウ内にあります。
「ネットユーザーユーザー名/ドメイン」などの同様のコマンドすべてについて同じことが起こります

ドメイン外のコンピューターからこれらの「net」コマンドを照会する方法はありますか(もちろんドメインユーザーがいますが)?

追記として、一部の外部ツール(WindowsリソースキットやPingCastleなど)はrunas/netonlyで完全に機能します。

2
Giladiald

Microsoftのサポート記事 Windowsオペレーティングシステム上のNetコマンド によると、NETコマンドの/domainスイッチは、現在のドメインのドメインコントローラーで要求された操作を実行します。

Active Directoryドメインに参加していないマシンの場合、「現在のドメイン」はコンピューターのワークグループです。ただし、ワークグループにはドメインコントローラーがないため、NETコマンドが失敗します。

リクエストは、ドメイン[〜#〜]ワークグループ[〜#〜]のドメインコントローラーで処理されます。

システムエラー1355が発生しました。

指定されたドメインが存在しないか、接続できませんでした

(私の強調)

これを回避する方法はありません。 /domainスイッチは、ローカルマシンのドメインメンバーシップを読み取って、ドメインコントローラーを探す場所を決定するようにハードコードされています。コマンドの実行時に使用する資格情報とは関係がないため、ドメインユーザーの資格情報を使用して実行しても違いはありません。

最善のオプションは、クエリを実行するドメインのメンバーであるマシンからこれらのコマンドを実行することです。