1

私はLinuxの男です。Windowsボックスで解決しようとしているかなり具体的な問題があるので、ここで私の無知を許してください。

問題 (これは再定義できません): 3 つの NIC を持つ Windows マシンがあります。起動するたびに、その IP アドレスを動的かつ自動的に設定する方法が必要です。このマシンは起動するたびに、異なるアドレス情報を持ちます。マシンには、起動時にアクセス可能な名前と値のペアで構成されるファイルがあります (つまり、「=」エントリでいっぱいのファイル)。バッチ ファイルから実行される標準の Windows コマンド プロンプト コマンドを使用して、これらすべてのタスクを実行する必要があります。VB など、利用できるものはありません。

最大の問題: Windows がそのネットワーク インターフェイスの命名に関して決定論的である場合、これははるかに簡単になると思います。そうであれば、このファイルを解析して、netsh を使用して「ローカル エリア接続 2」の IP アドレスを簡単に設定できます。ただし、現状では、Windows は物理 NIC に使用する名前を変更することがあります。今日の「ローカル エリア接続 2」は、明日は「ローカル エリア接続」になるかもしれません。そのため、MAC アドレスを使用して対応する NIC を見つけることにより、起動時にこれらのことを判断する方法を見つける必要があります。grep や awk などがなければ、ipconfig の出力からこの情報を取得することはますます困難になっています。

試したこと/達成したこと: (1) ローカル グループ ポリシー エディターを使用して Windows 設定スタートアップ スクリプトを追加することにより、Windows の起動時にバッチ ファイルを開始する方法を見つけました。(2) バッチ ファイルから、名前と値のペア ファイルを解析し、トークンを取得する方法を見つけました。(3) arp コマンドを使用して IP マッピングを設定しようとしました。これは、明らかなように、パケットをインターフェイスに正しくルーティングするだけです。ただし、パケットがインターフェイスに到達すると、パケットは NIC が属していないネットワークを対象としているため、破棄されます。これは私には何の役にも立ちません。NIC の IP アドレスを設定する必要があります。

現在の計画 / サポートが必要なこと: (1) 名前と値のペア ファイルを解析する (2) 名前と値のペア ファイルで、MAC アドレスに対応するネットワーク カードの名前を見つける (3) netsh を使用して設定するこれらのカードの IP アドレス (4) これはすべてバッチ ファイルから実行します (5) Linux ボックスを使用していないことについて文句を言わないようにしてください :-)

どんな助けでも大歓迎です。

4

0 に答える 0