仕事の一環として、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で完全に機能します。
Microsoftのサポート記事 Windowsオペレーティングシステム上のNetコマンド によると、NETコマンドの/domain
スイッチは、現在のドメインのドメインコントローラーで要求された操作を実行します。
Active Directoryドメインに参加していないマシンの場合、「現在のドメイン」はコンピューターのワークグループです。ただし、ワークグループにはドメインコントローラーがないため、NETコマンドが失敗します。
リクエストは、ドメイン[〜#〜]ワークグループ[〜#〜]のドメインコントローラーで処理されます。
システムエラー1355が発生しました。
指定されたドメインが存在しないか、接続できませんでした。
(私の強調)
これを回避する方法はありません。 /domain
スイッチは、ローカルマシンのドメインメンバーシップを読み取って、ドメインコントローラーを探す場所を決定するようにハードコードされています。コマンドの実行時に使用する資格情報とは関係がないため、ドメインユーザーの資格情報を使用して実行しても違いはありません。
最善のオプションは、クエリを実行するドメインのメンバーであるマシンからこれらのコマンドを実行することです。