Top_Page

RasDialコマンドを使う


1.はじめに

Windowsパソコンでモデムを使用する際、COMポートに接続するタイプはユーザープログラムからも使用し易いのですが、拡張ボードタイプで専用のデバイスとしてしかOSから認識されないモデムの場合は、ユーザープログラムから使用するにはRAS APIを使う事になります。該当の拡張ボードがAPIから完全にコントロールできるかどうかは別にしても、APIを使う事になると、プログラムの難度が上がってしまいます。また、動作の確認にも手がかかります。

しかし、専用デバイスとしてしか見えないモデムも、WindowsのGUIからはCOMポートに接続するタイプと区別無く使用する事ができます。これは内部で同じ扱いになるようになっている訳ですが、そうであれば、Windowsのユーザーインターフェースに近いコマンドを呼び出してやれば、タイプに関係なく利用する事ができるという事になります。

目論見としては、モデム自体のコントロールは最低限で汎用性を持たせ、かつメーカー側でテストされているであろう使い方で安定性を求め、通信部分だけ自前でプログラムして完成度を高めるという事を考えてみます。
Windowsの標準コマンドで、コマンドラインで使用できるコマンドを探すと、「RasDial」コマンドが用意されています。GUIでエントリさえ作っておけば、RasDialコマンドを呼び出すだけでダイアルアップの機能を使用する事ができ、この部分のプログラムはかなり簡略化できます。

rasdialコマンドプロンプト

2.WindowsXPで使ってみる(ダイヤルアップ設定)

まずは、ダイヤルアップ先のエントリを作る必要があります。

コントロールパネルのネットワーク接続に新しい接続を作成します。
rasdialネットワーク接続ウィンドウ

「新しい接続を作成する」をタスクから選択し、ウィザードを開始します。
rasdial新しい接続ウィザードの開始

「職場のネットワークへ接続する」を選択し、ダイヤルアップ接続を選択します。
rasdialネットワーク接続の種類

rasdialネットワーク接続選択

接続名と電話番号を指定してエントリを作成します。
rasdialネットワーク接続名入力

rasdial電話番号入力

rasdial新しい接続ウィザードの完了

ネットワーク接続のウィンドウに接続名でアイコンが作成されるので、プロパティを必要に応じて調整します。
rasdialネットワーク接続用アイコン

rasdialネットワーク接続プロパティ

rasdialダイヤルアップ先のプロパティ(モデムが接続されていれば、接続の方法に表示されます)

rasdialダイヤルアップ先のプロパティ(リダイヤルの回数や間隔は相手先に確認しておく必要があります)

rasdialダイヤルアップ先のプロパティ

rasdialダイヤルアップ先のプロパティ

rasdialダイヤルアップ先のプロパティ
(多分TCP/IPで使用する事になる可能性が高いと思いますが、この辺は運用に合わせて設定します)

rasdialダイヤルアップ先のプロパティ

3.WindowsXPで使ってみる(着信設定)

接続される側には、着信設定を作成します。

着信側のパソコンのコントロールパネルのネットワーク接続に新しい接続を作成します。
rasdial着信設定新しい接続ウィザードの開始

「詳細接続をセットアップする」を選択します。
rasdial着信設定ネットワーク接続の種類

「着信接続を受け付ける」を選択します。
rasdial着信設定接続の詳細オプション

着信を受け付けるデバイスを選択します。(モデムが接続されていれば、一覧に表示されますので、それを選択します)
rasdial着信設定デバイス選択

rasdial着信設定仮想プライベート接続選択

rasdial着信設定ユーザー許可

rasdial着信設定ネットワークソフトウェア

rasdial着信設定プロパティ

rasdial着信設定新しい接続ウィザードの完了

ネットワーク接続のウィンドウに着信接続のアイコンが作成されます。
rasdial着信設定アイコン作成

4.コマンドの実行

ダイヤルアップ側、着信側ともに電話回線に接続し、ダイヤルアップ側のコマンドプロンプトを開きます。

rasdial [接続名]で実行します。
rasdial接続コマンド
(この例では、モデムが接続されていないのでエラーになっています)

ダイヤルアップ動作が行われます。モデムのモニタ機能が有効になっていれば、発信音がするはずです。

RASサーバーの着信接続の準備が出来ていれば、RASサーバーに接続されます。
(接続された旨のメッセージが表示されます)

rasdialコマンドを実行すると、現在接続があるかどうかを確認できます。
rasdialステータス確認コマンド

rasdial [接続名] /DISCONNECTを実行すると、切断動作が行われます。
rasdial切断コマンド
(この例では元々接続されていないので接続なしですが、接続されていれば、切断されましたのメッセージが出ます。

接続されれば、ipconfigコマンドやpingコマンドなどでIPアドレスの割り当てや接続を確認できます。

これで動作が確認できれば、プログラムからはrasdialコマンドを呼び出して接続・切断、現在のステータス取得ができます。


Top_Page
(C) Copyright 2000-2010 KaZuDo