Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato L'avatar di Nilox
    Registrato dal
    Jul 2010
    Messaggi
    35

    [C#] Active Directory Change Password

    salve ragazzi avrei un problema con il cambio password per gli utenti in dominio su active directory, il problema è che l'errore che mi restituisce in fase di debug è parecchio criptico per me ovvero:
    codice:
    System.Runtime.InteropServices.COMException (0x80020006): Nome sconosciuto. (Eccezione da HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))
    l'errore mi viene dato sulla linea in cui c'è l'istruzione per il cambio password, di seguito vi allego il codice spero riusciate ad aiutarmi
    codice:
    using System;
    using System.Text;
    using System.IO;
    using System.DirectoryServices;
    using System.DirectoryServices.ActiveDirectory;
    
    namespace PasswordChange
    {
        class Program
        {
            static void Main(string[] args)
            {
                const string ConnectionString = "LDAP://intranet.azienda.it";
                string Utente = "pippo@intranet.azienda.it";
                string Password = "passwordpippo";
                string PasswordNuova = "nuovapasswordpippo";
                
                DirectoryEntry entry = new DirectoryEntry(ConnectionString, Utente, Password, AuthenticationTypes.Secure | AuthenticationTypes.ServerBind);
                
                try
                {
                    entry.RefreshCache();
                    entry.Invoke("ChangePassword", new object[] { Password.ToString(), PasswordNuova.ToString() }); <--questa è la riga incriminata dove si genera l'eccezione
                    
                    entry.CommitChanges();
                    entry.Close();
                    entry.Dispose();
                    Console.WriteLine("Cambio passowrd effettuato!");
                    Console.ReadLine();
                }
                catch (Exception ex)
                {
                    entry.Close();
                    entry.Dispose();
                    string DirectoryCorrente = Directory.GetCurrentDirectory().ToString();
                    string FileLog = DirectoryCorrente + "ActiveDirectoryLog.txt";
                    string Log = ex.ToString();
                    StreamWriter WriteLog = new StreamWriter(FileLog);
                    WriteLog.Write(Log);
                    WriteLog.Close();
                    WriteLog.Dispose();
                }
            }
        }
    }

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    I got the remedy

  3. #3
    Utente bannato L'avatar di Nilox
    Registrato dal
    Jul 2010
    Messaggi
    35
    già vista quella pagina ma purtroppo non mi è stata d'aiuto, potrebbe essere magari dovuto al fatto che in uso c'è IIS7 e non IIS6 visto che ho letto di gente che con IIS6 riusciva a cambiare questa benedetta password? purtroppo non mi vengono in mente soluzioni visto che ho provato in diversi modi

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Nilox
    già vista quella pagina ma purtroppo non mi è stata d'aiuto, potrebbe essere magari dovuto al fatto che in uso c'è IIS7 e non IIS6 visto che ho letto di gente che con IIS6 riusciva a cambiare questa benedetta password? purtroppo non mi vengono in mente soluzioni visto che ho provato in diversi modi
    cioè hai provato con invokeset?
    inoltre sei sicuro che il nome utente esiste?
    Prova a creare un tente semplice in active directory senza dare nessun tipo di permesso e cambia la password di quest'ultimo.

    prova anche a eseguire il programma come amministratore.

    ps:Non centra iis con il cambio password di un tente del dominio!
    I got the remedy

  5. #5
    Utente bannato L'avatar di Nilox
    Registrato dal
    Jul 2010
    Messaggi
    35
    si ho già provato con invokeset ma mi restituiva comunque errore(ora non sono a casa e non mi ricordo quale), ho avviato il programma anche come amministratore ma l'errore è sempre quello detto prima, l'utente si esiste l'ho creato io stesso a mano e ho ovviamente disabilitato l'opzione che non gli permetteva di cambiare password...ho pensato ad IIS perché non sapevo veramente più a cosa pensare, ci stò impazzendo dietro a questa cosa e ora che ci penso ho provato anche con SetPassword come amministratore ma non funziona nemmeno cosi

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.