• ベストアンサー
  • すぐに回答を!

basp21でping

2つのWindows2003ServerでASP(VBScript)での開発を行なっております。 コマンドプロンプトから行うような処理が必要になりBASP21を入れました。 しかし、1つのサーバーは成功しもう一つは失敗してしまいます。 行いたい処理は以下のとおりです。 Set objBasp = Server.CreateObject("basp21") ver = objBasp.Version() result = objBasp.Execute("ping -n 1 -w 50 192.168.0.1", 1, stdout) 【結果は以下のとおりです】 ver = BASP21.DLL = Sep 11 2001 BSMTP.DLL = Sep 11 2001 result = -1 stdout = 空 【期待する結果は以下のとおりです】 ver = BASP21.DLL = Sep 11 2001 BSMTP.DLL = Sep 11 2001 result = 0 stdout = Pinging 192.168.0.1 with 32 bytes of data: Reply from 192.168.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.0.1: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 期待する結果は別のサーバー(同じ環境のはず)ではうまくいきます。 両サーバーからコマンドプロンプトで同様のpingを行うと全く同じ結果(期待する結果)が帰ってきます。 sysytem32/cmd.exe にインターネットゲストアカウントは追加しております。 考えられる原因を教えて頂けますか。 すみませんが、よろしくお願い致します。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数816
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

ping.exeに対するアクセス許可はどうなっていますか? アクセス許可に問題がなければ、pingだけ(パラメータを付けずに)実行してみて、結果が返ってくるか確認します。返ってこないようであれば、basp21が正しく動作していないのかもしれません。ためしに、ping以外の(失敗が少なそうな)コマンドを実行してみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ping.exeのアクセス許可が原因でした!! ありがとうございます。本当に助かりました。

関連するQ&A

  • Basp21を使用してメール送信ができない

    Basp21を使用して、メール送信プログラム(Excel VBA)を作成しました。 5台のパソコン(同一仕様)の内1台のパソコンのみエラーが発生してメール送信ができません。 他の4台のPCと環境の相違は無いと思いますが、原因が解りません。 パソコンの初期化をすれば、正常に動作すると思いますが、 エラー発生の都度、初期化もできません。 どなたか、ご教示をよろしくお願いします。 PC環境  OS  :Win7 Pro 64Bit環境  Excel:2013 32Bit  セキュリティソフト:無効 コンポーネントの組み込み  Bsmtp.dll(587 Version) を C:\Windows\SysWOW64 のフォルダーにコピー エラーメッセージ(1秒程度でリターン)  HELO BSMTP.DLL helo BSMTP.DLL 確認項目  1)通常のメール送受信は問題無し(Outlook)  2)Bsmtpのセキュリティは、正常な他のPCと同じ  3)Administratorsで実行してもエラー発生(ユーザー権限の問題)  4)エラー発生時に、Bsmtp.dllの削除操作    Excelによって開かれているため削除不可のメッセージ(dllの読込み確認)  5)架空のサーバーを指定:Cant connect Server 11001のメッセージ  6)LANケーブルを抜く  :Cant connect Server 11004  7)Excelの再インストール(レジストリも削除)しても同じ(Excelのチェック)  8)Bsmtp.dllをコピーしなおしても同じ(Bsmtpのチェック) プログラム  Private Declare Function SendMail Lib "BSMTP.dll" _ (szServer As String, szTo As String, szFrom As String, _ szSubject As String, szBody As String, szFile As String) As String strSMTP="aaa.co.jp" strPort="25" strTimeOut="60" strToAddr="a123@aaa.co.jp" strFromAddr="b123@aaa.co.jp" strSubj="メールテスト"   strBody="本文" strAttach="" strSV_Name = strSMTP & ":" & strPort & ":" & strTimeOut strMailto = strToAddr strMailFrom = strFromAddr strRC = SendMail(strSV_Name, strMailto, strMailFrom, strSubj, _ strBody, strAttach) If strRC <> "" Then MsgBox "エラー発生" & strRC End If 以上 よろしくお願いします

  • pingの応答の対処方法

    下記の資料を読んで pingの結果が (2)名前解決に失敗している (3)接続できない の部分の主な原因 が 書いてありますが、 これに対してどう対処すればよいのかわからないので、対処方法を教えてください。 ■ 基本的な使い方 (1)ダイヤルアップで接続している場合は、ダイヤルアップ接続を行う。 (2)MS-DOS プロンプト (Windows NT/2000 はコマンドプロンプト) を開く。 (3)次のような文字列を記入し、Enter キーを押す。 C:\WINDOWS>ping www.yahoo.com  IPアドレスの場合は例えば  >ping 192.168.1.○ 注:ping の後には半角スペースが入る。 ping の後の www.yahoo.com 部分は、接続確認したい相手コンピュータのホスト名 もしくは IP アドレス。 ■ 結果の見方 (1)正常に通信している   全てのパケットに対して、正しく Reply (応答) が返ってきています。  C:\WINDOWS>ping www.yahoo.com Pinging www.yahoo.akadns.net [204.71.200.74] with 32 bytes of data: Reply from 204.71.200.74: bytes=32 time=40ms TTL=127 Reply from 204.71.200.74: bytes=32 time=40ms TTL=127 Reply from 204.71.200.74: bytes=32 time=40ms TTL=127 Reply from 204.71.200.74: bytes=32 time=40ms TTL=127 Ping statistics for 204.71.200.74:    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),    Approximate round trip times in milli-seconds:    Minimum = 40ms, Maximum = 40ms, Average = 40ms (2)名前解決に失敗している ホスト名を IP アドレスに変換する作業に失敗しています。 C:\WINDOWS>ping www.yahooo.com Unknown host www.yahooo.com. C:\WINDOWS> 主な原因 (1)ホスト名を間違えている。 (2)DNS サーバーを正しく認識していない (3)接続できない 正しい IP アドレスに変換できているが、応答がないことを示します。 C:\WINDOWS>ping www.yahoo.com Pinging www.yahoo.akadns.net [204.71.200.74] with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 204.71.200.74:    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),    Approximate round trip times in milli-seconds:    Minimum = 0ms, Maximum = 0ms, Average = 0ms 主な原因 (1)送信元の TCP/IP 設定に問題がある。 (2)相手先の TCP/IP スタックが動作していない。 (3)途中経路に問題がある。(tracert コマンドで判別します。) (4)Proxy や Socks を経由している。(多くの場合 ICMP パケットを   通しません。) (5)途中経路もしくは相手先で ICMP がフィルター   されている。   (セキュリティ向上のため、ICMP パケットを通さない設定を    することがあります。) ■ 基本的な問題判別 (1)デフォルトゲートウェイに ping する。 (2)自分のデフォルトゲートウェイとして設定されたアドレスに ping する。 現在のデフォルトゲートウェイは、コマンドプロンプトで ipconfig を実行すると表示される。 正しい応答があれば、基本的な IP 設定に問題はない。 (3)DNS サーバーに ping する (4)自分の DNS サーバーとして設定されたアドレスに ping する。 現在の DNS サーバーは、コマンドプロンプトで ipconfig /all を実行すると表示される。 応答がない場合、DNS サーバーとして指定したアドレスが間違っている可能性がある。 (5)目的のサーバーに ping する (6)目的のホストに ping する。 応答があれば、IP レベルでは通信可能だと分かる。ping に応答があってもブラウザでアクセスすると問題がある場合、 ブラウザか http サーバーに問題があると推測出来る。 ■Windows XP以外の場合 C:\>ping wwwww.somedomain.co.jp Unknown host wwwww.somedomain.co.jp.……「ホスト××が不明です」 ■Windows XPの場合 C:\>ping wwwww.somedomain.co.jp Ping request could not find host wwwww.somedomain.co.jp. Please check the name and try again.……「指定されたホスト××が見つかりません。名前をチェックして再実行してください」

  • ネットワークパスが見つかりません

    WindowsNTのサーバーからWindowsServer2003のサーバへ ファイル名を指定して実行すると 「ネットワークパスが見つかりません」のメッセージが出ます。 以下WindowsNTサーバから調べた結果です。 C:\WINNT>ping server名 Pinging server名.ドメイン [IPアドレス] with 32 bytes of data: Reply from IPアドレス: bytes=32 time<10ms TTL= Reply from IPアドレス: bytes=32 time<10ms TTL= Reply from IPアドレス: bytes=32 time<10ms TTL= Reply from IPアドレス: bytes=32 time<10ms TTL= pingは通る。 C:\WINNT>nslookup server名 DNSサーバアドレス Server: DNSサーバ名 Address: IPアドレス Name: server名.ドメイン Address: IPアドレス 名前解決はできている。 C:\WINNT>nbtstat -a server名 Host not found. Host not found. サーバ名からIPアドレス取得できない C:\WINNT>nbtstat -A IPアドレス Host not found. Host not found. IPアドレスからサーバ名を取得できない 何が原因でしょうか? 後調べることをご教授お願いします

  • PHP メール送信条件について

    お知恵をお貸しください。 現在、ネットで公開されている以下のサーバー監視PHPスクリプトをCRONで1時間毎に動かしているのですが、監視対象サーバートラブルも解消したので、「障害時のみ」下記のスクリプトからメールを送信するようにしたいと思っております。 当方、お恥ずかしいのですがほぼ素人なもので、、、 大変申し訳ないのですが、どのように記述すれば良いか教えていただけませんでしょうか。 <実現したいメール送信条件> 以下のスクリプトにおいて「pingチェック」がNG、または「webアクセスチェック」がNG、またはその両方がNGの場合にメールを送信。 宜しくお願い致します。 <?php //PING応答対象のサーバーIPアドレス $SERVER_IP = 'xxx.xxx.xxx.xxx'; //HTTPステータスを取得する対象のURL $URL = 'http://www.sample.com'; //メールの送信先(管理者メール) $MAIL_TO = 'xxx@xxx.com'; //メールの送信元に表示するアドレス $MAIL_FROM = 'aaa@aaa.jp'; //pingチェック $ping_command_str = "ping -c 3 -w 5 $SERVER_IP"; if (!strstr(`$ping_command_str`, '100% packet loss')) { $result = "$SERVER_IP ping ok\n"; } else { $result = "$SERVER_IP ping ng\n"; } //webアクセスチェック if ($res = file_get_contents($URL)) { $result .= "{$URL} access ok\n"; } else { $result .= "{$URL} access ng\n"; } //結果をメール送信 $mail_header = "From: $MAIL_FROM"; mail($MAIL_TO, 'check result', $result, $mail_header); ?>

    • ベストアンサー
    • PHP
  • 朝になると反応しなくなってるスイッチングハブがある

    部署内のPC、ネットワーク管理しています。 私が今一寸困ってるのは このネットワークに存在するCiscoハブです。 自分のPC →情報コンセント →社内のネットワーク(おそらくハブだけ) →情報コンセント →CISCOスイッチングハブ →ハブの先のサーバ の経路で接続しているのですが、朝一に接続するときに 不定期にサーバで接続が効かなくなるのです。 経路を順にping打って原因をたどっていくと CISCOスイッチに通らなくなっているのです。 C:\>ping 170.1.XXX.YYY Pinging 170.1.XXX.YYY with 32 bytes of data: (略) Ping statistics for 170.1.XXX.YYY: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms でもその後すぐpingを打ち直すとpingが復活し、接続できるようになるのです。 C:\>ping 170.1.191.118 Pinging 170.1.XXX.YYY with 32 bytes of data: (略) Ping statistics for 170.1.XXX.YYY: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 今回はたまたま一回目が0%で二回目100%でしたが、 一回目が50%二回目が100%だったり、 一回目が0%二回目が75%だったりもします。 なんにせよ二回めにpingが終了した時には確実に接続復帰します。 社内全体を把握するシステムの人に状況報告しようかとも思ったのですが、 朝一番にはいらっしゃらないことが多いし、 確実には再現しないので原因を確定するのも難しいのです。 復帰方法はまぁそれでよいとして、他の人にどう説明したものかと思います。 スイッチングハブって接続が長い間ないと寝てしまうのでしょうか?

  • ASPでメール送信時エラーが出る

    こんにちは ASPでbasp21を使ってメールを送るように作っているのですが <%@ LANGUAGE = VBScript%> <% Dim strServer 'SMTPサーバ Dim strTo '宛先 Dim strFrom '送信元 Dim strSub 'メール標題 Dim strBody 'メール本文 Dim strFile '添付ファイル Dim result '戻り値 strServer = "abc.com" strTo = "efg@abc.com" strFrom = "mail@abc.com" & vbTab & "abc:hogehoge" strSub = "件名" strBody = "本文" strFile = "" set obj=server.createobject("basp21") result = obj.SendMail(strServer,strTo,strFrom, strSub,strBody,strFile) If result <> "" Then Response.Write("メール送信エラー :" & result) Response.End End If と言う感じで 何の変哲もない内容なんですが 実行すると Active Server Pages, ASP 0115 (0x80004005) 外部オブジェクトでトラップできるエラー (C06D007E) が発生しました。スクリプトの実行を続行できません。 とでます 色々調べて 権限がないのかとも思い再セットして DLLの確認もしましたが同じです サーバーアドレスも:25を付けたりしましたが 同じです。 ただ、 strServer = "abc.com" を 空白("")にすると ちゃんとエラーで メール送信エラー :Server name invalid と出るのです と言う事は オブジェクトの作成はできているの? と言う感じで、どうもよく分かりません。 ちなみに 他のページで画像のアップロードに FormSaveAs を使っていますが いたって快適に動きます サーバーはIISで win2000でテストしています wwwサーバーはONにしていますが mailサーバーはOFFにしています これは関係あるのでしょうか? 自分のマシンのmailサーバーは使わないからOFFで良いかなと 思ってそうしています。 どういうポイントが悪いのかよく分からないので どなたか教えて頂けたらと思います よろしくお願いします。

  • hostsの定義を認識していません。

    こんにちは。hostsの定義について質問いたします。 Windows2003Serverを搭載したマシンが2台あります(仮称:サーバA、サーバB)。 ホットスタンバイ方式のクラスタ構成です。 通常はサーバAが稼動系です。 サーバA、サーバBにはNICが2つあります。 ・アドレス1(イントラネット内への公開アドレス) ・アドレス2(サーバAB間でクロスケーブルで直接通信するため) サーバAのhostsファイルには以下のように定義してあります。 SERVER アドレス0 #サーバA、サーバBの仮想アドレス SERVERA アドレス1 #サーバAの公開アドレス SERVERB アドレス1 #サーバBの公開アドレス サーバBのアドレス1(公開用)に対してサーバAのコマンドプロンプトからpingを実行します。 $ping SERVERB すると、 $ ping SERVERB[アドレス1] with 32 byte・・ となることもあれば、 $ ping SERVERB[アドレス2] with 32 byte・・ となることもあります。 ●hostsファイルを真っ先に参照していれば、必ず アドレス1 に対してしかpingが実行されないと思うのですが、 アドレス2に対してもタイミング不定ですがping実行される 時があります。 また、アドレス0という仮想アドレスに対しては、 $Ping Request could not find host SERVER となり、hostsに定義した仮想アドレスの「SERVER」を 認識してくれません。 DNSサーバは使用しておりません。 この現象をご存知の方、あるいは解決方法などお分かりになる方ございましたが、具体的に教えていただけると幸いです。 よろしくお願いいたします。

  • Tomcatは起動しますが初期index画面が表示できません

    Tomcatについての質問は多数寄せられておりますが、 それらを参考にしてインストールなど行いますが、 どうしても後一歩のところで私の場合表示できないという、もどかしい状態になっております。 どうかご存知の方いらっしゃいましたらご教示お願い申し上げます。 Tomcat5.0をWindowsXPで起動しております。 Javaはj2sdk1.4.1_02です。 通常インストールした後Startup.batを起動し、IE6.0で http://localhost:8080もしくは http://127.0.0.1:8080と入力、Enterキーを押しますが、画面に Connection refused -------------------- Description: Connection refused と表示されてしまいます。 下記に参考になるかわかりませんが、各種起動状態を記載いたします。アドバイスよろしくお願い申し上げます。 ◆コマンドプロンプトで >ping localhostと入力すると、 ----- Pinging yamamoto [127.0.0.1] with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms ----- と表示されます。また、 >telnet localhost 8080の場合は ----- 接続中: localhost...ホストへ接続できませんでした。 ポート番号 8080: 接続に失敗し ました ----- と表示されます。 お手数ですが、よろしくお願い申し上げます。

  • ローカルでCGIを動かしたいのですがDynamicDNSがうまく設定できません。

    CGIを勉強したいと思い、ttp://www.kent-web.com/www/anhttpd/www3.htmlのサイトで自宅マシーンをwwwサーバのしてローカルでCGIを動かせるようにしようと思っていたのですが、DynamicDNSサービスに登録してホスト名を取得し、コマンドプロンプトを立ち上げて PING を打ち新規に取得したホスト名が、「taro.no-ip.com」だとしたら、コマンドプロンプトから、ping taro.no-ip.com と打ちました。 成功しているなら C:\>ping taro.no-ip.com Pinging taro.no-ip.com [210.123.45.67] with 32 bytes of data: Reply from 210.123.45.67: bytes=32 time=139ms TTL=116 Reply from 210.123.45.67: bytes=32 time=144ms TTL=116 Reply from 210.123.45.67: bytes=32 time=139ms TTL=116 Reply from 210.123.45.67: bytes=32 time=139ms TTL=116 Pinging statistics for 210.123.45.67: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 139ms, Maximum = 144ms, Average = 140ms C:\>_ と表示されるみたいなのですけど Reply from 210.123.45.67:・・・・・・というところが私のは Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 210.123.45.67: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), となってしまい、失敗しているようです。 いろんなフリーのホスト名を取得し試してみましたがどこも同じ表示がされてしまいます。 どこがおかしいのでしょうか?解決する方法があれば教えてください。 ちなみにPCがWindows XPです。

    • ベストアンサー
    • CGI
  • ASP(vbs)でのBCPの実行について

    開発言語:ASP(vbs) 使用DB:SQL Server2005(海外版) クライアントPC:WinXP(USA版OS) APサーバー:WinServer2003(日本にあり、USA版OS)[bcp.exeを動作させる為だけにSQLServerを入れています] DBサーバー:WinServer2003(海外サーバー) クライアントからCSVをAPサーバーにUpLoadし、DBサーバーにインポートしたいのですが出来ません。 インポート方法として、BCPとBulkが使用出来る事を調べたのですが Bulkでは、DBServerにCSVファイルがないとインポート出来ないようで DBサーバーにファイルを置いてはいけない仕様となっている為使用出来ません。 なので、bcpを利用しようと思い現在開発を進めていまた。 コマンドプロンプト上ではBCPコマンドは動作するようになったのですが ASP上で動作確認しようとしたところ、正常終了(エラーは帰ってこない)はするのですが 実際にデータがインポートされている様子がありません。 ●basp21を使用した場合(basp21はインストール済) 【ソース】 Set bobj = Server.CreateObject("basp21") rc = bobj.Execute("bcp DB名 IN C:\a.csv -t , -S サーバー名 -U ユーザー名 -P パスワード -E -F 2 -c",1,stdout) select case rc case 0 : response.write("正常終了") case -1 : response.write("コマンドエラー") case -2 : response.write("タイムアウト") end select 【表示結果】 >正常終了 と表示されますが、実際指定したテーブルにデータがインポートはされていません。 ●WScriptを使用した場合 【ソース】 Set objShell = Server.CreateObject("WScript.Shell") objShell.Run "bcp DB名 IN C:\a.csv -t , -S サーバー名 -U ユーザー名 -P パスワード -E -F 2 -c" response.write "エラーナンバー:" & Err.Number & "<br>" 【表示結果】 >エラーナンバー:0 上記も同様に、実際指定したテーブルにデータがインポートはされていません。 ●番外:コマンドをバッチ化してASPから実行 【ソース】 Set objShell = Server.CreateObject("WScript.Shell") objShell.Run "C:\a.bat" 【表示結果】 >Microsoft VBScript runtime error '800a0046' >Permission denied >a.asp, line 2 こちらはただ試してみただけなのですが 普通、権限を割り振らないとASPからバッチファイル実行するのは無理ですね。 コマンドプロンプトで同コマンドを実行するときちんとインポートされている事 ASP上で実行するとエラーで帰ってくるならまだしも戻り値が0なので正常終了しているが、結果が伴わない(インポートされていない)事 が、相成って困っています。 最初の2つのコーディングでマズい所があるかどうか また、どこを直せば正常に動くのか、について 申し訳ないですが、どうかご教授お願いします。

専門家に質問してみよう