Avatar billede tingholm Mester
12. januar 2007 - 07:34 Der er 13 kommentarer og
1 løsning

Finde Windows brugernavn

Er det muligt at hive windows brugernavnet eller login og sætte ind i en form?

<form action="catch.php" method="post">
<input type="text" value="%windowsuser%" />
<input type="submit" />
</form>

noget i den stil... selvfølgelig ikke password...
Avatar billede phliplip Nybegynder
12. januar 2007 - 10:25 #1
Jeg byder et "nej" ;)
Avatar billede claus66 Nybegynder
12. januar 2007 - 10:43 #2
Avatar billede olebole Juniormester
12. januar 2007 - 11:19 #3
<ole>

Nej, det kan du ikke umiddelbart med JS - og slet ikke via et website  =)

/mvh
</bole>
Avatar billede tingholm Mester
12. januar 2007 - 15:30 #4
claus: du ser bestemt ud til at være på det rigtige spor... men at oplyse mig hvor jeg kan købe svaret, er vel ikke at svare ;o)

Så hvis nogen kan være behjælpelig med det, ville det være dejligt.
Avatar billede tsunami Nybegynder
12. januar 2007 - 19:34 #5
Den eneste måde du vil have mulighed for det er at webserveren er på samme netværk som maskinen som det bliver kørt fra, på den webserver kan du nemlig bruge WMI interfacet til at kontakte de enkelte maskiner og få oplysninger ud af dem. Hvis ikke der er internt netværksadgang til den maskine som formen bliver udfyldt fra, har du ingen muligheder overhovedt at gøre det som du ønsker.

Ikke igennem Javascript, men det kan dog være at du kan hvis du laver et activeXObject der har mulighed for det, men det vil bare give flere problemer mhs. brugere der først skal godkende dette object for at det kan køre.
Avatar billede tingholm Mester
13. januar 2007 - 07:40 #6
Ja det havde nok været aktuelt at oplyse fra starten; men det ER på samme netværk... (Domæne)
Avatar billede tingholm Mester
13. januar 2007 - 18:57 #7
en uddybning ville være rar.
Avatar billede tsunami Nybegynder
15. januar 2007 - 13:26 #8
Kopiere dette ind i en HTA fil

<HTML>
<HEAD>
<TITLE>TEST SIDE</TITLE>
<SCRIPT LANGUAGE="Javascript">
function init(){
    var wbemFlagReturnImmediately = 0x10;
    var wbemFlagForwardOnly = 0x20;

    var arrComputers = new Array("KITWS018");
    for (i = 0; i < arrComputers.length; i++) {

        var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2");
        var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);

        var enumItems = new Enumerator(colItems);
        for (; !enumItems.atEnd(); enumItems.moveNext()) {
            var objItem = enumItems.item();

            document.getElementById("test").innerHTML = objItem.UserName
          }
    }
}

</SCRIPT>
</HEAD>
<BODY onload="init()">
Brugernavn
<DIV ID="test"></DIV>
</BODY>
</HTML>

Dette kan give dig en ide om hvordan det virker... godt nok er dette på klienten at forspørgslen bliver udført men det burde ikke være det store problem at få den til at virke i ASP...
Avatar billede tingholm Mester
15. januar 2007 - 20:44 #9
jeg vil ikke sige jeg forstår koden, men jeg kan i hvert fald ikke se hvor den udskriver det resultat den måtte finde... ?
Avatar billede tsunami Nybegynder
15. januar 2007 - 21:02 #10
Dette er linien der ved hjælp af javascript indsætter brugernavnet ind i Div tagger

document.getElementById("test").innerHTML = objItem.UserName

hvor objItem.UserName er resultatet af den WMI forspørgsel..

Her kunne man sagtens lave en Response.Write objItem.UserName istedet eller en anden løsning og så kalde init i koden samt lave det om til ASP/Javascript...

Dette var også et eksempel på brug i client sidet javascript men inde på Microsofts hjemmeside er der et lille HTML program som kan bruges til at generere kode

Dette er eksempel i VBScript... dog ikke afprøvet så jeg kan ikke vide med sikkerhed om det virker... men sådan burde det gøres i VBScript også....

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("Computernavn/IP")
For Each strComputer In arrComputers

  Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") ' Skaber en slags dataforbindelse til WMI objectet
  Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)' Udfører en WQL query som ligner SQL

  For Each objItem In colItems ' Gennemgår den kollektion som man modtager
      ' Der bliver altid sent en kollektion så man skal itterate igennem den efter en Execute er udført den... ikke nok at bare hente informationen selvom der kun er 1
      Response.Write "UserName: " & objItem.UserName

  Next
Next

Håber det gav lidt mere
Avatar billede tingholm Mester
23. januar 2007 - 07:12 #11
sorry det tog så lang tid for svar...

jeg kan ikke få noget resultat ud af java-scriptet, vb-scriptet aner jeg ikke hvordan jeg implementerer i min html kode...

Når jeg viser den side (java) du viser koden til, får jeg bare en side hvor der står: "Brugernavn" men resultatet kommer ikke på... heller ikke hvis jeg bruger Response.Write objItem.UserName.
Avatar billede tingholm Mester
23. januar 2007 - 07:29 #12
Jeg har oprettet et nyt spørgsmål:
http://www.eksperten.dk/spm/757844

det er den rigtige løsning, men jeg kunne godt nøjedes med et login udelukkende på brugernavn, da jeg troede det ville være let at gå til. Og jeg ikke har så voldsomt et behov for sikkerhed...
Avatar billede tingholm Mester
23. januar 2007 - 07:52 #13
tsunami: smider du et svar?? du var vist tættest på ;o)
Avatar billede tsunami Nybegynder
23. januar 2007 - 12:55 #14
Selfølgelig er det en meget svær løsning at implementere på denne måde men det burde kunne lade sig gøre... dog skal den også have mulighed for at finde brugerens computernavn til at hente informationerne fra... men det var da godt du fik det svar du ønskede :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester