Windows Server 2003 R2 で Active Directory ドメインを実行しています。クライアントは Windows XP SP2、Vista、Windows 7 が混在しています。各マシンでスクリプト (バッチ ファイル、または VB スクリプト) を 1 回実行したいと考えています。ログオン、ログオフ、起動、またはシャットダウン時にこれを実行することは望ましくありません。できるだけ早く 1 回だけ実行したいのです。
すべてのクライアント タイプで機能し、比較的簡単にこれを行う方法はありますか?
ありがとう。
アップデート: 最初にこれについて言及すべきでした。多くの PC は、イーサネット ジャックに接続された安価な 5 ポート ルーターの背後にあります。5 人の大学院生がオフィスを共有しているとします。つまり、オフィス内の各 PC には RFC1918 IP があります。私はルーターのパブリック側にいるので、PC に直接接続できません。したがって、PsExec または WMI は機能しません。WinRM は機能するかもしれませんが、ほとんどの PC にはインストールされていません。唯一の選択肢は、何らかの方法で GPO を使用して、ネットワーク ドライブからスクリプトを実行するタスクをスケジュールすることだと思います。
答え1
私は使用することをお勧めしますpsツールpsexec.exe を使用してスクリプトをリモートで実行します。
起動して実行するのは簡単なプロセスであり、すべてのステーションにログインする必要がなく、後で痕跡が残ることもありません。
すべてのコメントに応えて、ドメイン上の DC と通信できるため、DC にジャンプしてそこから psexec スクリプトを実行できるはずです。
答え2
これは、psexec. PSexec では、コンピュータとして '\' を指定すると、ドメイン内のすべてのコンピュータでスクリプトをリモートで実行できます。スクリプトに何らかのロジックを追加して、完了したことをシステムに何らかの形で表示し、開始前にそれを確認する必要があります。
答え3
ラッパー スクリプトを作成し、psexec を使用してリモート マシンに接続し、それらのマシンからアクセス可能な場所にあるスクリプトを実行することができます。接続先の PC のソースがあれば、それらをループできます。
答え4
各マシンでスクリプト (バッチ ファイル、または VB スクリプト) を 1 回ずつ実行したいと考えています。ログオン、ログオフ、起動、またはシャットダウン時に実行させたくはありません。できるだけ早く 1 回だけ実行させたいのです。すべてのクライアント タイプで機能し、比較的簡単にこれを行う方法はありますか?
VBスクリプト。
多くの PC は、イーサネット ジャックに接続された安価な 5 ポート ルーターの背後にあります。5 人の大学院生がオフィスを共有していると想像してください。つまり、オフィス内の各 PC には RFC1918 IP が割り当てられます。
これが機能していることに驚いています。すべてのルーターが異なるサブネットを持っていると推測します。そうでない場合、多数のクライアントがすべて同じ 192.168.xx IP アドレスを要求しようとするため、ドメインは完全に混乱状態に陥ります...
私はルーターのパブリック側にいるので、PC に直接接続できません。そのため、PsExec または WMI は機能しません。
これが最初の問題です。それぞれのネットワークの「内部」に入る必要があります。リモート PC は何らかのファイアウォール NAT の背後にあるようですが、それがさまざまな頭痛の種になります。技術的には、「理想的な世界」では、サーバーはクライアントと同じネットワーク上にある必要があります。クライアントは VPN 経由で接続していますか? そうであれば、それが「入り口」になります。
唯一の選択肢は、何らかの方法で GPO を使用して、ネットワーク ドライブからスクリプトを実行するタスクをスケジュールすることだと思います。
ユーザーがマシンにログオンしたときには適用したくないと指定したにもかかわらず、作成した GPO がユーザーのログイン時に適用される場合は、これが問題になる可能性があります。
気分を害して申し訳ありませんが、質問の性質上、(答えていただけるのであれば)お聞きしなければなりません。なぜこれを行う必要があるのですか? 管理されたネットワークはこのような非常識な方法で構成されることはありませんし、率直に言って、私の視点からすると、これらの内部ネットワークに対して何らかの侵入を仕掛けたいと考えているように見えます。