Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [vb.net] servizio Localsystem - recuperare nome utente loggato

    salve a tutti,

    stò sviluppando un servizio che come account ha Account di sistema. questo servizio dovrebbe andare a scrivere un file txt nella catella documenti dell'utente loggato in quel momento.

    il mio problema stà nel fatto di recuperare il nome utente collegato in quanto, facendo:

    codice:
    My.User.Name
    il programma mi restituisce il system.

    scrivendo invece:
    codice:
     environment.getfolderpath(environment.specialfolders.mydocuments)
    lui va a prendermi la cartella documenti del default user che non è quello loggato in quel momento.

    ho provato a fare anche questa funzione:

    codice:
        Function GetCurrentUser() As String
            Dim NomeUtente As String
            NomeUtente = WindowsIdentity.GetCurrent.Name
            If NomeUtente.IndexOf("\") > -1 Then
                NomeUtente = NomeUtente.Remove(0, NomeUtente.IndexOf("\") + 1)
            End If
            If NomeUtente.IndexOf("/") > -1 Then
                NomeUtente = NomeUtente.Remove(0, NomeUtente.IndexOf("/") + 1)
            End If
            Return NomeUtente
        End Function
    ma il programma mi ritorna sempre system...

    dove sbaglio?

    c'è qualcosa che posso fare per farmi restituire il nome dell'utente collegato e non il system?

    grazie
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  2. #2
    Che senso ha parlare di utente loggato? Su un PC ci possono essere più utenti loggati in contemporanea (vedi Terminal Server e soprattutto fast user switching). Inoltre i servizi concettualmente non dovrebbero toccare nulla di user-specific, ma solo fornire servizi per altre applicazioni o occuparsi di operazioni a livello di sistema e non di utente.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Un servizio gira "a prescindere" da un eventuale utente che abbia potuto fare il login in un determinato momento.

    Quello che ti viene restituito e' il nome dell'account di sistema perche' il servizio gira in quel contesto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    quindi per il mio problema non c'è soluzione?
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  5. #5
    Magari una soluzione è anche possibile per vie strane, ma se hai bisogno di fare quello che hai detto probabilmente la scelta di scrivere un servizio è errata, semmai ha più senso scrivere una normale applicazione eseguita in background.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Alla fine è la strada che ho seguito...

    grazie
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  7. #7
    Di niente, alla prossima!
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.