Los usuarios no pueden enviar mensajes de correo electrónico desde un dispositivo móvil o desde un buzón compartido en Exchange 2000 Server y en Exchange Server 2003

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 912918
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Síntomas
Cuando intenta enviar un mensaje de correo electrónico en Microsoft Exchange 2000 Server o en Microsoft Exchange Server 2003, no se puede enviar el correo electrónico mensaje. Además, puede recibir uno de los siguientes mensajes de error o uno de los siguientes informes de no entrega (NDR).

Mensajes de error

  • Acceso denegado
  • No tiene permisos suficientes para realizar esta operación en este objeto. Consulte la carpeta o el sistema Administrador.
  • Mensaje no listado Error
  • MAPI_E_NO_ACCESS -2147024891
  • No se pudo enviar el mensaje de correo para el usuario nombreDeUsuario (HRESULT: -2147024891) pausando el usuario nombre de usuario. (Error de seguridad: No se puede acceder el buzón del usuario.)
  • Recurso no Se encontró
Nota Recibe el mensaje de error "Acceso denegado" o "recurso mensaje de error no encontrado"de Microsoft Outlook Web Access cuando se inicia sesión como un delegar la cuenta.

NDR

  • No tiene permiso para enviar a este destinatario. Para asistencia, póngase en contacto con el administrador del sistema.
  • No se pudo enviar el mensaje mediante el uso de su buzón. Lo hace no tiene permiso para enviar el mensaje en nombre de usuario especificado.

Productos afectados

Este problema afecta a los terceros siguiente productos:
  • Research In Motion (RIM) BlackBerry Enterprise Server (BES)
  • Buena Wireless GoodLink de tecnología de mensajería
Este problema puede afectar también a MAPI o colaboración de datos personalizado Objects (CDO)-en función de programas que envían mensajes de correo electrónico.

Otros los productos de terceros que utilizan las cuentas de servicio para enviar mensajes de correo electrónico también puede se ven afectados. Si está ejecutando un producto de terceros que se ve afectado por este problema, le recomendamos que en contacto con el proveedor para obtener esta ayuda problema.

Sin embargo, se ha confirmado que el tercero siguiente los productos no se ven afectados por este problema:
  • Unidad de Cisco Unified Messaging
  • Serie de migración Quest para Exchange
  • La utilidad ExMerge de Microsoft para Exchange
Causa
Este problema puede producirse si una de las siguientes condiciones es True:
  • No tiene permisos para enviar mensajes de correo electrónico como el propietario del buzón en la cuenta de que está utilizando para enviar el correo electrónico mensaje.
  • Está ejecutando Microsoft Exchange 2000 Server Service Pack 3 (SP3) junto con una versión del archivo Store.exe que sea igual o posterior a la 6619.4. Versión 6619.4 se realiza por primera vez disponible en el siguiente de Microsoft Artículo de Knowledge Base:
    915358 Hay una revisión cambiar el comportamiento del permiso acceso total al buzón en Exchange 2000 Server
  • Ejecutar Microsoft Exchange Server 2003 SP1 junto con una versión del archivo Store.exe igual o posterior a la versión 7233.51.
  • Está ejecutando Exchange Server 2003 Service Pack 2 junto con un Store.exe versión del archivo que sea igual o posterior a la 7650.23. Versión 7650.23 en primer lugar se puso a disposición en el siguiente Microsoft Knowledge Base artículo:
    895949 Comportamiento del permiso "Enviar como" cambia en Exchange 2003
    Este cambio no se incluye con Exchange Server 2003 Service Pack 2. Si ha estado ejecutando la versión de Exchange Server 2003 SP1 del archivo Store.exe que incluye este cambio y actualiza a Exchange Server 2003 SP2, debe instalar la versión de Service Pack 2 de esta revisión para conservar el nuevo comportamiento. Este cambio se incluirá en Microsoft Exchange Server 2003 SP3.
PROBLEMAS DE SEGURIDAD
Antes de las versiones de archivo de Store.exe que se enumeran en la "Causa" de la sección, concede el permiso de acceso total al buzón implicaba la concesión permiso para enviar como el propietario del buzón. Esto significaba que otra cuenta que tiene el permiso puede enviar mensajes de correo electrónico que aparecieron el acceso total al buzón como si fueron enviados por el propietario del buzón.

Muchos Microsoft Exchange los clientes han solicitado que el permiso Enviar como separarse de la versión completa Permiso de acceso de buzón para las dos razones siguientes:
  • Para impedir la falsificación de correo electrónico.
  • Para asegurarse de que mensajes de correo electrónico enviados por un delegado siempre puede diferenciarse claramente de los mensajes de correo electrónico enviados por el propietario del buzón real.
Todas las nuevas versiones del almacén de Exchange serán ahora requieren explícitamente el permiso Enviar como para enviar mensajes de correo electrónico como el propietario del buzón. Sin embargo, a continuación enumera las tres excepciones a esta requisito:
  • La cuenta propietaria del buzón no requiere explícita enviar como permisos para su propio buzón.
  • La cuenta externa asociada para un buzón no requerir permisos Enviar como explícitos.
  • Una cuenta de delegado que también tenga el acceso total al buzón permiso no requiere permisos Enviar como explícitos.
Para obtener más información acerca de estas excepciones, vea más" Sección de información".
Solución
Todas las cuentas que se conceden acceso total o parcial a un buzón, excepto los mencionados en la sección "Causa", deben ahora ser concedidas explícitamente el permiso Enviar como para la cuenta de propietario de buzón de correo para enviar correo como el propietario del buzón. Esto incluye las cuentas de servicio de aplicaciones que realizan funciones, como enviar mensajes de correo electrónico para usuarios de dispositivos móviles.

El permiso Enviar como se aplica a la identidad de un objeto de usuario de Active Directory, no al contenido del buzón que se almacenan en una base de datos. Por lo tanto, se debe conceder el permiso Enviar como a la cuenta de servicio en cada objeto de usuario que posee un buzón. Cuando se envían mensajes de correo electrónico, no se envían desde una base de datos o un buzón determinado, sino de un usuario. El usuario puede ser el propietario del buzón o cualquier otra cuenta que tenga el permiso Enviar como.

No se puede conceder el permiso Enviar como en un servidor que ejecuta Exchange Server o en un objeto de base de datos y lograr el efecto de conceder el permiso Enviar como para todos los buzones de la base de datos. Conceder el permiso Enviar como en un objeto de base de datos de Exchange le concede permiso a la base de datos. El permiso es heredado por todos los buzones de la base de datos. Sin embargo, no le otorga permiso a los usuarios que tienen permisos Enviar como y que tienen buzones en la base de datos.

Nota Conceder el permiso recibir como en una base de datos de Exchange es el equivalente funcional de conceder el permiso acceso total a todos buzones de la base de datos. Esto difiere del comportamiento de la de envío Como el permiso.

Cómo conceder los permisos Enviar como para una cuenta

Para conceder explícitamente otro permiso de cuenta para enviar como un buzón propietario, siga estos pasos:
  1. Iniciar la administración de Active Directory Users and Computers consola.
  2. En el Vista menú, asegúrese de que elCaracterísticas avanzadas opción está seleccionada. Si esta opción no está seleccionado, la página de seguridad no será visible para la cuenta de usuario objetos.
  3. Abra las propiedades de la cuenta de usuario que posee el buzón.
  4. Haga clic en el Seguridad ficha.
  5. Si la cuenta no está ya en la lista de grupos o usuarios nombres, agregue la cuenta que debe tener el permiso Enviar como para que esto usuario.
  6. En el Permisos cuadro de diálogo, haga clic en el Permitir para "Enviar como" permiso para la cuenta correspondiente.
  7. Haga clic en ACEPTAR.
  8. Reinicie el servicio Almacén de información de Microsoft Exchange en el servidor de Exchange afectado.
Nota Si no reinicia el almacén de información de Microsoft Exchange servicio, el servicio Almacén de información de Microsoft Exchange se actualizará su permisos de caché para que los nuevos permisos surtan efecto según la valor que se establece en la siguiente subclave del registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem

Nombre de valor: Mailbox Cache Age Limit
Tipo de valor: REG_DWORD
Radix: Decimal
Información del valor: El límite de antigüedad de caché de información de buzón en minutos.
El valor predeterminado para esta entrada del registro es de 120 minutos (dos horas). Si modifica esta entrada del registro, debe reiniciar Microsoft Servicio de almacén de información de Exchange.

Nota Si establece los valores de tiempo de espera en un valor muy bajo, puede afectar al rendimiento del servidor.

Cómo conceder el permiso Enviar como para varias cuentas

Se proporciona una secuencia de comandos de ejemplo al final de este artículo que debe buscar un dominio de servicio de Active Directory para las cuentas que tienen el permiso acceso total al buzón sin el permiso Enviar como para un buzón. Estas son las características de una cuenta de servicio o recurso que se verán afectados por este cambio de seguridad. La secuencia de comandos puede generar un archivo de exportación que puede revisar, modificar y, a continuación, volver a importar para conceder el permiso Enviar como a las cuentas que requieren este permiso.

También puede conceder el permiso Enviar como por herencia a cada objeto de usuario en un dominio de Active Directory o en un contenedor. Si concede el permiso Enviar como mediante este método, puede conceder permisos para objetos que no era su intención. Además, puede perder los permisos para los objetos que se mueven desde el contenedor. Por lo tanto, este método no es el preferido y puede tener implicaciones de seguridad que se deben considerar cuidadosamente antes de implementarlo.

Si concede permiso Enviar como mediante este método, las cuentas que han heredado el permiso Enviar como serán invisibles para la secuencia de comandos que se hace referencia al final del artículo. Para procesar estas cuentas mediante el uso de la secuencia de comandos en una fecha posterior, primero debe quitar el permiso Enviar como heredado.

Para conceder el permiso Enviar como para una sola cuenta en todas las cuentas de usuario en un dominio de Active Directory o el contenedor mediante herencia, siga estos pasos:
  1. Iniciar la administración de Active Directory Users and Computers consola.
  2. En el Vista menú, asegúrese de que elCaracterísticas avanzadas opción está seleccionada. Si esta opción no está seleccionado, la página de seguridad no será visible para el dominio y el contenedor objetos.
  3. Abra las propiedades del dominio o contenedor y, a continuación Haga clic en la página de seguridad.
  4. Haga clic en Avanzada.
  5. Si la cuenta que necesita el permiso no aparece en la lista, Haga clic en Agregary, a continuación, seleccione la cuenta. De lo contrario, haga doble clic en la cuenta para su edición.
  6. En el Se aplica a Haga clic enObjetos de usuario.
  7. Conceder el permiso Enviar como de la cuenta.
  8. Haga clic en ACEPTAR hasta que haya salido y guardado todos los cambios.

Reglas especiales para las cuentas de cuentas protegidas adminSDHolder

Si utiliza la secuencia de comandos para conceder el permiso Enviar como propietario de un buzón que es también un administrador de dominio, no será efectivo el permiso Enviar como. Se recomienda encarecidamente que se habilite para buzón las cuentas de usuario que tiene derechos de administrador de dominio o que sean cuentas protegidas adminSDHolder.

El objeto adminSDHolder es una plantilla para las cuentas que tienen múltiples derechos administrativos de Active Directory. Para evitar imprevisto de elevación de privilegios, cualquier cuenta de que está protegido por el objeto adminSDHolder debe tener los permisos que coinciden con los que aparecen en el propio objeto adminSDHolder .

Si cambia los derechos o permisos en el objeto adminSDHolder para una cuenta protegida, una tarea en segundo plano deshará el cambio en unos minutos. Por ejemplo, si concede el permiso Enviar como en un objeto de administrador de dominio para una cuenta de servicio de aplicación, la tarea en segundo plano automáticamente revocar el permiso.

Por lo tanto, no se puede conceder el permiso Enviar como a una cuenta de servicio de aplicación para una cuenta que está protegida por el objeto adminSDHolder a menos que cambie el propio objeto adminSDHolder . Si modifica el objeto adminSDHolder , cambiará los permisos de acceso para todas las cuentas protegidas. Sólo debe cambiar el objeto adminSDHolder después de una revisión completa de las implicaciones de seguridad que pueden producirse con el cambio.

Para asociar un buzón con una cuenta que está protegido por el objeto adminSDHolder , siga estos pasos:
  1. Iniciar la administración de Active Directory Users and Computers consola.
  2. En el Vista menú, asegúrese de que elCaracterísticas avanzadas opción está seleccionada. Si esta opción no está seleccionado, la página de seguridad no será visible para los objetos de la cuenta de usuario.
  3. Crear una cuenta de usuario normal para que actúe como el buzón propietario.
  4. Asignar la cuenta de usuario normal un buzón en un intercambio servidor.
  5. Abra las propiedades de la nueva cuenta propietaria del buzón.
  6. En el Opciones avanzadas de Exchange cuadro de diálogo, conceda el Permiso de acceso al buzón completo para el administrador protegida cuenta de.
  7. En la página seguridad, conceda el permiso Enviar como a la cuenta de administrador protegida.
  8. Haga clic en ACEPTAR para salir de las propiedades de la objeto propietario del buzón.
  9. Haga clic en el objeto de cuenta del propietario de buzón y, a continuación Haga clic en Deshabilitar cuenta Para deshabilitar la cuenta para todos los inicios de sesión.
Para obtener más información acerca de protegidas adminSDHolder las cuentas, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
907434El "Enviar como" derecha se quita de un objeto de usuario después de configurar el derecho "Enviar como" en los usuarios de Active Directory y equipos snap-in en Exchange Server
318180 Subproceso AdminSDHolder afecta a los miembros transitivos de los grupos de distribución
817433 Los permisos delegados no están disponibles y la herencia se deshabilita automáticamente
306398 Objeto AdminSDHolder afecta a la delegación de control de cuentas de administrador pasadas

Tareas especiales para BlackBerry Enterprise Server

Tarea 1: Asegúrese de que BlackBerry Enterprise Server se ejecuta como una cuenta independiente y única

Asegúrese de que BlackBerry Enterprise Server se ejecuta como un separar cuenta creada específicamente para tareas administrativas. Por por defecto, esta cuenta se denomina "BESAdmin".

Si tiene un independiente cuenta para la administración de BlackBerry Enterprise Server, vaya a la tarea 2.

Si no tienes una cuenta independiente, cree una cuenta independiente. A continuación, utilice esta cuenta para realizar tareas administrativas. Para obtener instrucciones acerca de cómo hacer esto si está ejecutando BlackBerry Enterprise Server 4.0 o BlackBerry Enterprise Server 4.1, consulte a la Guía de instalación de BlackBerry Enterprise Server.  Para obtener instrucciones acerca de cómo hacer esto si está ejecutando BlackBerry Enterprise Server 3.6, consulte la instalación de BlackBerry Enterprise Server 2000/2003 y Guía de inicio.

Tarea 2: Asegúrese de que la cuenta de servicio de BlackBerry Enterprise Server tiene los permisos adecuados

Compruebe que tiene la cuenta de servicio de BlackBerry Enterprise Server los permisos adecuados.

Nota Si la cuenta está en un dominio, asegúrese de que la cuenta es un miembro del grupo de usuarios de dominio. En un controlador de dominio, la cuenta debe ser miembro del grupo de administradores integrado.
  1. En la BlackBerry Enterprise Server, siga estos pasos:
    1. Asegúrese de que la cuenta es miembro de la variable Local Grupo de administradores.
    2. Asignar "Inicio de sesión local" y "Iniciar sesión como servicio" permisos para la cuenta.
  2. Permisos Administrador con permiso de vista de Exchange de concesión en el nivel de grupo administrativo. Para ello, siga estos pasos:
    1. En Administrador del sistema de Exchange, con el botón derecho de la primera Exchange Server nombre del grupo administrativo y, a continuación, haga clic en Delegado Control.
    2. Observe que el servicio de BlackBerry Enterprise Server cuenta aparece como que tiene la función de administrador con permiso de vista de Exchange.
  3. Conceder "Enviar como," "Recibir como" y "administrar la información Permisos de almacén"en el nivel de servidor para cada servidor de Exchange. Para hacer Esto, siga estos pasos:
    1. En Administrador del sistema de Exchange, con el botón derecho de la primera Exchange Server nombre del grupo administrativo y, a continuación, expanda el Servidores grupo.
    2. (Ratón) en un servidor de Exchange, haga clic en Propiedadesy, a continuación, haga clic en Seguridad.
    3. En el panel superior, seleccione la empresa de BlackBerry Cuenta de servicio de servidor. En el panel inferior, asegúrese de que el "Enviar como", "Recibir como", "Administrar el almacén de información" permisos y se establece en Permitir.
    4. Repita los pasos 3b y 3C para cada cambio servidor.
  4. Conceder "Enviar como," "Recibir como" y "administrar la información Permisos de almacén"para el almacén de buzones. Para ello, siga estos pasos:
    1. En Administrador del sistema de Exchange, con el botón derecho de la primera Nombre del grupo administrativo de Exchange y, a continuación, expanda el Servidores grupo.
    2. Expanda el primer grupo de almacén de buzones de correo, haga clic en cada uno almacén de buzones, haga clic en Propiedadesy, a continuación, haga clic en Seguridad.
    3. En el panel superior, seleccione la empresa de BlackBerry Cuenta de servicio de servidor. En el panel inferior, asegúrese de que el "Enviar como", "Recibir como", "Administrar el almacén de información" permisos y se establece en Permitir.
    4. Repita los pasos 4b y 4c para cada almacén de buzones en cada uno Servidor de Exchange.
  5. En el complemento Usuarios y equipos, siga estos pasos:
    1. Con el botón derecho del usuario que desea agregar permisos y, a continuación, haga clic en Propiedades.
    2. En el Seguridad ficha, agregue el Cuenta de servicio blackBerry Enterprise Server y, a continuación, haga clic para seleccionar la Enviar como casilla de verificación.
Si no se está ejecutando Exchange Server 2003, consulte tarea 3.

Tarea 3: Borrar la caché de BlackBerry Enterprise Server

Para borrar la caché de permisos en el almacén de Exchange, reiniciar los servicios relacionados con Blackberry y, a continuación, reinicie la información de Microsoft Exchange Almacén. Después de Reinicie el almacén de Exchange, debe reiniciar los servicios relacionados con RIM Blackberry para conceder a la cuenta "BESAdmin" el recién agregado enviar como permiso en el almacén de Exchange.
Más información
Se dividen los permisos de acceso de carpetas y buzones de Exchange entre las bases de datos de Microsoft Exchange y Active Directory. Sin embargo, ambos tipos de los permisos se establecen en la consola de administración de usuario de Active Directory, pero permisos diferentes se almacenan en dos ubicaciones diferentes.

Por lo general, Si un permiso se define en la página de seguridad para un objeto, es un activo Permisos de directorio. Si se establece en los derechos de buzón avanzados de Exchange página, es un permiso de base de datos de Exchange.

El atributo de Active Directory msExchMailboxSecurityDescriptor es una copia de seguridad de un subconjunto de los derechos de buzón efectivos. Se se utiliza internamente por Exchange para una variedad de propósitos. Además, se actualiza el atributo msExchMailboxSecurityDescriptor para que coincida con los derechos efectivos actuales si los administradores usan interfaces compatibles para asignar derechos. Sin embargo, si el atributo msExchMailboxSecurityDescriptor se modifica directamente por un administrador, los cambios no se pueden propagar al almacén de Exchange y los cambios no tendrán efecto. No se garantiza que se puede sincronizar con derechos de buzón reales. Usted no debe utilizar el atributo msExchMailboxSecurityDescriptor para leer o escribir los derechos de buzón.
Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
310866Cómo establecer los derechos de buzón Exchange Server 2003 y Exchange 2000 Server en un buzón que existe en el almacén de información

El permiso acceso total al buzón es un Permiso de almacén de base de datos de Exchange. El permiso Enviar como es un activo Permisos de directorio. Antes de los cambios del archivo Store.exe de Exchange que se se describe en este artículo, el sistema de Exchange no consultaba la configuración para el permiso Enviar como si el remitente tenía ya el acceso total al buzón permiso.

Inclusión del permiso Enviar como con el Ha habilitado el permiso de acceso al buzón completa los administradores de servidor de Exchange conceder a sí mismos permisos de inicio de enviar como efectivos para cualquier buzón en un servidor que administran. Por separar el permiso Enviar como desde el permiso acceso total al buzón, Los administradores de Active Directory pueden bloquear ahora este proceso porque enviar como el permiso es un permiso de Active Directory y no un almacén de Exchange permiso. Por lo tanto, el proceso no está necesariamente bajo el control de Administradores de Exchange.

Propietarios de buzones

Un propietario del buzón se define como la cuenta de usuario de Active Directory cuyo atributo msExchMailboxGUID lleva el identificador único global (GUID) para un buzón concreto. Se permite sólo una cuenta de todo el bosque llevar el GUID de un buzón concreto. Si se intenta configurar un segundo propietario con el mismo GUID, Active Directory rechazará el cambio con un error.

Cuando se habilite para buzón una cuenta o cuando se conecta un desconectado buzón con una cuenta de Active Directory, se establece automáticamente el GUID de buzón en esa cuenta. Es rara vez es necesario o recomendable para los administradores establecer los GUID de buzón directamente.

Cuentas externas asociadas

Una configuración de Exchange habitual consiste en instalar Exchange en un bosque de recursos. Un bosque de recursos es un bosque en un bosque diferente desde las cuentas de usuario que tendrán buzones en el sistema. Esto presenta un problema porque el atributo msExchMailboxGUID sólo se puede establecer en los objetos en el mismo bosque que el Servidor de Exchange.

La solución a este problema consiste en habilitar el buzón de un cuenta en el bosque de Exchange server. A continuación, vincula este buzón habilitado cuenta a uno de otro bosque o en un dominio de Microsoft Windows NT 4. Se puede Para ello, conceda el permiso cuenta externa asociada. Sólo un único cuenta puede tener el permiso cuenta externa asociada. La cuenta es decir seleccionado debe ser de un bosque diferente.

Al establecer el asociado Permiso de cuenta externa, se escribe el valor de SID para externo cuenta para el atributo msExchMasterAccountSID del propietario del buzón. Por lo tanto, no es un permiso en absoluto, sino una forma cómoda de controlar el valor del atributo msExchMasterAccountSID . Después de que se ha establecido el atributo msExchMasterAccountSID , la cuenta externa que posee el SID se concederá acceso de Exchange como si fuese el propietario del buzón real cuenta de.

Nota Esto se aplica sólo a access de Exchange, no a todos Acceso de Active Directory. Además, debe marcar el propietario del buzón cuenta como deshabilitado para los inicios de sesión después de establecer la cuenta externa asociada permiso para que funcionen todos los permisos como se esperaba.
Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
300456No se conservan las delegaciones y permisos de cliente después de que se asigna en Exchange 2000

Escenarios de delegación

Un delegado es un usuario que se haya concedido acceso parcial a otro buzón y la derecha para enviar mensajes de correo electrónico en nombre de ese buzón propietario. Un escenario de delegación común consiste en conceder acceso delegado a un auxiliar administrativo para el calendario de un ejecutivo. El delegado puede Normalmente, leer y actualizar el calendario. Además, el delegado puede responder a los mensajes de correo electrónico en nombre del ejecutivo.

Puede utilizar las siguientes dos interfaces para conceder a enviar en nombre de y delegar permisos:
  • En el objeto propietario del buzón, conceda el permiso Enviar en nombre de los generales de Exchange cuadro de diálogo.
  • En Microsoft Office Outlook, utilice el Delegados cuadro de diálogo.
Ambos métodos establecen el atributo publicDelegates del buzón. Todos los usuarios que se enumeran en este atributo tienen el permiso Enviar en nombre de para el propietario del buzón. Cuando dichos delegados enviar un mensaje de correo electrónico que tiene el nombre del propietario en el Desde cuadro de mensaje de correo electrónico se envía desde el delegado y no desde o como propietario del buzón. El mensaje de correo electrónico Desde cuadro muestra el valor siguiente:
Nombre del delegado> en nombre dePropietario del buzón>
En el algunos casos, es posible que no se puede establecer el atributo publicDelegates en Outlook. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
329622 elPermiso "Enviar en nombre" no se asigna a un usuario después de delegar el acceso en Outlook

Si concede acceso delegado al buzón, el delegado puede utilizar el permiso Enviar en nombre de incluso si no se conceda acceso a cualquiera de las carpetas del buzón. El permiso fundamental que tiene un delegado es el permiso Enviar en nombre de. Los permisos de acceso a las carpetas de buzón son independientes y deben concederse a los permisos de delegación. Normalmente, los delegados utilizará Outlook para tener acceso a las carpetas individuales a la que se les ha dado permiso. Para ello, haga clic en Abierto En la página Archivo menú de Outlook y, a continuación, haga clic en Carpeta de otro usuario.

Como alternativa, los delegados pueden abrir su buzón con una lista como un buzón adicional en el Avanzada ficha de los perfiles de Outlook. Este método hace que el buzón que aparezca en el árbol de carpetas de Outlook del delegado. Además, Este método permite el acceso a todas las carpetas del buzón para que un delegado se han concedido permisos.

Que desea que el delegado a a veces tiene el permiso Enviar en nombre de y otras veces el Permiso Enviar como. Para configurar a un delegado con estos dos permisos, siga estos pasos:
  • Conceda al delegado el permiso acceso total al buzón. Esto no se puede realizar a través de Outlook. En su lugar, un administrador de Active Directory debe Para ello en la cuenta propietaria del buzón. Incluso aunque otorgue permisos de propietario en todas las carpetas del buzón, que no es el mismo permiso que la versión completa Permiso de acceso de buzón.
  • No conceda al delegado el permiso Enviar como. Si usted concede el permiso Enviar como, todos los mensajes de correo electrónico que se envían por el delegado se realizará con el permiso Enviar como. El delegado no ya podrá utilizar el permiso Enviar en nombre de.
En este escenario, los delegados que desea utilizar el permiso Enviar en nombre de deberían iniciar sesión en sus propios buzones. Si los delegados son responder o reenviar un mensaje de correo electrónico que ya está en uno de sus las carpetas, el mensaje de correo electrónico se enviarán automáticamente por usted. Si el los delegados crean un nuevo mensaje de correo electrónico en su nombre, deben escribir su nombre en el Desde cuadro de mensaje de correo electrónico se envíe en su nombre del cliente.

Independientemente de si los delegados hayan abierto sus carpetas o todo el buzón como un buzón secundario, los mensajes de correo electrónico de todos los que ellos enviar desde la utilizará el permiso Enviar en nombre de siempre que sus propios es el buzón principal para el perfil de Outlook actual.

Cuando delegados deseen enviar un mensaje de correo electrónico como usted, debe iniciar una sesión en su buzón con un perfil de Outlook independiente que solamente abra su buzón. Correo electrónico los mensajes que envían los delegados mientras están conectados a este perfil será enviar de forma automática de usted.

Buscar cuentas que tienen el permiso acceso total al buzón sin el permiso Enviar como

La secuencia de comandos de ejemplo que se describe en esta sección puede buscar uno Dominio de Active Directory en un momento para las cuentas de usuario donde todo el buzón Se ha concedido permiso de acceso a un buzón sin el permiso Enviar como.

Importante Antes de cambiar los permisos, consulte el "Acerca de los propietarios de buzón con delegados" sección.

La secuencia de comandos tiene los tres modos siguientes:
  • Exportar Puede generar una lista de los usuarios que tienen el acceso total al buzón permiso pero no el permiso Enviar como. A continuación, puede revisar esta lista en El Bloc de notas u otro editor para quitar todas las cuentas que no desea tener el permiso Enviar como.
  • Importación Puede importar una lista de usuarios que tienen el acceso total al buzón permiso a la que también debe conceder el permiso Enviar como. Nota que usted no se puede utilizar esta secuencia de comandos para conceder el permiso de acceso total al buzón y el Permiso Enviar como. Cada cuenta debe tener ya el acceso total al buzón permiso para tener concedido el permiso Enviar como.
  • SetAll Puede conceder el permiso Enviar como a todos los usuarios del dominio ya que tengan el permiso acceso total al buzón para un buzón concreto. A se generará el archivo de registro en el mismo formato que el archivo de exportación. Se trata de equivalente a ejecutar los modos de exportación e importación sin modificar el archivo de exportación.
Nota No hay ninguna función de deshacer en esta secuencia de comandos.

Permisos necesarios para la secuencia de comandos

Debe ejecutar la secuencia de comandos mientras ha iniciado sesión con una cuenta administrativa que sean del mismo bosque que el propietario del buzón las cuentas son de. La secuencia de comandos no funcionen con una cuenta que tenga permisos administrativos entre bosques. La secuencia de comandos también puede no funcionar cuando se ejecutar desde una estación de trabajo que está unido a un bosque distinto del bosque a la que se unen las cuentas de propietario de buzón.

Dadas estas las condiciones, puede ejecutar la secuencia de comandos con varias cuentas administrativas en un sesión de inicio de sesión único mediante el comando RunAs.exe . Este procedimiento puede ser útil si segmentó los permisos de Active Directory y Exchange Server, y tiene una cuenta individual que puede administrar todos los servidores de Exchange o todos Dominios de Active Directory. Puede abrir un símbolo del sistema para ejecutar la secuencia de comandos cada cuenta administrativa. Considere el ejemplo siguiente:
RunAs.exe /user:domain\account cmd.EXE
Nota No debe ejecutar varias copias de la secuencia de comandos al mismo tiempo en el mismo dominio.

Los campos en el archivo de exportación son como se indica a continuación. Los campos se describen en el orden en que se presentan en el archivo de exportación.
  • Nombre para mostrar de la cuenta propietaria del buzón

    Puede haber más de una línea en la salida de archivos que Muestra el mismo propietario del buzón. Este comportamiento se produce cuando varias otras cuentas tiene permisos de acceso total al buzón para el mismo buzón.
  • Nombre de dominio y de inicio de sesión de una cuenta que tenga los permisos de acceso total al buzón pero no el permiso Enviar como

    La misma cuenta puede aparecer varias veces a lo largo de el archivo de exportación cuando la cuenta tiene acceso a varios buzones. Se trata de es probable que sea el caso de una cuenta de servicio de aplicación o de una persona que administra varios buzones de recursos.
  • Nombre para mostrar de una cuenta que tenga el permiso acceso total al buzón pero no el permiso Enviar como

    Este campo se incluye además la Nombre de inicio de sesióncampo para que sea más fácil identificar la cuenta.
  • Estado de delegado del propietario del buzón

    Si el propietario del buzón tiene delegados, es el valor del campoTiene delegados. Si el propietario del buzón no tiene delegados, es el valor del campo No Delegados.
  • Estado habilitado o deshabilitado de la cuenta propietaria del buzón

    Este campo es útil cuando desea identificar recursos cuentas o buzones entre bosques. Normalmente, estas cuentas son deshabilitado.
  • Nombre completo de la cuenta propietaria del buzón

    Este campo es útil cuando desea identificar el dominio y el contenedor de la cuenta propietaria del buzón.
  • Nombre completo de la base de datos de buzón del propietario del buzón

    Este campo incluye la base de datos, el grupo de almacenamiento de información, el servidor y el grupo administrativo para el buzón.
En el ejemplo siguiente, el usuario que tiene el nombre de inicio de sesión "NoEnviarComo" tiene el permiso acceso total al buzón pero no enviar como permiso para el buzón "Propietario del buzón":
"" "Propietario del buzón" "" "" "Dominio\NoEnviarComo" "" "" "No enviar como usuario" "" "" "tiene delegados" "" "" "habilitado" "" [campos adicionales omitidos]

Configuración de estación de trabajo administrativa para la secuencia de comandos

Esta secuencia de comandos utiliza las interfaces de administración de Exchange para comunicarse con los servidores de Exchange. Por lo tanto, se debe ejecutar esta secuencia de comandos desde un intercambio servidor o desde una estación de trabajo con el administrador del sistema de Exchange instalado.

Modificar el archivo de exportación

El archivo de exportación tiene formato de texto Unicode sin formato hasta se pueden acomodar conjuntos de caracteres de varios idiomas. Algunos editores de texto Puede que no pueda ver o modificar el archivo correctamente o puede guardar el archivo como ANSI o texto ASCII. La utilidad de Bloc de notas de Windows Server 2003, Windows XP y Microsoft Windows 2000 puede manejar correctamente texto Unicode archivos. Además, Microsoft Office Excel puede controlar correctamente el texto Unicode archivos.

El archivo de salida está en un formato delimitado por tabuladores con triple las comillas alrededor de los valores para cada campo. Las comillas triples se utilizan para importar y exportar desde Excel más determinista. En el Excel, las comillas triples se convertirán en comillas simples y será volver a ser triples cuando el archivo se guarda de nuevo como texto Unicode. Consulte las instrucciones siguientes para abrir y guardar un archivo de exportación en correctamente Excel.

También puede filtrar un archivo de exportación sin usar Excel mediante el uso de la utilidad Find.exe o Findstr.exe. Estas utilidades son incluido con Windows. Le permiten buscar palabras en un archivo y sólo las líneas que contengan esas palabras o sólo las líneas que no contienen de salida esas palabras. Por ejemplo, si desea hacer una lista en el archivo de todos los propietarios de buzón con delegados, utilice cualquiera de estos comandos para crear un archivo contiene sólo las líneas con la cadena "Tiene delegados":
Find.exe "tiene delegados" ArchivoOriginal.txt > TieneDelegados.txt

Findstr.exe/c: "tiene delegados" ArchivoOriginal.txt > TieneDelegados.txt
Otro ejemplo, suponga que filtra todos los propietarios de buzón con delegados. El modificador /V muestra todas las líneas que no coinciden con las palabras de búsqueda. Usted puede utilizar cualquiera de estos comandos para generar un archivo que excluya todos "ha Líneas de delegados":
Find.exe "Sin delegados" ArchivoOriginal.txt > SinDelegados.txt

Find.exe /V "tiene delegados" ArchivoOriginal.txt > SinDelegados.txt

Findstr.exe/c: "Sin delegados" ArchivoOriginal.txt > SinDelegados.txt

Findstr.exe/c: de /V "tiene delegados" ArchivoOriginal.txt > SinDelegados.txt
También puede utilizar estos comandos para generar un archivo que enumera todas las cuentas donde una cuenta de servicio de aplicación tiene completo Permiso de acceso de buzón, pero no tiene el permiso Enviar como. El modificador /I hace que el comando entre mayúsculas y minúsculas:
Find.exe /I "dominio\CuentaDeServicio" ArchivoOriginal.txt > CuentaDeServicio.txt

Findstr.exe /I/c: "dominio\CuentaDeServicio" ArchivoOriginal.txt > CuentaDeServicio.txt
Nota Si utiliza la utilidad Find.exe para generar un archivo filtrado, debe quitar las líneas de encabezado que la utilidad Find.exe creará en la parte superior del archivo.

Hacer No utilice nombres de archivo comodín (*. *) con la utilidad Findstr.exe. Si utiliza caracteres comodín, cada línea en el archivo de resultados irá precedida por el nombre de archivo. Debe Examine cuidadosamente el archivo de salida después de que filtra con Find.exe o Findstr.exe para comprobar que el filtro ha obtenido o excluido las cuentas que usted objeto.

En el ejemplo siguiente, el usuario que tiene el nombre de inicio de sesión "NoEnviarComo" tiene el permiso de acceso total al buzón pero no enviar como permiso para el buzón "Propietario del buzón".
"""Mailbox Owner""" """Domain\NoSendAs""" """No Send As User""" """Has Delegates""" """Enabled""" [additional fields omitted] 

Acerca de los propietarios de buzón con delegados

Un delegado que tiene acceso total al buzón (también conocido como un "superdelegado") normalmente no debe concederse el permiso Enviar como. Cuando el registros de superdelegado directamente al buzón del propietario del buzón, el delegado puede enviar como propietario. Cuando utiliza el delegado (de las características de delegación de OutlookAdicional Buzones para abrir o Abra la carpeta de otro usuario), los mensajes se envían en nombre del propietario.

Conceder el permiso Enviar como a un superdelegado sólo si desea que el delegado siempre para enviar como el propietario del buzón y nunca se debe enviar en nombre de la propietario del buzón. Le recomendamos que busque el archivo de exportación para el texto "ha Delegados,"y, a continuación, determinar si alguno de los superdelegados que son enumerados son realmente los delegados del propietario del buzón.

Sólo en el archivo de exportación se muestran los superdelegados. Delegados normales no tienen el permiso acceso total al buzón. Además, cuando concede el permiso Enviar como a un delegado normal, el delegado siempre enviará como propietario del buzón. Esto es cierto incluso cuando el delegado normal no tiene el permiso acceso total al buzón. Si concede permisos Enviar como a un delegado al que no deseaba, fácilmente puede revocar el permiso más adelante.

Cómo abrir un archivo de exportación en Excel

  1. Inicie Excel antes de abrir el archivo de exportación.
  2. Abra el archivo en Excel como un tipo de archivos de texto. Se inicia el Asistente para importación de texto.
  3. En el Asistente para importar texto, cambiar o acepte el siguiente configuración:
    • Tipo de datos original: Delimitado por
    • Comenzar a importar en fila: 1
    • Origen del archivo: Unicode (UTF-8)
    • Delimitadores: Ficha sólo
    • Considerar separadores consecutivos como uno solo: sin marcar
    • Calificador de texto: "(comillas dobles)

Cómo guardar un archivo de exportación después de modificar el archivo en Excel

  1. En el archivo de exportación, haga clic en Guardar como.
  2. Guarde el archivo con un nombre diferente para que se conserva un copia no modificada del archivo original.
  3. Haga clic en Archivo, haga clic en Guardar como, escriba un nombre de archivo para guardar los datos de salida y, a continuación, haga clic en Texto Unicode en el Guardar como tipo lista.

Sintaxis de la secuencia de comandos

Se trata de una secuencia de comandos de modo de texto y se debe ejecutar en un comando símbolo del sistema, no desde el Ejecutar cuadro de diálogo. Para abrir un comando símbolo del sistema, haga clic en Inicio, haga clic en Ejecutar, tipo CMD en el Abierto cuadro y, a continuación, haga clic en ACEPTAR.

Registro de errores y exportar los archivos se guardarán en el directorio de símbolo del sistema actual. Debe tener permisos para crear archivos en Este directorio. Para obtener ayuda en línea de comandos, escriba el comando siguiente:
CSCRIPT AddSendAs.vbs
Para exportar los usuarios que tienen acceso total al buzón sin el permiso Enviar como para un dominio, escriba el comando siguiente:
CSCRIPT AddSendAs.vbs [domain controller name] –ExportExample:CSCRIPT AddSendAs.vbs CORP-DC-1 –Export
El archivo de exportación se generará como "Send_As_Export_H_MM_SS.txt".

Para importar un archivo de exportación modificado, introduzca el siguiente comando:
CSCRIPT AddSendAs.vbs [domain controller name] –Import [filename]Example:CSCRIPT AddSendAs.vbs CORP-DC-1 –Import "Send_As_Export_H_MM_SS.txt"

Cómo conceder el permiso Enviar como para cada buzón en el dominio para todos los usuarios que ya tienen el permiso acceso total al buzón para un buzón

Nota Si tiene delegados que también tienen el acceso total al buzón permiso de la organización, no debe utilizar el modo SetAll. Si lo hace Utilice el modo SetAll en esta situación, los delegados se concederán enviar como permiso. Este comportamiento puede hacer que todos los mensajes de correo electrónico que envían usen el permiso Enviar como en lugar de los enviados en nombre del permiso. Se puede corregir este comportamiento al quitar el permiso Enviar como que fue erróneamente conceder al delegado:
CSCRIPT AddSendAs.vbs [domain controller name] –SetAllExample:CSCRIPT AddSendAs.vbs CORP-DC-1 –SetAll
Si utiliza el modo SetAll, será un archivo de exportación se generan como Send_As_Export_H_MM_SS.txt. Debe guardar este archivo porque lo es un registro de todas las cuentas que se han cambiado. Si fuera a ejecutar el secuencia de comandos de nuevo, no produciría la misma lista de cuentas porque el las cuentas ya habrían recibidas el permiso Enviar como.

Los errores que experimenta mientras se ejecuta la secuencia de comandos será guardado en el archivo Send_As_Errors_H_MM_SS.txt. Coincidirá con el nombre de archivo de error la marca de tiempo de horas de cualquier archivo de exportación asociado.

Modificaciones de la secuencia de comandos

Puede haber cuentas en su organización que dispone de permisos en muchos objetos, pero no desea modificar los permisos. Para reducir el tamaño del archivo de exportación, puede filtrar estas cuentas modificando la Variable FMA_EXCLUSIVE_LIST que se encuentra cerca de la parte superior de la secuencia de comandos. Por por defecto, esta variable enumera unas cuentas que se deben suprimir en el salida de secuencia de comandos. Puede agregar más cuentas con el formato siguiente.
& "<Domain\Name>" & OUTPUT_DELIMITER
Por ejemplo, puede cambiar el valor de la variable siguiente.
FMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITER
para que aparezca como sigue.
FMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITER & "Mydomain\Service1" & OUTPUT DELIMITER
Este cambio suprime el anuncio de la cuenta "MiDominio\Service1" en el archivo de exportación junto con "NT AUTHORITY\SELF" y "NT AUTHORITY\SYSTEM". Observe que el valor dominio\nombre distingue mayúsculas de minúsculas, y debe aparecer exactamente como es o como lo haría en el archivo de exportación.

Hay otro variable puede editar, FMA_EXCLUSIVE_EXSVC, que tiene el valor predeterminado "\Exchange Servicios de"& OUTPUT_DELIMITER. "Servicios de Exchange" es el nombre de una cuenta que se le conceden permisos a través del conector de Active Directory en Exchange Servidor 5.5 y en escenarios de migración y coexistencia de Exchange 2000. Esta cuenta es creado en varios dominios y puede aparecer varias veces en el archivo de exportación si no se suprime.

La variable FMA_EXCLUSIVE_EXSVC sólo acepta una cuenta como su valor. El nombre de cuenta no distingue entre mayúsculas y minúsculas. La cuenta debe comenzar con un carácter de barra diagonal inversa (\) y no debe incluir el dominio al que pertenece la cuenta. La cuenta se suprimirá para todos dominios en el que existe.

Si ha utilizado la migración de terceros herramientas o métodos de sincronización de directorios, puede existir una cuenta diferente en varios dominios que tiene los permisos concedidos a los buzones de usuario. En este escenario, puede sustituir el nombre de esa cuenta para "\Exchange Services".

Sugerencias y advertencias

  • Descartar los archivos de registro y de error generados por la secuencia de comandos. Pueden ser valiosos para solucionar problemas o revertir los cambios más adelante. Recuerde, tan pronto como haya concedido el permiso Enviar como a un cuenta, ya no se registrará en el archivo de exportación.
  • Si un servidor de Exchange o base de datos no funciona, procesamiento de secuencias de comandos será más lenta. En tal caso, puede ordenar el archivo de exportación por base de datos y mover las líneas que están asociadas con una base de datos detenida en un archivo diferente para más tarde importar.
  • La secuencia de comandos suprime los resultados de las cuentas donde el inicio de sesión nombre termina en "$" o sea NT AUTHORITY\SYSTEM. Estas cuentas de sistema no se debe Normalmente es necesario el envío como permiso y la eliminación del archivo de exportación reduce considerablemente su tamaño.
  • El archivo de exportación debe estar en formato Unicode antes de que puede ser importado. Si ha guardado involuntariamente el archivo como texto ANSI, puede solucionar este problema al cargar el archivo en el Bloc de notas y guardar como Unicode texto.
  • Si no funciona una importación, solucionar problemas con las cuentas de prueba y una sola línea en el archivo de importación. Debe configurar una prueba de que cuenta tiene un buzón en un servidor de Exchange en ejecución y, a continuación, conceda el permiso acceso total al buzón a otra cuenta de prueba. No conceda el permiso Enviar como a la cuenta de prueba.
  • No hay ningún modo de deshacer para esta secuencia de comandos. Para llevar el Los permisos Enviar como que se le ha concedido con esta secuencia de comandos, debe generar otra secuencia de comandos o quitarlos manualmente. No se proporciona un modo de deshacer para evitar el uso de esta secuencia de comandos para quitar los permisos Enviar como para todos los usuarios en un organización.
  • La secuencia de comandos no trata correctamente una cuenta que tenga se ha concedido Control total de un objeto de usuario junto con acceso total al buzón. Control total incluye el permiso Enviar como, pero la secuencia de comandos exportará la cuenta como si no tenía el permiso Enviar como. Esto puede aumentar el tamaño de el archivo de exportación, pero ningún daño se produce desde el archivo de importación y, a continuación forma redundante conceder permisos Enviar como a dichas cuentas.
  • Cuentas de usuario de Active Directory que tienen completos los nombres y incluyen fichas o no se puede no coincidentes entre comillas dobles se procesan mediante el uso de esta secuencia de comandos. La secuencia de comandos puede procesar correctamente un nombre que incluye comillas coincidentes como el siguiente:
    "CN = nombre"alias"apellido, DC = dominio, DC = com"
  • Cada versión de Excel es compatible con un límite máximo de línea diferentes. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    120596Archivos de texto que ocupan más de 65.536 filas no se puede importar a Excel 97, Excel 2000, Excel 2002 y Excel 2003
    Éstos son los límites de fila para Excel 2003 y Excel 2007:
    • Filas de Excel 2003: 65.536
    • Filas de Excel 2007: 1.048.576
    Si el archivo de resultados es mayor que estos límites, debe dividirlo en secciones antes de cargarlo en Excel.
  • El archivo Send_As_Errors enumerará las cuentas específicas donde se ha producido un error al leer o escribir permisos. Si otras cuentas en el dominio se procesaron correctamente, estas cuentas pueden tener algo en común que impide que la secuencia de comandos se ejecute con ellas. Problemas comunes incluyen la Después de:
    • Falta de permisos administrativos para ver o establecer Propiedades de las cuentas.
    • No se está ejecutando el almacén de buzones de Exchange.
    • La estación de trabajo no es un miembro de la misma dominio.
    • La cuenta administrativa que se está utilizando no es desde el mismo bosque.
Para ejecutar esta secuencia de comandos, copie y pegue todas las líneas entre BEGIN Secuencia de comandos y secuencias de comandos final en un editor de texto sin formato, como el Bloc de notas. Guardar la secuencia de comandos como AddSendAs.vbs. SECUENCIA DE COMANDOS DE INICIO.
Option ExplicitDim OUTPUT_DELIMITEROUTPUT_DELIMITER = """""""" & vbTab & """"""""'Define exclusive list, if FMA is given to any user in this list, it's ignored.  If you 'want to modify this list, please be sure to follow the same format. Every alias has to 'have a OUTPUT_DELIMITER before and after itDim FMA_EXCLUSIVE_LISTFMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITERDim FMA_EXCLUSIVE_EXSVCFMA_EXCLUSIVE_EXSVC = "\Exchange Services" & OUTPUT_DELIMITER'Permission Type: Allow or Denyconst ACCESS_ALLOWED_OBJECT_ACE_TYPE  = 5const ADS_ACETYPE_ACCESS_ALLOWED = &h0const ADS_ACETYPE_ACCESS_DENIED = &h1'Flags: Specifies Inheritanceconst ADS_ACEFLAG_INHERIT_ACE = &h2const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &h4const ADS_ACEFLAG_INHERIT_ONLY_ACE = &h8const ADS_ACEFLAG_INHERITED_ACE = &h10const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &h1fconst ADS_ACEFLAG_SUCCESSFUL_ACCESS = &h40const ADS_ACEFLAG_FAILED_ACCESS = &h80'Declare ADSI constantsConst ADS_OPTION_SECURITY_MASK = 3Const ADS_OPTION_REFERRALS	= 1Const ADS_SECURITY_INFO_DACL = 4Const ADS_CHASE_REFERRALS_NEVER = &h00 Const ADS_CHASE_REFERRALS_SUBORDINATE = &h20 Const ADS_CHASE_REFERRALS_EXTERNAL = &h40'output file nameConst EXPORT_FILE = "Send_As_Export"Const ERROR_FILE = "Send_As_Errors"' script modeconst MODE_INVALID = -1 const MODE_SETALL = 0const MODE_EXPORT = 1const MODE_IMPORT = 2const SETALL = "-SETALL"const EXPORT = "-EXPORT"const IMPORT = "-IMPORT"' argument indexConst ARG_INDEX_MODE = 1Const ARG_INDEX_DC = 0Const ARG_INDEX_FILENAME = 2' column index in import/export fileConst COLUMN_INDEX_USERDISPLAYNAME = 0Const COLUMN_INDEX_FMAALIAS = 1Const COLUMN_INDEX_FMADISPLAYNAME = 2Const COLUMN_INDEX_IFPUBLICDELEGATE = 3Const COLUMN_INDEX_MAILBOXSTATUS = 4Const COLUMN_INDEX_USERADSPATH = 5Const COLUMN_INDEX_HOMEMDB = 6Const EMPTYSTRING = ""Const STRNO = "No Delegates"Const STRYES = "Has Delegates" Const MIN_ARG = 2Const INIT_ARRAY_SIZE = 100' Microsoft Exchange Const EX_MB_SEND_AS_ACCESSMASK  = &H00100Const EX_FULLMailbox_AccessMask = 1Const MESO = "Microsoft Exchange System Objects"Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"Const ForReading	= 1Const ForWriting	= 2Const ForAppending	= 8Const TristateTrue	= -1Const ADS_SCOPE_SUBTREE = 2Dim objUserDim objSDMailBoxDim objSDNTsecurityDim objDACLNTSDDim objNewACEDim sTrusteeAlias()Dim sFMADeniedListDim sFMAExplicitAllowDim fACESendasFoundDim dArraySizeDim TotalACEDim iDim rootDSEDim connDim objCommandDim objCmdDisplayNameDim rsUsersDim FoundObjectDim objFSODim objfileImportDim objfileExportDim objfileErrorDim sImportFilePathDim cScriptModeDim dArgCountDim dArgExpectedDim sDCServerDim sMailboxStatusDim sIfPublicDelegateDim sFMAUserDisplayNameDim sExportFileNameDim sErrorsFileNameDim msPublicDelegatesDim fErrorDim fOneErrorDim fFMAAllowedOn Error Resume NextdArraySize = INIT_ARRAY_SIZEReDim Preserve sTrusteeAlias(dArraySize)dArgCount = Wscript.Arguments.Count If ( dArgCount < MIN_ARG ) Then	DisplaySyntaxEnd Iferr.ClearfError = FalsefOneError = FalsecScriptMode = MODE_INVALIDSelect Case UCase(WScript.Arguments(ARG_INDEX_MODE))	Case SETALL 		cScriptMode = MODE_SETALL		dArgExpected = ARG_INDEX_MODE + 1	Case EXPORT 		cScriptMode = MODE_EXPORT		dArgExpected = ARG_INDEX_MODE + 1	Case IMPORT 		cScriptMode = MODE_IMPORT		dArgExpected = ARG_INDEX_FILENAME + 1	Case Else 		cScriptMode = MODE_INVALIDEnd SelectIf (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then	DisplaySyntaxEnd IfsDCServer = WScript.Arguments(ARG_INDEX_DC)CreateOutputFilesIf ( cScriptMode = MODE_SETALL Or cScriptMode = MODE_EXPORT ) Then	Dim sDomainContainer	If (cScriptMode = MODE_SETALL) Then		Dim strInput 		WScript.StdOut.WriteLine("WARNING: If you continue, each account in the domain that has")		WScript.StdOut.WriteLine("Full Mailbox Access permission for a given mailbox will also be")		WScript.StdOut.WriteLine("granted permission to Send As the mailbox owner.")		WScript.StdOut.WriteLine()		WScript.StdOut.WriteLine("To preview the list of mailboxes before granting Send As,")		WScript.StdOut.WriteLine("cancel this operation and use the -Export mode of this script.")		WScript.StdOut.WriteLine()		WScript.StdOut.Write("Press Y to continue or any other key to cancel: ")		strInput = WScript.StdIn.ReadLine()		If (UCase(strInput) <> UCase("Y")) Then			WScript.Quit		End If		End If		WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("""!"" indicates an error processing an object.")	WScript.StdOut.WriteLine("     Check " & sErrorsFilename)	WScript.StdOut.WriteLine("Starting...")	WScript.StdOut.WriteLine()	err.Clear		Set rootDSE = GetObject("LDAP://" & sDCServer & "/RootDSE")	sDomainContainer = rootDSE.Get("defaultNamingContext")	WScript.StdOut.WriteLine("Finding domain controller [ " & sDCServer & " ] for domain [ " & sDomainContainer & " ]")		If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to find the domain or domain controller, error:" & err.Description)		objfileError.WriteLine("Failed to find the domain or domain controller, error:" & err.Description)		WScript.Quit	End If				err.Clear		Set conn = CreateObject("ADODB.Connection")	Set objCommand = CreateObject("ADODB.Command")	conn.Provider = "ADSDSOObject"	conn.Open "ADs Provider"	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)		objfileError.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)		WScript.Quit	End If	Set objCommand.ActiveConnection = conn	WScript.StdOut.WriteLine("Searching for mailbox owner user accounts in " & sDomainContainer)		objCommand.CommandText  = "<LDAP://" & sDCServer & "/" & sDomainContainer & ">;(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(msExchHomeServerName=*)) ))));adspath;subtree"	objCommand.Properties("searchscope") = ADS_SCOPE_SUBTREE	objCommand.Properties("Page Size") = 100	objCommand.Properties("Timeout") = 30 	objCommand.Properties("Chase referrals") = (ADS_CHASE_REFERRALS_SUBORDINATE Or ADS_CHASE_REFERRALS_EXTERNAL)	err.Clear		Set rsUsers = objCommand.Execute	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Search for mailbox owners failed, error:" & err.Description)		objfileError.WriteLine("Search for mailbox owners failed, error:" & err.Description)		WScript.Quit	End If	If (rsUsers.RecordCount = 0) Then		WScript.StdOut.WriteLine("No mailbox owner user accounts could be seen in " & sDomainContainer & ".")		objfileError.WriteLine("No mailbox owner user accounts found in " & sDomainContainer & ".")		fError = True			End If	While Not rsUsers.EOF		If (fOneError = True) Then			WScript.StdOut.Write("!")		Else			WScript.StdOut.Write(".")		End If		fOneError = False				'Skip any mailbox object in Microsoft Exchange System Objects container		If (0 = Instr(rsUsers.Fields(0).Value, MESO)) Then			err.Clear 			Set objUser = GetObject(rsUsers.Fields(0).Value)			If (err.number <> 0) Then				objfileError.WriteLine("Failed to get user object: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				fError = True				fOneError = True				err.Clear			End If			Set objSDMailBox = objUser.MailboxRights			If (err.number <> 0) Then				objfileError.WriteLine("Failed to get mailbox rights: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				fError = True				fOneError = True				err.Clear			End If			Set objSDNTsecurity = objUser.ntSecurityDescriptor			If (err.number <> 0) Then				objfileError.WriteLine("Failed to get NTSD: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				fError = True				fOneError = True				err.Clear			End If						Set objDACLNTSD = Nothing			If (objUser.AccountDisabled) Then				sMailboxStatus = "Disabled"			Else				sMailboxStatus = "Enabled"			End If			'Query this user's publicDelegates list			err.Clear 			msPublicDelegates = objUser.Get("publicDelegates")			If (err.number <> 0) Then				'This user doesn't have publicDelegates list set				sIfPublicDelegate = STRNO				err.Clear			Else				sIfPublicDelegate = STRYES			End If						err.Clear 						FindAllFMAUsers objSDMailBox						If (TotalACE > dArraySize) Then			'Needs to allocate bigger size array				dArraySize = TotalACE + 1				ReDim Preserve sTrusteeAlias(dArraySize)				FindAllFMAUsers objSDMailBox			End If			If (err.number <> 0) Then				objfileError.WriteLine("Failed to query mailbox rights of user: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				err.Clear				fError = True				fOneError = True			End If						If TotalACE > 0 Then				Set objDACLNTSD = objSDNTsecurity.DiscretionaryAcl				For i = 0 to TotalACE - 1 Step 1										'Check if we already have Send As ACE in NT security descriptor					'If it exists, either allow or deny, we don't need to add send as to it 					CheckSendAsACE objDACLNTSD, sTrusteeAlias(i)										'Note: deny entries take precedence over allow entries. 					'If there is FMA deny ACE, skip it even if we find FMA allow ACE 					IfFMAAllowed(sTrusteeAlias(i) & OUTPUT_DELIMITER)					If ((fFMAAllowed = True) And (fACESendasFound = 0)) Then						If cScriptMode = MODE_SETALL Then							Set objNewACE = CreateObject ("AccessControlEntry")							objNewACE.AceFlags = 0 							objNewACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE							objNewACE.AccessMask = EX_MB_SEND_AS_ACCESSMASK 							objNewACE.Flags = 1							objNewACE.ObjectType = EX_MB_SEND_AS_GUID							objNewACE.Trustee = sTrusteeAlias(i)							objDACLNTSD.AddAce objNewAce						End If									'Query trustee(FMA user) to get its displayName						Dim rsTrustee						Dim objTrustee						Dim dPosition						Dim sAlias											dPosition = inStr(1, sTrusteeAlias(i), "\")						sAlias = mid(sTrusteeAlias(i), dPosition + 1)										Set objCmdDisplayName = CreateObject("ADODB.Command")									Set objCmdDisplayName.ActiveConnection = conn						objCmdDisplayName.CommandText  = "<LDAP://" & sDomainContainer & ">;(&(&(& (mailnickname=" & sAlias & ") (| (&(objectCategory=person)(objectClass=user)(msExchHomeServerName=*)) ))));adspath;subtree"						objCmdDisplayName.Properties("searchscope") = ADS_SCOPE_SUBTREE						objCmdDisplayName.Properties("Page Size") = 100						objCmdDisplayName.Properties("Timeout") = 30 						objCmdDisplayName.Properties("Chase referrals") = (ADS_CHASE_REFERRALS_SUBORDINATE Or ADS_CHASE_REFERRALS_EXTERNAL)												Set rsTrustee = objCmdDisplayName.Execute										Set objTrustee = GetObject(rsTrustee.Fields(0).Value)												If (err.number <> 0) Then							'Failed to query FMA user's display name, use its alias							sFMAUserDisplayName = sAlias													Else							sFMAUserDisplayName = objTrustee.displayName													End If							'output to export file						err.Clear						objfileExport.WriteLine ("""""""" & objUser.displayName & OUTPUT_DELIMITER & sTrusteeAlias(i) & OUTPUT_DELIMITER & sFMAUserDisplayName & OUTPUT_DELIMITER & sIfPublicDelegate & OUTPUT_DELIMITER & sMailboxStatus & OUTPUT_DELIMITER & rsUsers.Fields(0).Value & OUTPUT_DELIMITER & objUser.homeMDB & """""""")						If (err.number <> 0) Then							objfileError.WriteLine("User " & rsUsers.Fields(0).Value & " could not be added to the export file. You should set permissions manually for this user.")							objfileError.WriteLine("Error: " & err.Description)							err.Clear							fError = True							fOneError = True						End If						Set objCmdDisplayName = Nothing						Set rsTrustee = Nothing						Set objTrustee = Nothing					End If				Next									If cScriptMode = MODE_SETALL Then					err.Clear					objSDNTsecurity.DiscretionaryAcl = objDACLNTSD					objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )					objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL					objUser.SetInfo					If (err.number <> 0) Then						objfileError.WriteLine("Failed to update ADSI for user: " & rsUsers.Fields(0).Value)						objfileError.WriteLine("Error: " & err.Description)						err.Clear						fError = True						fOneError = True					End If				End If				TotalACE = 0				Set objSDMailbox = Nothing				Set objSDNTsecurity = Nothing				Set objUser = Nothing				Set objDACLNTSD = Nothing			End If				End If			rsUsers.MoveNext	WendEnd IfIf (cScriptMode = MODE_IMPORT) Then	Dim sOneRow	Dim sArraySplit	Dim objUserItem	Dim UserPath	Dim objUserSD	Dim objUserDACL	Dim fNeedToAddSendAs		sImportFilePath = WScript.Arguments(ARG_INDEX_FILENAME)	WScript.StdOut.WriteLine("If you continue, each account listed in " & sImportFilePath)	WScript.StdOut.WriteLine("that has Full Mailbox Access permission for a given mailbox")	WScript.StdOut.WriteLine("will also be granted permission to Send As the mailbox owner.")	WScript.StdOut.WriteLine()	WScript.StdOut.Write("Press Y to continue or any other key to cancel: ")	strInput = WScript.StdIn.ReadLine()	If (UCase(strInput) <> UCase("Y")) Then		WScript.Quit	End If		WScript.StdOut.WriteLine("Starting...")	WScript.StdOut.WriteLine()	UserPath = EMPTYSTRING		err.Clear		Set objFSO = CreateObject("Scripting.FileSystemObject")	Set objfileImport = objFSO.OpenTextFile(sImportFilePath, ForReading, False, TristateTrue)	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to open import file " & sImportFilePath & ", error:" & err.Description)		objfileError.WriteLine("Failed to open import file " & sImportFilePath & ", error:" & err.Description)		WScript.Quit	End If		fNeedToAddSendAs = False	Do While objfileImport.AtEndOfStream <> True		If (fOneError = True) Then			WScript.StdOut.Write("!")		Else			WScript.StdOut.Write(".")		End If		fOneError = False		err.Clear		sOneRow = objfileImport.ReadLine		sArraySplit = Split(sOneRow , OUTPUT_DELIMITER)		If (err.number <> 0) Then			objfileError.WriteLine("Failed to parse one row: " & sOneRow )			objfileError.WriteLine("Error: " & err.Description)			err.Clear			fError = True			fOneError = True		End If				If (UserPath <> sArraySplit(COLUMN_INDEX_USERADSPATH)) Then			'A new user			If (fNeedToAddSendAs = True ) Then				'update existing user				err.Clear 				objSDNTsecurity.DiscretionaryAcl = objDACLNTSD				objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )				objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL				objUser.SetInfo				If (err.number <> 0) Then					objfileError.WriteLine("Failed to update permissions for user: " & UserPath)					objfileError.WriteLine("Error: " & err.Description)					fError = True					fOneError = True				End If			End If									fNeedToAddSendAs = False			Set objUser = Nothing			Set objSDNTsecurity = Nothing			Set objDACLNTSD = Nothing			UserPath = sArraySplit(COLUMN_INDEX_USERADSPATH)			err.Clear 			Set objUser = GetObject(UserPath)			Set objSDNTsecurity = objUser.ntSecurityDescriptor  			Set objDACLNTSD = objSDNTsecurity.DiscretionaryACL						If (err.number <> 0) Then				objfileError.WriteLine("Failed to get user object: " & UserPath)				objfileError.WriteLine("Error: " & err.Description)				err.Clear				fError = True				fOneError = True			End If		End If			'Add newACE   Do we need this check?		CheckSendAsACE objDACLNTSD, sArraySplit(COLUMN_INDEX_FMAALIAS)		If (fACESendasFound = 0) Then			Set objNewACE = CreateObject ("AccessControlEntry")			objNewACE.AceFlags = 0 			objNewACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE			objNewACE.AccessMask = EX_MB_SEND_AS_ACCESSMASK 			objNewACE.Flags = 1			objNewACE.ObjectType = EX_MB_SEND_AS_GUID			objNewACE.Trustee = sArraySplit(COLUMN_INDEX_FMAALIAS)			objDACLNTSD.AddAce objNewACE			fNeedToAddSendAs = True					End If	Loop		If (fNeedToAddSendAs = True ) Then		'update the last user		err.Clear 		objSDNTsecurity.DiscretionaryAcl = objDACLNTSD		objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )		objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL		objUser.SetInfo		If (err.number <> 0) Then			objfileError.WriteLine("Failed to update permissions for user: " & UserPath)			objfileError.WriteLine("Error: " & err.Description)			fError = True		End If	End IfEnd If objFSO.CloseobjfileImport.CloseobjfileExport.CloseobjfileError.CloseSet objFSO = NothingSet objfileImport = NothingSet objfileExport = NothingSet objfileError = NothingSet objCommand = NothingSet conn = NothingWScript.StdOut.WriteLine()If (fError = True) Then	WScript.StdOut.WriteLine("Finished with one or more errors. See " & sErrorsFilename)Else	WScript.StdOut.WriteLine("Finished successfully. No errors were encountered.")End IfFunction FindAllFMAUsers (objSD)Dim objACLDim objACEDim intACECountDim strIndentDim dAccessMaskBitDim dPositionDim sUserAlreadyFound	On Error Resume Next	err.Clear	TotalACE = 0	sFMADeniedList = EMPTYSTRING	sFMAExplicitAllow = EMPTYSTRING	sUserAlreadyFound = OUTPUT_DELIMITER	intACECount = 0	Set objACL = objSD.DiscretionaryAcl	intACECount = objACL.AceCount	If intACECount Then		' Open discretionary ACL (DACL) data.		For Each objACE In objACL							dPosition = inStr(1, objACE.Trustee, "$")		If ((0 = Instr(UCase(objACE.Trustee & OUTPUT_DELIMITER), UCase(FMA_EXCLUSIVE_EXSVC))) And (0 = Instr(sUserAlreadyFound, OUTPUT_DELIMITER & objACE.Trustee & OUTPUT_DELIMITER)) And (0 = Instr(FMA_EXCLUSIVE_LIST, OUTPUT_DELIMITER & objACE.Trustee & OUTPUT_DELIMITER)) And (dPosition <> Len(objACE.Trustee)) And ((objACE.AccessMask And EX_FULLMailbox_AccessMask) <>0) And ((objACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED) Or (objACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE) )) Then			If (TotalACE < dArraySize) Then				sTrusteeAlias(TotalACE) = objACE.Trustee				sUserAlreadyFound = sUserAlreadyFound & objACE.Trustee & OUTPUT_DELIMITER			End If			TotalACE = TotalACE + 1				If ((objACE.AceFlags And ADS_ACEFLAG_INHERITED_ACE) = 0) Then				'Keep a list who explictly set FMA at mailbox level				sFMAExplicitAllow = sFMAExplicitAllow & objACE.Trustee & OUTPUT_DELIMITER						End If		ElseIf (( (objACE.AccessMask And EX_FULLMailbox_AccessMask) <>0 ) And (objACE.AceType = ADS_ACETYPE_ACCESS_DENIED)) Then			'Keep a list who denied FMA, use OUTPUT_DELIMITER as demiliter, 			'include both inherited and explicit set at mailbox level			sFMADeniedList = sFMADeniedList & objACE.Trustee & OUTPUT_DELIMITER					End If		Next	End If	Set objACL = NothingEnd FunctionFunction CheckSendAsACE (objDiscretionaryACL, sTAlias)Dim objACEDim intACECount	err.Clear 	fACESendasFound = 0	intACECount = objDiscretionaryACL.AceCount	If intACECount Then		For Each objACE In objDiscretionaryACL				err.Clear 			If ( (objACE.Trustee = sTAlias) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then				fACESendasFound = 1			End If			If (err.number <> 0) Then				objfileError.WriteLine("Could not read permissions for this user: " & sTAlias)				objfileError.WriteLine("Error: " & err.Description)				err.Clear				fError = True				fOneError = True			End If					Next				End If	End FunctionFunction IfFMAAllowed(sTrustee)	'FMA allow ACE has been found. Assume it's true	fFMAAllowed = True		If ( (0 <> Instr(sFMADeniedList, sTrustee)) And (0 = Instr(sFMAExplicitAllow, sTrustee))	) Then		'If Denied ACE is found, and no explicit allow FMA 		fFMAAllowed = False	End If End FunctionFunction CreateOutputFiles	Dim sTimeArray	Dim sTimeShort	Dim sTime		err.Clear	sTime = Time	sTimeShort = Split(sTime, " ")	sTimeArray = Split(sTimeShort(0), ":")	Set objFSO = CreateObject("Scripting.FileSystemObject")	sErrorsFileName = ERROR_FILE & "_" & sTimeArray(0) & "_" & sTimeArray(1) & "_" & sTimeArray(2) & ".txt"	Set objfileError = objFSO.OpenTextFile(sErrorsFileName, ForWriting, True, TristateTrue)	If (cScriptMode = MODE_SETALL Or cScriptMode = MODE_EXPORT)	Then		sExportFileName = EXPORT_FILE & "_" & sTimeArray(0) & "_" & sTimeArray(1) & "_" & sTimeArray(2) & ".txt"		Set objfileExport = objFSO.OpenTextFile(sExportFileName, ForWriting, True, TristateTrue)		End If		If err.number <> 0 Then		WScript.StdOut.WriteLine("Unable to create export or error files: " & err.Description)		objfileError.WriteLine("Unable to create export or error files: " & err.Description)		fError = True		fOneError = True		WScript.Quit		End IfEnd FunctionFunction DisplaySyntax	WScript.StdOut.WriteLine("Syntax:")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Export accounts with Full Mailbox Access that do not have Send As permission:")	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -Export")	WScript.StdOut.WriteLine("         NOTE: The list will be saved to Send_As_Export_HH_MM_SS.txt")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Grant Send As to all accounts listed in an export file:")	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -Import ""filename.txt""")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Grant Send As to all accounts in the domain with Full Mailbox Access:")	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -SetAll")	WScript.StdOut.WriteLine("         NOTE: Accounts will be listed in Send_As_Export_HH_MM_SS.txt")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("For all modes, errors are saved to Send_As_Errors_HH_MM_SS.txt")	WScript.Quit	End Function
SECUENCIA DE COMANDOS FINAL

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, pero no se limita a las garantías implícitas de comerciabilidad o idoneidad para un fin determinado. En este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas.

Para obtener más información acerca de la compatibilidad con las opciones que están disponibles en Microsoft, visite el siguiente sitio Web sitio: Los productos de terceros que analiza este artículo están fabricados por compañías independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, sobre el rendimiento o confiabilidad de estos productos.
XADM Blackberry Enterprise Server BES GoodLink Cisco unificada Mensajería RIM OWA

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 912918 - Última revisión: 12/09/2015 04:18:32 - Revisión: 1.0

Microsoft Exchange 2000 Server Standard Edition, Microsoft Exchange 2000 Enterprise Server, Microsoft Exchange Server 2003 Standard Edition, Microsoft Exchange Server 2003 Enterprise Edition

  • kbnosurvey kbarchive kbtshoot kbpending kbbug kbprb kbmt KB912918 KbMtes
Comentarios