[前の記事]« COPYコマンドのエラーメッセージ内容を取得するには
[次の記事]FORでの処理を、パラメータに「%」や「!」があっても誤動作しないようにしたい »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「NET USE」索引へ

コンピュータ名を取得してログオンするバッチ

647.
(無題)
2005年07月29日(金) 12時52分
tsunetsune
●DOS/Windowsのバージョン↓
 NT4.0Server

 C:\IP.TXT このファイルの中に、
 NAME=192.168.0.6 と一行記述されています。

 IPアドレスは設置場所毎に違うので、
 行いたいのは、IP.TXTの中を読み出して

 1.PING 192.168.0.6
 2.このIPのコンピュータ名を調べ
 3.DOS上でLOGONする。です。

 スタートアップにバッチを入れて起動時に
 ログオンしたいのです。
 LOGONする相手は、Windows2000Serverです。

本来は、ネットワークコンピュータからや、
ショートカットでログオン相手へ接続・ログオンを
行えばいいのですが、毎日の手間を省きたい。
 
各設置しているサーバーで実行するバッチコマンドを同一にしたいです。

過去のログを見て作成していましたが応用が出来ず
発言いたしました。よろしければ教えて下さい
650.
Re:(無題)
2005年07月29日(金) 19時47分
otn
>●DOS/Windowsのバージョン↓
> NT4.0Server
>
> C:\IP.TXT このファイルの中に、
> NAME=192.168.0.6 と一行記述されています。
>
> IPアドレスは設置場所毎に違うので、
> 行いたいのは、IP.TXTの中を読み出して
>
> 1.PING 192.168.0.6
> 2.このIPのコンピュータ名を調べ
> 3.DOS上でLOGONする。です。
>
> スタートアップにバッチを入れて起動時に
> ログオンしたいのです。
> LOGONする相手は、Windows2000Serverです。
>
>本来は、ネットワークコンピュータからや、
>ショートカットでログオン相手へ接続・ログオンを
>行えばいいのですが、毎日の手間を省きたい。

>各設置しているサーバーで実行するバッチコマンドを同一にしたいです。
>
>過去のログを見て作成していましたが応用が出来ず
>発言いたしました。よろしければ教えて下さい

for /f "tokens=2 delims==" %%A in (C:\IP.TXT) do (
 for /f "tokens=2" %%B in ('ping -a %%A') do set SERVER=%%B
)
でホスト名は求まります。
「DOS上でLOGONする」とはどういう意味でしょうか?
654.
Re:(無題)
2005年08月01日(月) 13時45分
tsunetsune
otn様 ご回答ありがとうございます。
 タイトルの記入漏れ申し訳ございませんでした。
>for /f "tokens=2 delims==" %%A in (C:\IP.TXT) do (
>for /f "tokens=2" %%B in ('ping -a %%A') do set >SERVER=%%B)でホスト名は求まります。

教えていただいたコマンドで、SERVER=From と表示したので、
以下のように分解させて頂きコマンドを実施しました。
for /f "tokens=2 delims==" %%A in (C:\IP.txt) do set IP=%%A
ECHO %IP% ←IPアドレス取得成功確認。
for /f "tokens=2" %%B in ('ping -a %IP%') do set SERVER=%%B
ECHO %SERVER% ←SERVERの中にはやっぱり"From"のみが・・。

原因はPING -a 192.168.1.1 の結果5行目のtokens=2の"From"のようです。
先頭行 tokens=2の"コンピュータ名"を取りたいです!。

>「DOS上でLOGONする」とはどういう意味でしょうか?
はい。ご説明不足で申し訳ございません。
NET USE のコマンドでログオンするつもりでした。
尚、上記(otn様から教えていただいた)コマンドに
NET USE \\%IP% /USER:id pass を追加したら、ログオンできました。
コンピュータ名の取得は不要だったかもしれませんが、
宜しければ、"From"しか取得できない対応を教えてください。
655.
Re:(無題)
2005年08月01日(月) 14時51分
otn
>for /f "tokens=2" %%B in ('ping -a %IP%') do set SERVER=%%B
>ECHO %SERVER% ←SERVERの中にはやっぱり"From"のみが・・。

すいません。テストしてませんでした。
for /f "tokens=2" %%B in ('ping -a %IP%') do set SERVER=%%B&goto next
:next
にしてください。1行目だけ処理して次命令にgotoします。

>>「DOS上でLOGONする」とはどういう意味でしょうか?
>はい。ご説明不足で申し訳ございません。
>NET USE のコマンドでログオンするつもりでした。
>尚、上記(otn様から教えていただいた)コマンドに
>NET USE \\%IP% /USER:id pass を追加したら、ログオンできました。

共有名なしで net use 出来るんですね。知りませんでした。
657.
Re:(無題)
2005年08月01日(月) 15時32分
tsunetsune
>for /f "tokens=2" %%B in ('ping -a %IP%') do set SERVER=%%B&goto next
>:next
>にしてください。1行目だけ処理して次命令にgotoします。

・テキストファイルからIPアドレス取得
・IPアドレスからコンピュータ名取得
どちらも otn様のお力で作成する事が出来ました。
すごく助かりました!

>共有名なしで net use 出来るんですね。知りませんでした。

いや・・よく理解してませんがコマンドの乱れ打ちで
ログインできたようなので、このまま運用に突入するつもりです。
本当にありがとうございました。
 
 


カテゴリー「NET USE」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2005年07月29日 23:07に投稿されたエントリーのページです。

ひとつ前の投稿は「COPYコマンドのエラーメッセージ内容を取得するには」です。

次の投稿は「FORでの処理を、パラメータに「%」や「!」があっても誤動作しないようにしたい」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート