Server Capabilities

Audience Level

Beginner and above

Summary

A very simple ASP page that reports some basic information on installed components on the web-server, provides a complete enumeration of Request.ServerVariables, advises on the version of JScript installed and the current time and timezone settings. It's nothing complicated!

Source Code

<%@Language="JScript" CodePage="65001" EnableSessionState=false%>
<%
Response.CharSet        = "utf-8";
Response.ContentType    = "text/plain";
Response.Buffer         = true;

function testActiveXObject(strObjectName) {
    var blnSuccess = false;
    try {
        var test = new ActiveXObject(strObjectName);
        test = null;
        blnSuccess = true;
    }
    catch (err) {
    }
    var whitespace = "                                      ";
    Response.Write(strObjectName + ":" + whitespace.substring(strObjectName.length + 1) + blnSuccess + "\r\n")
}


Response.Write("BASIC:\r\n");
Response.Write("=====:\r\n");
Response.Write("ScriptEngine:  " + ScriptEngine() + "\r\n");
Response.Write("Version:       " + ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion() + "." + ScriptEngineBuildVersion() + "\r\n");
Response.Write("Date:          " + new Date().toGMTString() + "\r\n");
Response.Write("Timezone:      UTC+" + new Date().getTimezoneOffset()/-60 + "hrs\r\n");


Response.Write("\r\n\r\n");
Response.Write("COMPONENTS:\r\n");
Response.Write("==========:\r\n");
testActiveXObject("Scripting.FileSystemObject");
testActiveXObject("Microsoft.XMLHTTP");
testActiveXObject("MSXML.DOMDocument");
testActiveXObject("MSXML2.DOMDocument");
testActiveXObject("MSXML2.DOMDocument.3.0");
testActiveXObject("MSXML2.DOMDocument.4.0");
testActiveXObject("MSXML2.DOMDocument.6.0");
testActiveXObject("MSXML2.XSLTemplate");
testActiveXObject("MSXML2.XSLTemplate.4.0");
testActiveXObject("MSXML2.FreeThreadedDOMDocument");
testActiveXObject("ADODB.Stream");
testActiveXObject("MSXML2.ServerXMLHTTP");
testActiveXObject("MSXML2.ServerXMLHTTP.4.0");
testActiveXObject("MSXML2.ServerXMLHTTP.6.0");
testActiveXObject("MSXML2.XMLHTTP");
testActiveXObject("Persits.Upload");
testActiveXObject("WScript.Network");
testActiveXObject("WScript.Shell");
testActiveXObject("ADODB.Connection");
testActiveXObject("ADODB.Recordset");
testActiveXObject("CDO.Message");
testActiveXObject("CDONTS.NewMail");


Response.Write("\r\n\r\n");
Response.Write("SERVERVARIABLES:\r\n");
Response.Write("===============:\r\n");
var objOutput   = new Array();
for (var objItem = new Enumerator(Request.ServerVariables); !objItem.atEnd(); objItem.moveNext()) {
    var strKeyName  = objItem.item();
    var strKeyValue = Request.ServerVariables(strKeyName).Count() ? Request.ServerVariables(strKeyName).Item(1) : "";
    objOutput.push(Server.HTMLEncode(strKeyName) + ": " + Server.HTMLEncode(strKeyValue) + "\r\n");
}


Response.Write(objOutput.join(""));
%>

Download

Download the source directly.

Advertisement

Feedback

Voting Panel
Is this useful?
or
Did you find any bugs?
or
Did it solve your programming problem?
or
Rate this script: (0=poor, 5=very good)
Answers are anonymous, only the combined totals are stored. Uses cookies.