Uma maneira de encontrar o nome do computador (Windows) através do navegador?

3

Idealmente, gostaria de enviar um link via e-mail da equipe para que a equipe possa clicar para revelar o nome do computador. (Especificamente, primeira parte do 'Nome longo do computador' encontrado na segunda guia de Propriedades do Meu Computador.)

Existe algum objeto JavaScript / VBScript / ActiveX no lado do cliente ou script CGI no lado do servidor que permite ao usuário saber o nome do computador, retornando uma página da Web simples?

Por boas razões, as organizações impedem os usuários de baixar / executar aplicativos, de modo que o oneClick implanta e faz download de arquivos em lote está fora de questão com a infraestrutura / configuração de política existente.

Ah - isso deve funcionar para a instalação corporativa do Internet Explorer 6 / Windows XP que provavelmente não será atualizada tão cedo.

Respostas

Por e-mail

Envie-lhes um link para:

http://%computername%

Isso mostrará "O Internet Explorer não pode exibir a página da Web", mas a barra de endereços mostrará o nome da máquina.

Lado do servidor

Você deseja a variável do servidor REMOTE_HOST. Primeiro, ative o DNS reverso no servidor da web. Em seguida, crie uma página para retornar a variável desejada. Aqui está no ASP.

<% Response.Write ServerVariables("REMOTE_HOST") %>
    
por Stephen 17.08.2010 / 18:13

7 respostas

2

Envie-lhes um link para:

http://%computername%

Isso mostrará "O Internet Explorer não pode exibir a página da Web", mas a barra de endereços mostrará o nome da máquina.

ou

Eles podem executar um arquivo bat da área de trabalho deles:

echo %computername% >> c:\users\%username%\Desktop\computername.html
"c:\program files\internet explorer\iexplore.exe" c:\users\%username%\Desktop\computername.html
    
por 17.08.2010 / 18:13
3

Se esse for o ambiente Windows Only, sua melhor aposta será a implantação do OneClick e simples c # (ou vb.net) programa que usa System.Environment.MachineName com ou sem combinação com System.Net.Dns.GetHostByAddress para mais informações.

    
por 17.06.2009 / 18:43
1

Isso deve funcionar como VBScript do lado do cliente:

Set ADSysInfo = CreateObject ("ADSystemInfo")
Set CurrentComp = GetObject ("LDAP://" & ADSysInfo.ComputerName)
ShortCompName = ADSysInfo.sAMAccountName

Esta implementação obtém apenas o nome abreviado, sem o seu domínio anexado; procure no ADSIEdit ou no TechNet ou MSDN para obter a lista completa de recursos que você pode recuperar.

Você também pode precisar fazer alguns jiggery-pokery nas configurações do IE da sua zona de intranet.

    
por 17.06.2009 / 20:42
1

Você deseja a variável do servidor REMOTE_HOST. Primeiro habilite o DNS reverso no servidor web. Em seguida, crie uma página para retornar a variável desejada. Aqui está no ASP.

<% Response.Write ServerVariables("REMOTE_HOST") %>

Se você quiser dar uma olhada em todas as variáveis possíveis, use isto

<%
for each x in Request.ServerVariables
  response.write(x  & ": " & Request.ServerVariables(x) & "<br />")
next
%> 
    
por 18.06.2009 / 20:51
1

Isso não responde à sua pergunta, mas você pode considerar a implantação do Sysinternals BGInfo como parte da sua imagem da área de trabalho. Isso coloca o nome do PC (e outras informações relevantes que você especificar) diretamente no plano de fundo da área de trabalho do usuário.

    
por 18.06.2009 / 23:37
0

Na verdade, não, a segurança do navegador é bastante configurada para impedir que os servidores da Web obtenham informações como essa.

Eu acho que desde que você cite CGI é uma opção, se o DNS atualiza onde funcionando perfeitamente, você pode ser capaz de escrever algum tipo de programa que é executado em um servidor web interno que procura o registro DNS reverso para o endereço IP que foi usado para se conectar e, em seguida, retorna isso.

Suponho que você poderia armazenar um HTA em um servidor de arquivos e enviar um UNC para os usuários.

    
por 17.06.2009 / 18:37
0

Ou o cliente poderia abrir commandprompt e digitar "hostname" e pressionar enter. Ou inicie > Executar > (Winkey + R) digite: "cmd.exe / k hostname" e aperte enter.

    
por 17.06.2009 / 21:21