Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Nuevo buzón exchange con ASP.net

0 views
Skip to first unread message

Miguel A. Yáñez

unread,
Jul 16, 2003, 10:54:54 AM7/16/03
to
Hola, estoy trabajando en un proyecto y necesito crear un usuario y
posteriomente un buzón exchange mediante .NET, el como crear un usuario ya
lo he resuelto pero en el código para crear el buzón de exchange me falla en
la operación. No se si es la cadena donde va todo lo de Grupos
Administrativos ó qué, ¿Alguién me puede ayudar? Describo el escenario para
mayor precisión
SALUDOS
MAYC

EXCHANGE 2000 INSTALADO EN SERVIDOR LLAMADO "CORREO"
ORGANIZACIÓN EXCHANGE LLAMADA "Sevilla"
CONTROLADOR DE DOMINIO EN SERVIDOR "PRINCIPAL02"

Imports System.DirectoryServices

Imports CDOEXM

Sub insertanuevousuario()

Dim homeMDB As String = "CN=Almacén del Buzón (correo),CN=Primer grupo de
almacenamiento,CN=InformationStore,CN=correo,CN=Servers,CN=primer grupo
administrativo, CN=Administrative Groups,CN=Sevilla,CN=Microsoft
Exchange,CN=Services,CN=Configuration,DC=grupoea,DC=local"

'Introducir aquí el código de usuario para inicializar la página

Dim conexionAD As DirectoryEntry = New
DirectoryEntry("LDAP://principal02/OU=ISP,DC=grupoea,DC=local")

conexionAD.AuthenticationType = AuthenticationTypes.Secure

conexionAD.Username = "Administrador"

conexionAD.Password = "xxxx"

Dim nuevo As DirectoryEntry = conexionAD.Children.Add("CN=" & "nombre",
"user")

nuevo.Properties.Item("givenName").Value = "givenname" 'nombre

nuevo.Properties.Item("displayName").Value = "nombre" & " " & "apellido"
'nombre y apellidos

nuevo.Properties.Item("UserPrincipalName").Value = "pru...@grupoea.local"
'usuario

nuevo.Properties.Item("SamAccountName").Value = "oo" 'usuario anterior w2k

nuevo.Properties.Item("sn").Value = "apellido" 'apellido

nuevo.CommitChanges()

nuevo.Invoke("SetPassword", "cambiar.2003") 'fija la clave

nuevo.Properties.Item("UserAccountControl").Value = 512 'activa la cuenta

nuevo.CommitChanges()

nuevo.Properties.Item("userAccountControl").Value = &H10000 'no caduca la
clave

nuevo.CommitChanges()

'creamos su correo

Dim mailbox As CDOEXM.IMailboxStore

mailbox = CType(nuevo.NativeObject, IMailboxStore)

mailbox.CreateMailbox(homeMDB)

nuevo.CommitChanges()

End Sub


Alejandro Mezcua

unread,
Jul 16, 2003, 12:04:01 PM7/16/03
to
Hola, Miguel.

El código en principio parece que está bien. ¿Qué excepción salta?

Un saludo,

Alejandro Mezcua
MVP .NET
Zaltor Soluciones Informáticas

"Miguel A. Yáñez" <nospam.migu...@significa.net> wrote in message
news:ur3U3o6S...@TK2MSFTNGP12.phx.gbl...

Miguel A. Yáñez

unread,
Jul 16, 2003, 12:27:39 PM7/16/03
to
Alejandro, te posteo el error que me da, como ves algo difícil de escrutar.
Saludos
Miguel Angel
Error de operación.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.

Detalles de la excepción: System.Runtime.InteropServices.COMException: Error
de operación.

Error de código fuente:

Línea 63: Dim mailbox As CDOEXM.IMailboxStore
Línea 64: mailbox = CType(nuevo.NativeObject, IMailboxStore)
Línea 65: mailbox.CreateMailbox(homeMDB)
Línea 66: nuevo.CommitChanges()
Línea 67:

Archivo de origen:
C:\Inetpub\wwwroot\veala\backoffice\scripts\nuevousuario.aspx.vb Línea:
65

Seguimiento de la pila:

[COMException (0x80072020): Error de operación.]
CDOEXM.IMailboxStore.CreateMailbox(String HomeMDBURL) +0
veala.nuevousuario.insertanuevousuario() in
C:\Inetpub\wwwroot\veala\backoffice\scripts\nuevousuario.aspx.vb:65
veala.nuevousuario.Page_Load(Object sender, EventArgs e) in
C:\Inetpub\wwwroot\veala\backoffice\scripts\nuevousuario.aspx.vb:25
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()

----------------------------------------------------------------------------
----
Información de versión: Versión de Microsoft .NET Framework:1.1.4322.573;
Versión de ASP.NET:1.1.4322.573
"Alejandro Mezcua" <amezcua[nspam]@zaltor.com> escribió en el mensaje
news:uSdShP7S...@TK2MSFTNGP10.phx.gbl...

Alejandro Mezcua

unread,
Jul 16, 2003, 1:15:02 PM7/16/03
to
Hola otra vez.

Un par de cosas.

1º Estás ejecutando el código en el propio servidor de Exchange, verdad?
2º Has probado a ejecutar el código (sólo como prueba) en una pequeña
aplicación WindowsForms. Con esto eliminas temas de seguridad, sólo para
asegurarte que el código en sí funciona OK.

Yo tengo funcionando algo similar en un servicio Web y me va bien...

Intenta también capturar la excepción, así puede que consigas más detalle
del error.

Coméntanos las pruebas, por favor.

Un saludo,

Alejandro Mezcua
MVP .NET
Zaltor Soluciones Informáticas

"Miguel A. Yáñez" <nospam.migu...@significa.net> wrote in message

news:#4L3wc7S...@TK2MSFTNGP12.phx.gbl...

Miguel A. Yáñez

unread,
Jul 17, 2003, 7:19:22 AM7/17/03
to
Alejandro, el codigo se ejecuta efectivamente en el mismo servidor y he
probado en la aplicación windows y me da el mismo error, en este caso con
otros detalles, lo transcribo debajo. He probado incluso a ejecutar el
código en otro servidor exchange, uno de prueba versión 2003, y me da el
mismo fallo. La verdad es que no veo la solución ó cómo enfocar el problema.
¿tienes algún ejemplo de código diferente que pueda probar?
saludos
Miguel Angel
************** Texto de la excepción **************
System.Runtime.InteropServices.COMException (0x80072020): Error de
operación.
at CDOEXM.IMailboxStore.CreateMailbox(String HomeMDBURL)
at exchange.Form1.Form1_Load(Object sender, EventArgs e) in
\\archivos\miguelyanez$\Proyectos de Visual Studio\exchange\Form1.vb:line 82
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)

"Alejandro Mezcua" <amezcua[nspam]@zaltor.com> escribió en el mensaje
news:uel1M37S...@TK2MSFTNGP10.phx.gbl...

Miguel A. Yáñez

unread,
Jul 17, 2003, 8:34:47 AM7/17/03
to
Alejandro, he logrado que funcione con winforms quitando las líneas
'conexionAD.AuthenticationType = AuthenticationTypes.Secure

'conexionAD.Username = "GRUPOEA\Administrador"

'conexionAD.Password = "cambiar.2003"

sin embargo en la versión ASP.NET no me funciona y me ha cambiado el mensaje
de error

saludos

MAYC

Detalles de la excepción: System.Runtime.InteropServices.COMException: No
existe tal objeto en el servidor.

Error de código fuente:

Línea 63:


Línea 64: mailbox = CType(nuevo.NativeObject, IMailboxStore)
Línea 65: mailbox.CreateMailbox(homeMDB)
Línea 66: nuevo.CommitChanges()
Línea 67:

Archivo de origen:
C:\Inetpub\wwwroot\veala\backoffice\scripts\nuevousuario.aspx.vb Línea:
65

Seguimiento de la pila:

[COMException (0x80072030): No existe tal objeto en el servidor.]


CDOEXM.IMailboxStore.CreateMailbox(String HomeMDBURL) +0
veala.nuevousuario.insertanuevousuario() in
C:\Inetpub\wwwroot\veala\backoffice\scripts\nuevousuario.aspx.vb:65
veala.nuevousuario.Page_Load(Object sender, EventArgs e) in
C:\Inetpub\wwwroot\veala\backoffice\scripts\nuevousuario.aspx.vb:25
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()

"Alejandro Mezcua" <amezcua[nspam]@zaltor.com> escribió en el mensaje

news:uel1M37S...@TK2MSFTNGP10.phx.gbl...

0 new messages