Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    89

    [VB6] - Verifica scadenza password locale

    Ciao a tutti,
    Ho questo problema; devo riuscire con VB6 a verificare quando scade la password di un utente locale (NON LDAP).
    Sto usando la seguente funzione

    Set objUser = GetObject("WinNT://" & mstrNomeMacchina & "/" & UserId & ",User")
    curMaxPasswordAge = objUser.Get("MaxPasswordAge") ' Durata massima password curPasswordAge = objUser.Get("passwordAge") ' Secondi dall'ultimo cambio pwd


    Il problema è che la "GetObjet" è parecchio lenta (3/4 secondi)
    Qualcuno mi sa suggerire un alternativa ? (API o quant'altro)
    Very grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Scusa, ma quella che stai usando non è una chiamata alle API? Altrimenti non mi spiegherei il GetObject..

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Veramente l'esecuzione e' immediata ... non 3 o 4 secondi ... sulla macchina locale ovviamente ...

  4. #4
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Originariamente inviato da oregon
    Veramente l'esecuzione e' immediata ... non 3 o 4 secondi ... sulla macchina locale ovviamente ...
    Infatti.. tu esegui l'operazione su un indirizzo ip a quanto si vede dalla connectionstring.dipende dalla velocità della connessione dei due pc!

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    89
    Preciso alcune cose che non messo nel post originale :
    - La macchina ha un SO Windows XP
    - Sto facendo le prove con VB6 in debug sulla mia macchina;
    - Il nome della macchina è il nome del mio pc(non l'indirizzo IP); non c'è rete di mezzo
    quindi ecluderei il problema di rete

    Dopo queste precisazioni vorrei chiedere ad oregon se ha fatto dei test in locale sulla sua
    macchina e se veramente gli ha risposto in tempo 0.
    Io ho notato che ci impiega 3-4 secondi la prima volta che setta l'oggeto con GetObject; da li in avanti se ripeto l'operazione il tempo di risposta è immediato.
    Pensavo di creare un oggetto valido per tutta l'applicazione e mantenerlo attivo fino alla chiusura dell'applicazione (Ora lo distruggo al termine dell'utilizzo per poi ricrearlo ogni volta)
    Sarei comunque curioso di sapere se ci sono alternative a quanto sto facendo o se la funzione che utilizzo può in qualche modo essere ottimizzata/velocizzata

    Grazie a tutti per le risposte

    G.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Cosa contiene mstrNomeMacchina ? Se utilizzi la variabile per il nome NETBIOS della macchina locale, probabilmente il tempo perso e' quello utilizzato per la (inutile) risoluzione del nome. Ti consigilo di utilizzare questa forma

    Set objUser = GetObject("WinNT://./" & UserId & ",User")
    curMaxPasswordAge = objUser.Get("MaxPasswordAge") ' Durata massima password curPasswordAge = objUser.Get("passwordAge") ' Secondi dall'ultimo cambio pwd

    in cui il punto rappresenta la macchina locale ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    89
    GRRRRRRRRAZIE oregon.
    C'è sempre da imparare....
    In effetti il problema era il nome NETBIOS della macchina.
    sostituito il tutto con il punto (.) va che è un piacere

    Saluti e ancora grazie

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.