Conta de usuário em rede interna em JavaScript

Pra usar essas aplicações é necessário configurar o navegador pra "nível de segurança baixa" em "Ferramentas/Opções", conforme mostra a figura abaixo:




O que é um ActiveX?
É um troço chamado objeto, usado apenas no MS Windows.
Um objeto compõe-se por um conjunto de variávies e rotinas pra solucionarem um problema bem específico.
No exemplo abaixo WScript.Network é um objeto ActiveX.



<html>
   <head>
      <script type="text/javascript">
         function Listar ()

         {
            var WSN;

            WSN= new ActiveXObject ('WScript.Network');

            Paragrafo.innerHTML = 'Usuário: ' + WSN.UserName + '<br>';
            Paragrafo.innerHTML+= 'Domínio: ' + WSN.UserDomain + '<br>';
            Paragrafo.innerHTML+= 'Computador: ' + WSN.ComputerName + '<br>';
         }
      </script>
   </head>
   <body onload="javascript: Listar ();">
      <p id="Paragrafo"></p>
   </body>
</html>
Clique aqui pra abrir no navegador




Listando acionadores de disco em JavaScript

Pra listar os acionadores é necessário usar SFSO.Drives que é um objeto do tipo Enumerator.

Esse tipo de objeto armazena um conjunto sequencial de outros objetos. Possue 2 rotinas relevantes: AtEnd e MoveNext.
A primeira retorna Verdadeiro se o ponteiro do Enumerator atingiu o final do conjunto de objetos.
A segunda avança o ponteiro pro item posterior.

A variável Item armazena o objeto corrente (aquele que é apontado pelo ponteiro).



<html>
   <head>
      <script type="text/javascript">
         function ConverterPraGigaOcteto (Valor)

         {
            return Valor/(1024*1024*1024);
         }
         
         function ObterTipoAcionador (Acionador)

         {
            switch (Acionador) {
               case 1: return 'Disquete';
               case 2: return 'Disco rígido';
               case 3: return 'Rede';
               case 4: return 'CD/DVD';
            }
            return '';
         }

         function Listar ()

         {
            var E, I, SFSO, T;

            SFSO               = new ActiveXObject ('Scripting.FileSystemObject');
            E                  = new Enumerator (SFSO.Drives);
            T                  = '&nbsp;&nbsp;&nbsp;&nbsp;';
            Paragrafo.innerHTML= 'Acionadores de disco: <br><br>';
            while (!E.atEnd ()) {
               I= E.item ();
               if (I.IsReady) {
                  Paragrafo.innerHTML+= '<b>' + I.DriveLetter + ':</b><br>';
                  Paragrafo.innerHTML+= T + 'Nome: ' + I.VolumeName + '<br>';
                  Paragrafo.innerHTML+= T + 'Tipo: ' + ObterTipoAcionador (I.DriveType) + '<br>';
                  Paragrafo.innerHTML+= T + 'Espaço: ' + ConverterPraGigaOcteto (I.TotalSize).toFixed (2) + ' Go<br>';
                  Paragrafo.innerHTML+= T + 'Livre: ' + ConverterPraGigaOcteto (I.FreeSpace).toFixed (2) + ' Go<br>';
               }
               else {
                  Paragrafo.innerHTML+= '<b>' + I.DriveLetter + ':' + '</b><br>';
                  Paragrafo.innerHTML+= T + 'Tipo: ' + ObterTipoAcionador (I.DriveType) + '<br>';
               }
               Paragrafo.innerHTML+= '<br>';
               E.moveNext ();
            }
         }
      </script>
   </head>
   <body onload="javascript: Listar ();">
      <p id="Paragrafo"></p>
   </body>
</html>
Clique aqui pra abrir no navegador





http://transeberiano.brinkster.net