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();
            }
        }
    }
}