Get the Web server machine name using JavaScript

I can get the Machine Name of my Web server using VBScript with the following.

   Set WshNetwork = server.CreateObject("WScript.Network")
   MachinName=WshNetwork.ComputerName

How can I get this information using JavaScript?

BryanCAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
boblahConnect With a Mentor Commented:
ok, it's probably a case sensitive thing, so try:

<%@ Language=JavaScript %>
<%
Response.Expires = -1
Response.AddHeader('Pragma','no-cache')
Response.AddHeader('cache-control','no-store')
var WshNetwork = Server.CreateObject("WScript.Network");
var MachineNameServerSide = WshNetwork.ComputerName;

%>

Machine name = <%=MachineNameServerSide %>

<script LANGUAGE="JavaScript">
<!--
var MachineNameClientSide = '<%=MachineNameServerSide %>';
-->
</script>

<input type="button" onclick="alert('Machine name of the server is ' + MachineNameClientSide);" />

0
 
justinbilligCommented:
var WshNetwork = new ActiveXObject( "WScript.Network" );
var MachinName = WshNetwork.ComputerName;

this won't work though for javascript. Default browser security probably won't let you create the activex object. And, even if it did, that would get the computer name of the client, not the server.

But like i said that probably won't work becuase of default browser security.

There is no way to get the name of the webserver from the client. YOu can pass it to the client from the server, but other than that your kinda stuck
0
 
BryanCAuthor Commented:
How can I pass it from the server to the client?
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
jpontaniCommented:
In your script code you could just write the value.

<script language="javascript" type="text/javascript">

....code....

var machineName = <%=MachinName%>

....code....

</script>
0
 
BryanCAuthor Commented:
I do not know much about JavaScript but I need to modify an existing file. It starts out with JavaScript.

<%@ Language=JavaScript %>
<%
Response.Expires = -1
Response.AddHeader('Pragma','no-cache')
Response.AddHeader('cache-control','no-store')
<!--#INCLUDE VIRTUAL='...'-->
<!--#INCLUDE VIRTUAL='...'-->
 
Is there some way to just call a VB function from within JavaScript that will return the Machine Name?
0
 
devicCommented:
try this:
================
<script language="javascript" type="text/javascript">
    var machineName ="<%=Request.ServerVariables("SERVER_NAME")%>";
</script>
0
 
mreuringCommented:
I suggest asking this question to be moved to the ASP section:
http://www.experts-exchange.com/Web/Web_Languages/ASP/

They will most likely be able to help you. From what I recall of those days, you can call and use any objects and/or variables across javascript and vb in the ASP-page, just as long as you realise that JavaScript is case-sensitive.

Hope it helps,

  Martin
0
 
BryanCAuthor Commented:
The suggestion by devic returns the server name supplied in the URL. However, this is the alias name of the Web server and not the actual server name.
We have two web servers, JcoPimWeb01 and JcoPimWeb01. We have an alias defined as JcoPimIIS01 and the users reference it in there URL so that when we need to work on the production web server we simply change the IP address of the alias and the users continue to use the same URL.

MachineName = "<%=Request.ServerVariables('"SERVER_NAME")%>";  
Returns alias name (JcoPimIIS01).

Set WshNetwork = server.CreateObject("WScript.Network")
MachinName=WshNetwork.ComputerName
Returns actual machine name (JcoPimWeb01).

Is there a call that will return the actual machine name?

Thanks,
Bryan
0
 
boblahCommented:
You are actually using serverside javascript, which is causing some confusion.

The code you want is:

var WshNetwork = server.CreateObject("WScript.Network");
var MachinName = WshNetwork.ComputerName;
0
 
BryanCAuthor Commented:
boblah

This does not seem to work. With the following code I get the "test1" message but nothing else.

alert("test1")
var WshNetwork = server.CreateObject("WScript.Network");
var MachinName = WshNetwork.ComputerName;
alert(MachinName);
alert("test2")
0
 
boblahCommented:
try

<%@ Language=JavaScript %>
<%
Response.Expires = -1
Response.AddHeader('Pragma','no-cache')
Response.AddHeader('cache-control','no-store')
var WshNetwork = server.CreateObject("WScript.Network");
var MachineNameServerSide = WshNetwork.ComputerName;

%>

Machine name = <%=MachineNameServerSide %>

<script LANGUAGE="JavaScript">
<!--
var MachineNameClientSide = '<%=MachineNameServerSide %>';
-->
</script>

<input type="button" onclick="alert('Machine name of the server is ' + MachineNameClientSide);" />

0
 
BryanCAuthor Commented:
I get the following error:

Error Type:
Microsoft JScript runtime (0x800A1391)
'server' is undefined
/web21/pfdFreePlot_LBC.asp, line 7
0
 
BryanCAuthor Commented:
boblah  

Thank you. This works.
0
All Courses

From novice to tech pro — start learning today.