5 votos

¿Condiciones de carrera en la secuencia de comandos de creación cuenta con cuenta de correo electrónico y sincronización de Office 365--cualquier buena manera además de retraso de tiempo para resolver

Tengo un script de powershell que yo uso para crear nuevos usuarios. Cada año se suman cientos de internos, por lo que la automatización es crucial. Alguien en el área de RRHH se ejecuta la secuencia de comandos, de manera que el script se supone que para ser infalible.

Estoy corriendo en una condición de carrera con dos nuevas características que se han añadido, y me gustaría resolverlo de una manera más confiable que el método actual (suspensión de 2 minutos), que todavía no funciona de manera intermitente.

1) licencia de Office 365 de activación. Puedo forzar una sincronización de Office 365 con nuestros ANUNCIOS locales mediante el uso de la Start-OnlineCoexistenceSync comando antes de intentar la activación de la licencia. Como lo que yo puedo decir, que no hay manera de verificar el estado de la sincronización. Así que me demora 2 minutos. En las pruebas de esto ha funcionado, pero en la producción funciona de manera intermitente. Supongo ampliar la espera iba a resolver, pero 2 minutos ya se siente mucho. Y, claramente, a veces es más largo de lo necesario, odio tener un retraso innecesario.

2) el Envío de un mensaje de correo electrónico de bienvenida. Las cuentas pueden tomar una cantidad de tiempo variable para crear (y, a veces no del todo), pero no quiero retrasar indebidamente la secuencia de comandos.

Cualquier sugerencias sobre cómo resolver?

3voto

Ryan Ries Puntos 33449

El Start-OnlineCoexistenceSync cmdlet debe producir un evento en el registro de sucesos (del servidor de directorio) con el IDENTIFICADOR de evento 4 y el origen del evento "Sincronización de Directorio" y decir algo como "La exportación se ha completado" que indicará que el directorio que se complete la sincronización.

Así que lo que quieres hacer es un script de Powershell esperar a que el evento pop-up. De esa manera usted sólo están a la espera mientras que usted necesita y no más. Por supuesto, usted querrá también de código en las condiciones de error como una cantidad máxima de tiempo que se espera para ese evento hasta que te rindas, etc.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X