こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ASP VBS global.asa Session_OnStart内

ASP VBS global.asa Session_OnStart内でサーバーの環境変数取得

教えてください。global.asa内で環境変数って取得できるのでしょうか?
今までglobal.asaファイル内で直接書いていた文言を、環境変数から取得する、
というプログラム修正をしなければならなくなりました。

まず、VBSファイルを作成して、環境変数を取得することはできました。
その内容でそのままglobal.asaに記述すると、おそらく、環境変数が正しく取得できません。
このおそらくというのは、エラーが表示されないのです。
ただ、取得できていないので、その後の処理でエラーとなります。

環境は、
IIS 6
Windows2003server

です。

いろいろ調べているのですが、いい回答が見つからず。
そもそも、global.asa内で環境変数を取得できるのかも分からず。

お願いします。

投稿日時 - 2010-08-24 11:03:44

QNo.6131654

困ってます

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

環境変数はサーバサイドに設定されているのですよね?
VBSで出来たのであれば、それをサーバサイドで実行するだけです。



下記のコードの「□」を「半角スペース2個」に置換して試してください。


※Global.asa
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnStart
□Set objWS□ = Server.CreateObject("WScript.Shell")
□Session("tmp")□= objWS.ExpandEnvironmentStrings("%TEMP%")
□set objWS□ = Nothing
End Sub

</SCRIPT>


※test.asp
<HTML>
<HEAD>
□<TITLE>環境変数取得</TITLE>
</HEAD>
<BODY>
□<b>パターン1</b><br />
□<%
□□Response.Write Session("tmp")
□%>
□<br />
□<br />
□<b>パターン2</b><br />
□<%
□□Set objWS = Server.CreateObject("WScript.Shell")
□□Set objUSR = objWS.Environment("USER")
□%>

□<table border=1>
□□<caption>システム</caption>
□□<%
□□Set objSYS = objWS.Environment("SYSTEM")
□□For Each objItm In objSYS
□□%>
□□□<tr>
□□□□<td>
□□□□□<%
□□□□□□Response.Write objItm
□□□□□%>
□□□□</td>
□□□</tr>
□□<%
□□Next
□□Set objSYS□= Nothing
□□%>
□</table>

□<br />
□<table border=1>
□□<caption>ユーザ</caption>
□□<%
□□Set objUSR = objWS.Environment("USER")
□□For Each objItm In objUSR
□□%>
□□□<tr>
□□□□<td>
□□□□□<%
□□□□□□Response.Write objItm
□□□□□%>
□□□□</td>
□□□</tr>
□□<%
□□Next
□□Set objUSR□= Nothing
□□%>
□</table>

□<%
□□Set objWS□ = Nothing
□%>
</BODY>
</HTML>

http://www.whitire.com/vbs/tips0115.html
http://www.vacant-eyes.jp/tips/twsh/090.aspx
http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh14/cformwsh14_04.html

投稿日時 - 2010-08-26 17:44:12

お礼

返事遅くなりました。とても丁寧にご説明いただきありがとうございます。
とっても助かりました!!!

投稿日時 - 2010-09-02 13:37:58

ANo.1

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問