0

NIC インターフェイス メトリックを変更する Windows スクリプトを作成しましたが、実行方法が原因で、2 つのコマンドに要約する必要があります。簡単に言うと、リモート エージェントを使用してシステム コマンドを呼び出すアプリケーション (BladeLogic Server Automation [BSA]) をサポートしています。

BSA がスクリプトを実行すると、各コマンドが個別のコマンド プロンプト環境で実行されるため、ルート文字列を格納するために使用される環境変数は永続的ではないという仮説を立てました。

for /f "delims=" %a in ('netsh interface ipv4 dump ^| find "nexthop=1.1.1.1"') do @set VAR1=%a
netsh interface ipv4 set %VAR1:~4% metric=200
for /f "delims=" %a in ('netsh interface ipv4 dump ^| find "nexthop=2.2.2.1"') do @set VAR2=%a
netsh interface ipv4 set %VAR2:~4% metric=500

スクリプトをそのまま要約し、コマンド プロンプトでテストしています。

for /f "delims=" %a in ('netsh interface ipv4 dump ^| find "nexthop=1.1.1.1"') do @set VAR1=%a && netsh interface ipv4 set %VAR1:~4% metric=200
for /f "delims=" %a in ('netsh interface ipv4 dump ^| find "nexthop=2.2.2.1"') do @set VAR2=%a && netsh interface ipv4 set %VAR2:~4% metric=500

残念ながら、2 番目のコマンドの適切な構文を認識していないようです。

The following command was not found: interface ipv4 set %VAR1:~4% metric=200

構文的に正しいと解釈されるように、2 番目のコマンドを追加できる別の方法はありますか? 私は提案にオープンです!

4

1 に答える 1

0

マット、

BladeLogic がステートメントごとに個別のシェルを起動することは正しいですが、達成しようとしていることに応じて、ターゲット上で完全なスクリプトをリモートで実行するように「説得」できる場合があります。

まだこの問題に直面している場合は、何を達成しようとしているのか、どのアプローチを試したのかについて、もう少し詳しい情報を添えて返信してください。代替案を検討できます。

-ジョン。

于 2014-01-06T16:09:40.183 に答える