Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    ottenere il nome dell'utente windows

    Ciao ragazzi,
    ho un immediato bisogno di ottenere, in qualche modo con ASP, il nome dell'account dell'utente windows loggato.

    Avevo offerto come soluzione
    codice:
    strUSER = Request.ServerVariables("REMOTE_ADDR")
    ma questa fornisce solo l'ip del client ma i miei clienti vogliono l'utente vero è proprio.

    Sapete se e come è possibile farlo?
    Grazie

  2. #2
    gioia cara per ciò devi avere inanzitutto una macchina che monta almeno windoz 2000 e interrogare il WMI della macchina, non le variabili che legge il web server, è chiaro che ti da solamente l' IP, mica può interrogare una intranet ...

    Ti posto qualche cosa, ma devi cercare sull' MSDN

    codice:
    <%
    Function ShowNTUserAccounts(vComputerName)
    
      Dim objLocator, objService, objWEBMCol, objWEBM
    
      Set objLocator = Server.CreateObject("WbemScripting.SWbemLocator")
    
      'Connettiamoci a WMI
      If isEmpty(vComputerName) = True then
        Set objService = objLocator.ConnectServer
      Else
        Set objService = objLocator.ConnectServer(vComputerName)
      End If
    
      'Recuperiamo l'oggetto al servizio Webm
      Set objWEBMCol = objService.InstancesOf("Win32_Account")
    
      Response.write "<H2>Account utenti NT:</H2><HR><UL>"
    
      'Enumeriamoli
      For Each objWEBM in objWEBMCol
        Response.write "<LI>Intestazione: " & objWEBM.Caption & _
                      ", 
    Descrizione: " & objWEBM.Description & _
                      ", 
    Dominio: " & objWEBM.Domain & _
                      ", 
    Identificativo di Sicurezza: " & objWEBM.SID & _
                      ", 
    Tipo SID: " & objWEBM.SIDType & _
                      ", 
    Stato: " & objWEBM.Status & "
    </LI>"
      Next
      Response.write "[/list]"
    
      'Chiudiamo gli oggetti
      Set objLocator = Nothing
      Set objService = Nothing
      Set objWEBMCol = Nothing
      Set objWEBM = Nothing
    
    End Function
    
    Call ShowNTUserAccounts("nome_server")
    
    %>
    Io la uso in C#, così è modificata per ASP 3 ma non so, ricordati che devi avere i permessi di admin della rete che vai a interrogare ..

  3. #3
    E' molto interessante questa funzione, ma da quanto mi pare di capire non ottiene l'utente con il quale il CLIENT è loggato sulla sua macchina (e d'altronde immaginavo che con ASP più del suo IP mi fosse difficile conoscere).

    Grazie per la risposta e per l'interessante funzione

  4. #4
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Se sei in una intranet ti basta abilitare "Autenticazione Integrata di Windows" come metodo di autenticazione su IIS e a quel punto l'account lo trovi in Server.RequestVariables("AUTH_USER")
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  5. #5
    Usiamo Apache su unix con Sun ONE come interprete... dubito che si possa dare "l'autenticazione integrata di windows"... ora vedo comunque. Grazie

  6. #6
    ma guarda che il mio script ti fornisce tutto quello che vuoi sapere sull' utente, senza autenticare un bel niente, è chiaro che devi lanciarlo nella intranet

  7. #7
    trovato

    codice:
    Set WSHNetwork = WScript.CreateObject("WScript.Network")
    Response.Write (WSHNetwork.UserName)

  8. #8
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Peccato che girando sul server restituisce IUSR_NomeMacchina.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  9. #9
    codice:
    Set WSHNetwork = WScript.CreateObject("WScript.Network")
    Response.Write (WSHNetwork.UserName)
    uhm... non mi trova l'oggetto WScript, il che vuol dire che su UNIX dovrei fare il rispettivo microsoft di una registrazione dll...

  10. #10
    lo script invece, messo così com'è e richiamato mi da un errore mai visto
    codice:
    Error Type:
    Server object, ASP 0177 (0x800401F3)
    System message, messageid = 0x800401f3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.