上記のユーザーが管理者である3つの「クライアント」コンピューターがあります。
CPU1: Win Vista 32-bit -- User: Domain\User1 -- IP: 192.168.42.1
CPU2: Win 7 64-bit -- User: localhost\User2 -- IP: 192.168.42.2
CPU3: Win 7 64-bit -- User: Domain\User3 -- IP: 192.168.42.3
そして、「ターゲット」コンピューター(他の3つからシャットダウンしたいコンピューター):
TGT: Win 7 64-bit -- User: localhost\User4 -- IP: 192.168.42.21
次のコマンドでTGT
をシャットダウンしようとしています:
shutdown /s /m \\192.168.42.21
CPU1
(TGT
がシャットダウンすることを意味します)から機能していますが、CPU2
およびCPU3
から次のメッセージが表示されます。
アクセスが拒否されました。 (5)
私は何を理解するべきですか?すべてのコンピュータで機能させるにはどうすればよいですか。
覚えておくべきことの1つは、シャットダウンするコンピュータは、「制御する」コンピュータと同じネットワーク上にある必要があるということです。
これには多くの解決策がありますが、私はこれを選択しました。
これは単純なネットワークアクセスの問題です。特定のコンピュータにアクセスできる場合もありますが、これはこの場合ではありません。リモートシャットダウンするために別のコンピューターにアクセスするには、コマンドプロンプトで次のコマンドを実行する必要があります。
Net Use \\Server\IPC$ pswd /USER:user
Server
をリモートでシャットダウンするコンピューターのip/nameに置き換え、pswd
をリモートコンピューターの管理者アカウントのパスワードに置き換え、user
を管理者ユーザーアカウント名に置き換えます。現在のWi-Fiネットワーク内のすべてのコンピューターを一覧表示するには、net stat
。コンピュータの名前が表示されます。より簡単な方法を希望する場合を除き、[スタート]、[コンピュータを右クリック]の順にクリックします。プロパティをクリックし、そこに名前を付けます。 IPC $があるはずです。時にはそれは動作しません。何故かはわからない。
引用された作品 ここ 。
たとえば、CHOCOLATEという名前のコンピューターがあり、現在のマシンの管理者アカウントはBob、パスワードはJoeです。
Net Use \\CHOCOLATE\IPC$ Joe /USER:Bob
マシンをリモートでシャットダウンするために使用するユーザーアカウントごとに、tgtにローカルアカウントを作成します。これらの各アカウントには、tgtに対する管理者特権があり、cpu1-3で使用するアカウントと同じ名前とパスワードを持っている必要があります。 cpu1はおそらく同じ名前で作成されたアカウントを使用し、tgtを渡します
1つの考えられる答えは PS Shutdwon を使用することです:
psshutdown.exe \\192.168.42.21 -s -u User4 -p User4Password
しかし、それは有効な答えではありません。sysinternalツールが再配布可能ではないため(-/// =)、ネイティブで実行することを引き続き検討しています。
リモートで操作を実行するには、最初にターゲットPCで認証する必要があります。
これは複数の方法で行うことができます:
Net Use \\target-pc\\IPC$ password user:username
ただし、シャットダウンを正常に実行するには、別の問題を回避する必要があります:リモートUACは、リモートからログオンする場合、ユーザー権限を制限します。これにより、シャットダウンの実行がブロックされます。
詳細は Microsoft KB951016 を参照してください。 「回避策」もそこに記載されています。
私のシャットダウンが機能しない理由を疑問に思った後、インターネットのさまざまなページでこの最後の重要な情報を見つけました。 https://stackoverflow.com/a/16526680/2505186 にもあります。私に+1を与える場合は、彼/彼女も行います。