lunes, 29 de marzo de 2010

Como instalar un servicio desarrollado en .net

Para instalarlo se ejecuta desde la línea de comando de .net la siguiente instrucción

 

installutil  “ruta del ejecutable”

para desinstalar se ejecuta la siguiente

installutil  /u “ruta del ejecutable”

viernes, 5 de marzo de 2010

Agregar usuario en Active Directory desde .net (C# Framework 3.5)

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;

public string AgregarUsuario(string pUsuario,
string Nombre,
string Apellido,
string PasswordEncriptado,
string email,
bool forzarCambioClave,
bool ClaveNoExpira,
bool UsuarioHabilitado)
{
try
{
string[] arrTokens = _domainName.Split(new char[] { '.' }, 100, StringSplitOptions.None);
string LDAPDomainPath = this._ouName + ",DC=" + string.Join(",DC=", arrTokens);

//Contexto del active directory (Raíz)
PrincipalContext insPrincipalContext = new PrincipalContext(ContextType.Domain, this._serverName + "." + this._domainName, LDAPDomainPath, "UsuarioConPrivilegiosEnElAD", "ClaveDelMismo");//"domainController.Dominio.com" "Dominio.com","DC=dominio,DC=com"

//Creamos el nuevo usuario


UserPrincipal user = new UserPrincipal(insPrincipalContext, pUsuario.Trim(), PasswordEncriptado, UsuarioHabilitado);

//Nombre de la entidad de seguridad
user.GivenName = Nombre.Trim();
user.DisplayName = Nombre.Trim();

//Apellido del Usuario
user.Surname = (Apellido == "") ? Nombre.Trim() : Apellido.Trim();

//Usuario @ Dominio
user.UserPrincipalName = pUsuario.Trim().ToLower() + "@" + _domainName;

if (Cedula.Length < 20)
user.SamAccountName = Cedula.Trim().ToLower();
else
user.SamAccountName = Cedula.Trim().Substring(0, 20).ToLower();

//Seteamos el correo
if (email.Trim() != "")
user.EmailAddress = email;

//force the user to change password at next logon
if (forzarCambioClave)
user.ExpirePasswordNow();

//El password no expira
if (ClaveNoExpira)
user.PasswordNeverExpires = true;

//save the user to the directory
user.Save();


return "true,Usuario incluido satisfactoriamente";
}
catch (Exception ex)
{
return "false," + ex.Message;
}


}
 
Locations of visitors to this page