En el siguiente escenario manejaremos la bitácora del servicio NetLogon, la cual se registra en el archivo netlogon.log, el cual se almacena en la ruta %windir%\Debug, podría ser cualquier archivo pero me gusta la idea de explicarlo con este específicamente.
Presentare dos soluciones (si es que les puedo llamar así) para tratar de abarcar más escenarios y así que eso le sea útil a mas personas.
Primero, en este caso utilizaremos WinRAR para archivar el archivo antiguo, además tendremos un repositorio común, el cual representaremos con la unidad Z, en la cual encontraremos una serie de folders llamados archive-%hostname% (%hostname% = el nombre de tu equipo).
Alternativamente podría agregar la ruta de instalación de WinRAR a la variable PATH, para asi no tener que especificar la ruta completa del utilitario (SETX PATH "%PATH%;C:\Program Files\WinRAR\" –M)
A continuación la serie de comandos para lograr nuestro objetivo.
# necesitamos detener el servicio para reemplazar la bitácora
Stop-Service netlogon
# esperamos unos segundos para que el servicio se detenga completamente
Start-Sleep -Seconds 7
#invocamos el utilitario RAR.exe, le indicamos crear un archivo llamado netlog-archiveYYYY-MM-DD-HH-MM-SS.rar (año-mes-día-hora-minuto-segundo), utilizaremos el nivel máximo de compresión (m5), indicamos el archivo a comprimir, eso sí solo el archivo, sin su ruta de carpetas (ep) y luego lo eliminamos (df).
"C:\Program Files\WinRAR\rar.exe" a Z:\archive-%hostname%\netlog-archive.rar -ag[YYYY-MM-DD-HH-MM-SS] -m5 C:\Windows\Debug\netlogon.log -ep -df
# ahora simplemente iniciamos el servicio y listo!
Start-Service netlogon
En el siguiente caso no tenemos un utilitario de compresión así que haremos un poco de rotación de bitácoras, tambien utilizaremos comandos de batch, en el ejemplo anterior el sabor era PowerShell asi que variemos un poco.
# eliminamos el archivo más antiguo (versión 0 = más reciente, versión 2= mas antiguo)
del C:\Windows\Debug\netlogon-2.log
# la version 1 es renombrada a version 2
ren C:\Windows\Debug\netlogon-1.log C:\Windows\Debug\netlogon-2.log
# la version 0 es renombrada a version 1
ren C:\Windows\Debug\netlogon-0.log C:\Windows\Debug\netlogon-1.log
# detenemos el servicio del netlogon
net stop netlogon
# esperamos un tiempo prudencial para que este se detenga por completo
Start-Sleep -Seconds 7
# renombramos el archivo original a version 0
ren C:\Windows\Debug\netlogon.log C:\Windows\Debug\netlogon-0.log
# iniciamos el servicio
net start netlogon
# esperamos un tiempo prudencial para que este inicie satisfactoriamente
Start-Sleep -Seconds 7
# ahora para referencia guardaremos la fecha de ejecución en el archivo aquí mencionado
date /t && time /t >>C:\Windows\Debug\renombradoLog.txt
# tambien registraremos el estado del servicio luego de ejecutar esta tarea
sc query netlogon >>C:\Windows\Debug\renombradoLog.txt
*En Windows Server 2008 no existe ni wait ni sleep por lo cual recurro al cmdlet Start-Sleep
**El comando now se puede usar para reemplazar la parte de “date /t && time /t”
Como vemos estas tareas son bastante flexibles y las líneas de una se pueden complementar con otras, también si usted gusta del sabor de WinZip podría entonces utilizar wzzip.
Espero esto les sea útil y les facilite un poco las cosas, hasta pronto!
Las andanzas de un fiebre de la consola, el que trata de escuchar en el 389 y responde el saludo con un "ehlo"... sumergido entre libros, foros, webcasts y otros. Un computin mas que desea continuamente aprender y compartir... ese es daemonRoot, ese soy yo!
August 09, 2010
July 31, 2010
Configurando mi Server Core...
Como te abras dado cuenta ciertos snap-ins que te permiten conectar remotamente a otros equipos no funcionan en Server Core... o al menos no hasta que hagamos los ajustes apropiados.
En lo personal yo agrupo mis Core para razones de parcheo y pues para no crear otra política más por ahí también configuro uno que otro parámetro para estos, desde luego hay excepciones y N casos, usted es quien conoce su ambiente/cliente.
Primero vamos a activar el Device Manager, esto lo haremos habilitando siguiente GPO “Computer Configuration/Policies/Administrative Templates/System/Device Installation/Allow remote access to the PnP interface”.
Ahora bien… hace un par de días tenía que crear ciertos arreglos de discos pero acá no hay consola de Disk Management! Claro, si iniciamos el servicio de Virtual Disk (net start VDS) y ajustamos las reglas del firewall (netsh advfirewall firewall set rule group=”Remote Volume Management” new enable=yes) podremos desde una consola remota manejar los discos de nuestro servidor.
Con el comando anterior podremos también habilitar otras consolas remotas, esto simplemente al ejecutar el mismo comando pero cambiando el nombre del grupo y así de sencillo se realizaran los ajustes adecuados en el Windows Firewall.
Event Viewer = netsh advfirewall firewall set rule group=”Remote Event Log Management” new enable=yes
Services = netsh advfirewall firewall set rule group=”Remote Service Management” new enable=yes
Shared Folders = netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=yes
Task Scheduler = netsh advfirewall firewall set rule group=”Remote Scheduled Tasks Management” new enable=yes
Reliability and Performance = netsh advfirewall firewall set rule group=”Performance Logs and Alerts” new enable=yes y también deberá ejecutarse este comando netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=yes
Windows Firewall with Advanced Security = netsh advfirewall firewall set rule group=”Windows Firewall Remote Management” new enable=yes
Hyper-V = netsh advfirewall firewall set rule group=”Windows Management Instrumentation (WMI)” new enable=yes y después necesitamos agregar el/los usuarios del dominio al grupo local de Distributed COM User, esto mediante el comando net localgroup “Distributed COM Users” /add daemonroot\dannycs
IPSec Management = cscript %systemroot%\system32\SCregEdit.wsf /im 1
Terminal Services (legacy) = cscript %systemroot%\system32\SCregEdit.wsf /cs 0
Si bien usted necesita implementar coutas de disco imagino ya noto que aunque podamos mapear la unidad esta opción no existe, por lo cual debemos ejecutar un par de pasos, el primero para habilitarle y el segundo para asignar las cuotas (en este ejemplo la cuota se habilitara para la unidad F, dándole al usuario dannycs una cuota de 1.5GBs y ejecutando la alerta al llegar a 1GB de utilización.
fsutil quota enforce F:
fsutil quota modify F: 1073741824 1610612736 dannycs
Como referencia puede también leer mi artículo anterior http://telnet25.blogspot.com/2010/05/server-core-rodc.html
Bueno, espero esto les sea útil y se diviertan mucho son sus Server Core.
En lo personal yo agrupo mis Core para razones de parcheo y pues para no crear otra política más por ahí también configuro uno que otro parámetro para estos, desde luego hay excepciones y N casos, usted es quien conoce su ambiente/cliente.
Primero vamos a activar el Device Manager, esto lo haremos habilitando siguiente GPO “Computer Configuration/Policies/Administrative Templates/System/Device Installation/Allow remote access to the PnP interface”.
Ahora bien… hace un par de días tenía que crear ciertos arreglos de discos pero acá no hay consola de Disk Management! Claro, si iniciamos el servicio de Virtual Disk (net start VDS) y ajustamos las reglas del firewall (netsh advfirewall firewall set rule group=”Remote Volume Management” new enable=yes) podremos desde una consola remota manejar los discos de nuestro servidor.
Con el comando anterior podremos también habilitar otras consolas remotas, esto simplemente al ejecutar el mismo comando pero cambiando el nombre del grupo y así de sencillo se realizaran los ajustes adecuados en el Windows Firewall.
Event Viewer = netsh advfirewall firewall set rule group=”Remote Event Log Management” new enable=yes
Services = netsh advfirewall firewall set rule group=”Remote Service Management” new enable=yes
Shared Folders = netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=yes
Task Scheduler = netsh advfirewall firewall set rule group=”Remote Scheduled Tasks Management” new enable=yes
Reliability and Performance = netsh advfirewall firewall set rule group=”Performance Logs and Alerts” new enable=yes y también deberá ejecutarse este comando netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=yes
Windows Firewall with Advanced Security = netsh advfirewall firewall set rule group=”Windows Firewall Remote Management” new enable=yes
Hyper-V = netsh advfirewall firewall set rule group=”Windows Management Instrumentation (WMI)” new enable=yes y después necesitamos agregar el/los usuarios del dominio al grupo local de Distributed COM User, esto mediante el comando net localgroup “Distributed COM Users” /add daemonroot\dannycs
IPSec Management = cscript %systemroot%\system32\SCregEdit.wsf /im 1
Terminal Services (legacy) = cscript %systemroot%\system32\SCregEdit.wsf /cs 0
Si bien usted necesita implementar coutas de disco imagino ya noto que aunque podamos mapear la unidad esta opción no existe, por lo cual debemos ejecutar un par de pasos, el primero para habilitarle y el segundo para asignar las cuotas (en este ejemplo la cuota se habilitara para la unidad F, dándole al usuario dannycs una cuota de 1.5GBs y ejecutando la alerta al llegar a 1GB de utilización.
fsutil quota enforce F:
fsutil quota modify F: 1073741824 1610612736 dannycs
Como referencia puede también leer mi artículo anterior http://telnet25.blogspot.com/2010/05/server-core-rodc.html
Bueno, espero esto les sea útil y se diviertan mucho son sus Server Core.
July 29, 2010
objectClass=Computer y los RODCs.
Cuando pensamos en RODC y la políticas de replicación de contraseñas normalmente pensamos en objetos tipo “usuario” pero recordemos que también los objetos tipo “computador” son un security principal, lo cual implica que tienen una contraseña. Según la definición un security principal es una entidad que puede ser identificada por su singularidad (determinada por su nombre de inicio de sesión y el SID), la cual necesita acceso a recursos (archivos compartidos, servicios u otros) gobernados por una autoridad de seguridad (en este caso AD).
Entonces el punto al que quiero llegar es que recordemos los objetos computadora al momento de configurar las políticas de replicación de contraseñas para nuestros RODCs.
Hasta pronto!
Entonces el punto al que quiero llegar es que recordemos los objetos computadora al momento de configurar las políticas de replicación de contraseñas para nuestros RODCs.
Hasta pronto!
July 28, 2010
El caso del GC que no era.
Hace unos días me contactaron para asistir en un caso… se trataba de un bosque con un único dominio y un solo controlador (existían anteriormente unos en Windows 2003, los cuales fueron reemplazados por este 2008), al tratar de promover un controlador secundario el proceso fallaba pues “no se podía contactar al catálogo global”.
Lo curioso es que en “Active Directory Sites and Services” el controlador aparecía como GC y si lo pensamos en un dominio con un único DC pues este debe de ser también GC.
Chequeando más a fondo encontré que el repadmin mostraba “IS_GROUP_CACHING_ENABLED” (esto significa que el controlador tiene activado el cache de membresías de grupos universales pero no es un GC), el Event Viewer… wow parecía un árbol de navidad con todas esas bolitas rojas y amarillas, PortQry nos indicaba que el puerto 3268 no estaba escuchando y un vistazo al RootDSE mostro “isGlobalCatalogReady=FALSE”
Como se pueden imaginar este es uno de esos casos que no se ven muy a menudo, hablando con el cliente este me comento que tenían un dominio hijo en el bosque, el cual no fue removido de la forma apropiada pero que ya se había corregido el problema. Esto me llevo a revisar las cosas por mí mismo y vaya la sorpresa ya que en la partición de Configuración encontré una referencia (objeto tipo crossRef ) a ese dominio inexistente (CN=Partitions,CN=Configuration,DC=dominioABC,DC=com). Según la teoría y mi lógica (la cual a veces es un poco… singular) un catálogo global es un resumen de la partición de dominio de cada dominio en el bosque, para crearlo se contacta a controladores de cada dominio para obtener un listado de los atributos que forman el PAS y esta se empieza a indexar, por lo cual si dicha referencia nos lleva a un lugar inexistente, el proceso nunca completaría, por lo cual removí dicho objeto y badabing badabum… habemus GC.
Esto además de lo singular del caso nos deja ciertas lecciones:
1- No asignar tareas si el personal no está seguro y confiado de la tarea a realizar.
2- Tener un plan de comprobación y desde luego que lo ejecute otra persona, no quien implemento el cambio.
3- Tener cerca la informacion de contacto de su buen amigo el consultor, quien lo podrá salvar de este tipo de situaciones.
Hasta la próxima!
Lo curioso es que en “Active Directory Sites and Services” el controlador aparecía como GC y si lo pensamos en un dominio con un único DC pues este debe de ser también GC.
Chequeando más a fondo encontré que el repadmin mostraba “IS_GROUP_CACHING_ENABLED” (esto significa que el controlador tiene activado el cache de membresías de grupos universales pero no es un GC), el Event Viewer… wow parecía un árbol de navidad con todas esas bolitas rojas y amarillas, PortQry nos indicaba que el puerto 3268 no estaba escuchando y un vistazo al RootDSE mostro “isGlobalCatalogReady=FALSE”
Como se pueden imaginar este es uno de esos casos que no se ven muy a menudo, hablando con el cliente este me comento que tenían un dominio hijo en el bosque, el cual no fue removido de la forma apropiada pero que ya se había corregido el problema. Esto me llevo a revisar las cosas por mí mismo y vaya la sorpresa ya que en la partición de Configuración encontré una referencia (objeto tipo crossRef ) a ese dominio inexistente (CN=Partitions,CN=Configuration,DC=dominioABC,DC=com). Según la teoría y mi lógica (la cual a veces es un poco… singular) un catálogo global es un resumen de la partición de dominio de cada dominio en el bosque, para crearlo se contacta a controladores de cada dominio para obtener un listado de los atributos que forman el PAS y esta se empieza a indexar, por lo cual si dicha referencia nos lleva a un lugar inexistente, el proceso nunca completaría, por lo cual removí dicho objeto y badabing badabum… habemus GC.
Esto además de lo singular del caso nos deja ciertas lecciones:
1- No asignar tareas si el personal no está seguro y confiado de la tarea a realizar.
2- Tener un plan de comprobación y desde luego que lo ejecute otra persona, no quien implemento el cambio.
3- Tener cerca la informacion de contacto de su buen amigo el consultor, quien lo podrá salvar de este tipo de situaciones.
Hasta la próxima!
July 13, 2010
Adiós Windows 2000.
Hoy es el día en que llegamos al final de este capítulo de la informática llamado Windows 2000… este marcó un gran paso en la informática y principalmente nos trajo a Active Directory y otros productos/tecnologías más, las cuales hacen mi día a día más divertido. A partir de este momento este producto no tiene soporte alguno así que ~úselo bajo su propio riesgo~ aunque realmente yo evitaría usarlo. http://support.microsoft.com/ph/1131#tab0
July 02, 2010
Exchange 2010... libro nuevo.
Para los que gustan de la lectura a partir de hoy está disponible un título nuevo sobre Exchange 2010 "Microsoft® Exchange Server 2010 Best Practices" , dicho libro incluye el Service Pack 1.
Según la descripción no es un libro para principiantes, así que imagino traerá valiosa información detallada y difícil de encontrar sobre el producto.
Según la descripción no es un libro para principiantes, así que imagino traerá valiosa información detallada y difícil de encontrar sobre el producto.
Le echaré un vistazo mientras espero el que publicara Tony Redmond alrededor de Octubre.
June 27, 2010
Perfiles de energía.
Al menos hablando de mi persona yo soy uno que casi no reviso los perfiles de poder/energía del equipo… si lo analizamos es importante que estos sean homogéneos en nuestro ambiente, por ejemplo al hacer implementaciones masivas ya sea por WDS o el producto de nuestro agrado, también para obtener un mayor rendimiento… los que me conocen saben que casi nunca utilizo mi portátil solo con su batería esto pues el rendimiento no es el mismo (sí, soy una persona complicada y lo acepto).
Resulta que la consola (bendita sea) nos brinda la herramienta POWERCFG que nos permite administrar los perfiles de poder del equipo, con lo cual podríamos hacer algo como “powercfg –export C:\tools\myPerfil.pow” y así exportar nuestro perfil favorito, luego con el parámetro “-import” lo importamos en otro equipo y lo configuramos como activo “-setactive” y así con tan solo unos comandos que podríamos inclusive aplicar por medio de una política estaríamos estandarizando los esquemas de poder de nuestros equipos, desde luego lo idóneo es hacer esto en equipos de similar configuración.
La opción que más me gusta (disponible en Win7 y 2008R2) es la de “–energy” que me crea un reporte de utilización de energía, lo que me encanta es la parte del reporte donde se especifica que proceso o controlador es responsable de cierta utilización del procesador significativamente superior a otros.Mediante una mayor comprensión de nuestros equipos podemos llegar a brindar un mejor servicio a nuestros clientes y en mi humilde opinión una herramienta como esta es de gran ayuda.
Saludos cordiales.June 24, 2010
El buscador de políticas (GPS).
Hace unos meses lo observe en beta y me gustó mucho… ya hoy se anunció su lanzamiento oficial, es la herramienta de búsqueda de GPOs.
Esto realmente nos hará la vida más sencilla pues a veces es un poco confuso encontrar la política exacta que necesitamos, échenle un ojo http://gps.cloudapp.net/
Que se diviertan!
Esto realmente nos hará la vida más sencilla pues a veces es un poco confuso encontrar la política exacta que necesitamos, échenle un ojo http://gps.cloudapp.net/
Que se diviertan!
Que servicios corre esta cuenta?
Me preguntaba un amigo sobre cómo buscar en varios equipos los servicios que se ejecutan bajo una cuenta determinada? En este caso lo primero que se me vino en mente fue el comando SC, pero luego de jugar un poco me di cuenta que PSSERVICE es más flexible.
Entonces vamos a preparar una lista que contenga el nombre de los equipos que vamos a revisar, la cual para efectos del ejemplo guardaremos en G: y le llamaremos listServers.txt.
El resultado de esto lo salvaremos en un archivo llamado serviceCheck.log en C:\output.
En el siguiente ejemplo la cuenta que me interesa es llamada DAEMONROOT\OCSRtcServ
G:\tools\|>for /f %a in (G:\listServers.txt) do (echo %a >>C:\output\serviceCheck.log) && (psservice \\%a config | findstr /I "SERVICE_NAME DAEMONROOT\OCSRtcServ" >>C:\output\serviceCheck.log)
El archivo tendrá un formato similar a:
hostName0
servico A
servico B
servicio C
cuentaQueLoEjecuta
servicio D
cuentaQueLoEjecuta
servicio E
servicio F
hostName1
servico A
servico B
servicio C
cuentaQueLoEjecuta
servicio D
cuentaQueLoEjecuta
servicio E
hostname2
servicio A
Si bien tan solo quiero información general sobre cuentas y servicios entonces cambio mi filtro a algo como "SERVICE_NAME SERVICE_START_NAME" y esto me dará una lista de todos los servicios y la cuenta que lo ejecuta en mi lista de equipos.
Hasta pronto.
Entonces vamos a preparar una lista que contenga el nombre de los equipos que vamos a revisar, la cual para efectos del ejemplo guardaremos en G: y le llamaremos listServers.txt.
El resultado de esto lo salvaremos en un archivo llamado serviceCheck.log en C:\output.
En el siguiente ejemplo la cuenta que me interesa es llamada DAEMONROOT\OCSRtcServ
G:\tools\|>for /f %a in (G:\listServers.txt) do (echo %a >>C:\output\serviceCheck.log) && (psservice \\%a config | findstr /I "SERVICE_NAME DAEMONROOT\OCSRtcServ" >>C:\output\serviceCheck.log)
El archivo tendrá un formato similar a:
hostName0
servico A
servico B
servicio C
cuentaQueLoEjecuta
servicio D
cuentaQueLoEjecuta
servicio E
servicio F
hostName1
servico A
servico B
servicio C
cuentaQueLoEjecuta
servicio D
cuentaQueLoEjecuta
servicio E
hostname2
servicio A
Si bien tan solo quiero información general sobre cuentas y servicios entonces cambio mi filtro a algo como "SERVICE_NAME SERVICE_START_NAME" y esto me dará una lista de todos los servicios y la cuenta que lo ejecuta en mi lista de equipos.
Hasta pronto.
check-auth@verifier.port25.com una excelente herramienta!
Les presento otra valiosa herramienta que nos brinda excelente información sobre nuestro sistema de correo, simplemente envíen un correo a check-auth@verifier.port25.com y obtendrán un grandioso reporte sobre su sistema de correo. Un par de minutos luego de enviarlo recibirás un correo de respuesta con información de SPF, Sender-ID, información sobre tu MX y mucho más!
June 18, 2010
Respaldando políticas.
Como me gusta facilitarme mi vida pues no tiene sentido hacer una restauración autoritativa tan solo por una simple política… y aún más cuando tal vez toda la algarabía es por algún cambio en la política el cual no detectamos a simple vista. O me van a decir que nunca les ha pasado que de repente tienen un “version mismatch” en alguna política y no tienen la más mínima idea de que diantres paso?!
Para estos casos lo que yo recomiendo es respaldar las GPOs a diario, en su propio esquema de respaldos.
Si miran la carpeta de instalación del GPMC notaran una carpeta llamada “Scripts” que está llena de cosas útiles! Entonces tomando algunos de estos scripts vamos a crear una tarea programada que respalde todas las políticas del dominio y luego basados en la fecha de creación se eliminen los respaldos antiguos.
El script se almacena en C:\Scripts\GPOScripts (van a necesitar el archivo WSF y el Lib_CommonGPMCFunctions.js), la información se respalda en E:\GPOs-backup.
Esta es una versión más simple, puede ser modificada fácilmente para ambientes multi-dominios, también en el caso de cierto cliente lo modifiqué para que mande por correo un resumen de la actividad y también comprima los respaldos.
Si gustan pueden también usar el script llamado GetReportsForAllGPOs.wsf para obtener un reporte de cada política en su formato favorito (XML o HTML).
del E:\GPOs-backUp\GPObu.old
ren E:\GPOs-backUp\GPObu.log GPObu.old
cd C:\Scripts\GPOscripts
cscript BackupAllGPOs.wsf //NoLogo E:\GPOs-backUp\daemonRoot /domain:daemonroot.com /comment:Backup done on %date% at %time% >>E:\GPOs-backUp\GPObu.log
type E:\GPOs-backUp\GPObu.log
find /I "Backup" >E:\GPOs-backUp\summaryGPO.txt
REM ### Search For GPOs that are older than 30 days ###
del E:\GPOs-backUp\filelist.log
forfiles /P E:\GPOs-backUp\daemonRoot /S /M * /D -7 /C "cmd /c echo @path" >>E:\GPOs-backUp\filelist.log
REM ### Deleting old files ###
for /f %%a in (E:\GPOs-backUp\filelist.log) do rmdir /S /Q %%a
REM ### Job completed ###
Bueno, espero este les dé una ayuda para desarrollar un mejor esquema de respaldos y tener una rápida solución con respecto a políticas.
Para estos casos lo que yo recomiendo es respaldar las GPOs a diario, en su propio esquema de respaldos.
Si miran la carpeta de instalación del GPMC notaran una carpeta llamada “Scripts” que está llena de cosas útiles! Entonces tomando algunos de estos scripts vamos a crear una tarea programada que respalde todas las políticas del dominio y luego basados en la fecha de creación se eliminen los respaldos antiguos.
El script se almacena en C:\Scripts\GPOScripts (van a necesitar el archivo WSF y el Lib_CommonGPMCFunctions.js), la información se respalda en E:\GPOs-backup.
Esta es una versión más simple, puede ser modificada fácilmente para ambientes multi-dominios, también en el caso de cierto cliente lo modifiqué para que mande por correo un resumen de la actividad y también comprima los respaldos.
Si gustan pueden también usar el script llamado GetReportsForAllGPOs.wsf para obtener un reporte de cada política en su formato favorito (XML o HTML).
del E:\GPOs-backUp\GPObu.old
ren E:\GPOs-backUp\GPObu.log GPObu.old
cd C:\Scripts\GPOscripts
cscript BackupAllGPOs.wsf //NoLogo E:\GPOs-backUp\daemonRoot /domain:daemonroot.com /comment:Backup done on %date% at %time% >>E:\GPOs-backUp\GPObu.log
type E:\GPOs-backUp\GPObu.log
find /I "Backup" >E:\GPOs-backUp\summaryGPO.txt
REM ### Search For GPOs that are older than 30 days ###
del E:\GPOs-backUp\filelist.log
forfiles /P E:\GPOs-backUp\daemonRoot /S /M * /D -7 /C "cmd /c echo @path" >>E:\GPOs-backUp\filelist.log
REM ### Deleting old files ###
for /f %%a in (E:\GPOs-backUp\filelist.log) do rmdir /S /Q %%a
REM ### Job completed ###
Bueno, espero este les dé una ayuda para desarrollar un mejor esquema de respaldos y tener una rápida solución con respecto a políticas.
June 08, 2010
Ouch, me equivoque de llave del producto...
Alguna vez les ha pasado que por una extraña suerte le instalan a su servidor la llave de la versión Standard, cuando ocupaban la Enterprise? Y aun mejor usted está utilizando Server Core...
Pues para estos casos existe el “Deployment Image Servicing and Management tool (dism.exe)”
Con el comando “dism /Online /Get-CurrentVersion” usted averiguara la versión actual del sistema operativo.
Ejecutando “dism /Online /Get-TargetEditions” sabrá cuáles son sus opciones de upgrade.
Para realizar el cambio o upgrade simplemente ejecute “dism /Online /Set-Edition:edicionDeseada /ProductKey:codigoDe25Caracteres” y listo!
Esta es una de las facilidades que hoy en dia ofrece Windows Anytime Upgrade.
Nos hablamos luego que tengo mucho que jugar con Exchange 2010 SP1, saludos.
Pues para estos casos existe el “Deployment Image Servicing and Management tool (dism.exe)”
Con el comando “dism /Online /Get-CurrentVersion” usted averiguara la versión actual del sistema operativo.
Ejecutando “dism /Online /Get-TargetEditions” sabrá cuáles son sus opciones de upgrade.
Para realizar el cambio o upgrade simplemente ejecute “dism /Online /Set-Edition:edicionDeseada /ProductKey:codigoDe25Caracteres” y listo!
Esta es una de las facilidades que hoy en dia ofrece Windows Anytime Upgrade.
Nos hablamos luego que tengo mucho que jugar con Exchange 2010 SP1, saludos.
May 29, 2010
Remote Desktop Connection Manager
Remote Desktop no es mi fuerte, pero échenle un ojo a este utilitario que fue publicado hace un par de días.
Sinceramente me gusta más que mi MMC personalizada con N iconos para Remote Desktop y me simplifica un poco las cosas!
http://www.microsoft.com/downloads/details.aspx?FamilyID=4603c621-6de7-4ccb-9f51-d53dc7e48047&displaylang=en
Sinceramente me gusta más que mi MMC personalizada con N iconos para Remote Desktop y me simplifica un poco las cosas!
http://www.microsoft.com/downloads/details.aspx?FamilyID=4603c621-6de7-4ccb-9f51-d53dc7e48047&displaylang=en
AD dañando, a limpiar Metadata.
Por una serie eventos desafortunados llegue a un punto en que mis controladores no replicaban entre si pues “habían” dos referencias de más a controladores inexistentes.
Si miramos la imagen adjunta notaremos que en el OU de Domain Controllers hay tres objetos, pero en la partición de Configuración hay cinco, eso no es bueno :S
Intente remover dichos objetos con LDP, ADmod y DSRM pero no lo logre por lo cual recurrí a la herramienta NTDSUtil, esto es lo que yo llamo “operando AD a corazón abierto”
Los comandos estan en MAYUSCULAS y los comentarios los antecede el signo numeral.
NTDSUTIL
# Selecciono la opción de limpieza del Meta Data.
MET CLE
# Me conecto y autentico a un controlador, este de hecho es mi maestro de operaciones para todos los roles.
SEL OPE TAR
CON
# “set cre” se utiliza para establecer los credenciales, especificando dominio, usuario y contraseña. Esto en caso de que no deseemos utilizar las credenciales actuales.
SET CRE daemonroot root Exchange14!
# Acá establezco la conexión con el servidor.
CON TO SER nemesis
QUI
# En esta sección voy a enlistar mis objetos con “lis” y luego selecciono el que deseo manipular con “sel” y el número del objeto.
LIS DOM
Found 1 domain(s)
0 - DC=daemonroot,DC=com
SEL DOM #
LIS NAM CON
Found 5 Naming Context(s)
0 - CN=Configuration,DC=daemonroot,DC=com
1 - DC=daemonroot,DC=com
2 - CN=Schema,CN=Configuration,DC=daemonroot,DC=com
3 - DC=DomainDnsZones,DC=daemonroot,DC=com
4 - DC=ForestDnsZones,DC=daemonroot,DC=com
SEL NAM CON #
LIS SIT
Found 1 site(s)
0 - CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
SEL SIT #
LIS SER IN SIT
Found 5 server(s)
0 - CN=NEMESIS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
1 - CN=HADES,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
2 - CN=AQUERONTE,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
3 - CN=KERBEROS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
4 - CN=CERBEROS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
# Notese el registro de los cinco controladores. En el siguiente paso seleccionare uno de estos para eliminarlo.
SEL SER #
# Verifico mi selección.
LIS CUR SEL
select operation target: LIS CUR SEL
Site - CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
Domain - DC=daemonroot,DC=com
Server - CN=CERBEROS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
DSA object - CN=NTDS Settings,CN=NEMESIS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
DNS host name - nemesis.daemonroot.com
Computer object - CN=NEMESIS,OU=Domain Controllers,DC=daemonroot,DC=com
QUI
# Y ahora elimino el servidor seleccionado, esto me dará una opción de confirmación, no hace daño leer y verificar que no nos estamos equivocando.
# En mi caso el “Computer Object” no aparecía, acá lo muestro por referencia.
REM SEL SER
# Una vez completado debemos seleccionar el siguiente objeto a remover con “sel xx”
# También podemos eliminar objetos debajo del controlador, dominios y/o contextos de nombre.
QUI
QUI
QUI
Luego de eliminar los objetos malignos y verificar el Metadata simplemente cierro la herramienta, ejecuto un “REPADMIN /SYNCALL” y espero llegar a un punto de convergencia.
Los comandos en NTDSUtil yo los acorto usando las primeras tres letras, para simplificarnos, si usted prefiere puede escribir “remove selected server” o evitar el desgaste de la yema de sus dedos y solo usar “rem sel ser”, es cuestión de gustos.
Como hemos visto NTDSUtil es una herramienta extremadamente útil, desde luego antes de utilizarla realice respaldos y verifique cada comando antes de emitirlo pues podría usted causar un severo daño a su directorio; gracias a Dios estas advertencias son ignoradas y asi yo tengo trabajo.
Si miramos la imagen adjunta notaremos que en el OU de Domain Controllers hay tres objetos, pero en la partición de Configuración hay cinco, eso no es bueno :S

Intente remover dichos objetos con LDP, ADmod y DSRM pero no lo logre por lo cual recurrí a la herramienta NTDSUtil, esto es lo que yo llamo “operando AD a corazón abierto”
Los comandos estan en MAYUSCULAS y los comentarios los antecede el signo numeral.
NTDSUTIL
# Selecciono la opción de limpieza del Meta Data.
MET CLE
# Me conecto y autentico a un controlador, este de hecho es mi maestro de operaciones para todos los roles.
SEL OPE TAR
CON
# “set cre” se utiliza para establecer los credenciales, especificando dominio, usuario y contraseña. Esto en caso de que no deseemos utilizar las credenciales actuales.
SET CRE daemonroot root Exchange14!
# Acá establezco la conexión con el servidor.
CON TO SER nemesis
QUI
# En esta sección voy a enlistar mis objetos con “lis” y luego selecciono el que deseo manipular con “sel” y el número del objeto.
LIS DOM
Found 1 domain(s)
0 - DC=daemonroot,DC=com
SEL DOM #
LIS NAM CON
Found 5 Naming Context(s)
0 - CN=Configuration,DC=daemonroot,DC=com
1 - DC=daemonroot,DC=com
2 - CN=Schema,CN=Configuration,DC=daemonroot,DC=com
3 - DC=DomainDnsZones,DC=daemonroot,DC=com
4 - DC=ForestDnsZones,DC=daemonroot,DC=com
SEL NAM CON #
LIS SIT
Found 1 site(s)
0 - CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
SEL SIT #
LIS SER IN SIT
Found 5 server(s)
0 - CN=NEMESIS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
1 - CN=HADES,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
2 - CN=AQUERONTE,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
3 - CN=KERBEROS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
4 - CN=CERBEROS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
# Notese el registro de los cinco controladores. En el siguiente paso seleccionare uno de estos para eliminarlo.
SEL SER #
# Verifico mi selección.
LIS CUR SEL
select operation target: LIS CUR SEL
Site - CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
Domain - DC=daemonroot,DC=com
Server - CN=CERBEROS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
DSA object - CN=NTDS Settings,CN=NEMESIS,CN=Servers,CN=daemonHQ,CN=Sites,CN=Configuration,DC=daemonroot,DC=com
DNS host name - nemesis.daemonroot.com
Computer object - CN=NEMESIS,OU=Domain Controllers,DC=daemonroot,DC=com
QUI
# Y ahora elimino el servidor seleccionado, esto me dará una opción de confirmación, no hace daño leer y verificar que no nos estamos equivocando.
# En mi caso el “Computer Object” no aparecía, acá lo muestro por referencia.
REM SEL SER
# Una vez completado debemos seleccionar el siguiente objeto a remover con “sel xx”
# También podemos eliminar objetos debajo del controlador, dominios y/o contextos de nombre.
QUI
QUI
QUI
Luego de eliminar los objetos malignos y verificar el Metadata simplemente cierro la herramienta, ejecuto un “REPADMIN /SYNCALL” y espero llegar a un punto de convergencia.
Los comandos en NTDSUtil yo los acorto usando las primeras tres letras, para simplificarnos, si usted prefiere puede escribir “remove selected server” o evitar el desgaste de la yema de sus dedos y solo usar “rem sel ser”, es cuestión de gustos.
Como hemos visto NTDSUtil es una herramienta extremadamente útil, desde luego antes de utilizarla realice respaldos y verifique cada comando antes de emitirlo pues podría usted causar un severo daño a su directorio; gracias a Dios estas advertencias son ignoradas y asi yo tengo trabajo.
May 28, 2010
Server Core / RODC
En la red en encontrado N artículos referentes a Windows Server Core, pero en mi humilde opinión algunos son muy genéricos y a otros les falta un par de cosas por lo cual aquí voy!
Primero les comento que los comando estarán escritos en Italics para así no confundirnos y el nombre de mi host es “cerberos”.
Tomando en cuenta que la instalación de Windows genera un nombre aleatorio para los equipos, esto será lo primero que cambiaremos.
Primero necesitamos saber el nombre actual, esto con el comando hostname, luego lo cambiaremos.
hostname
netdom renamecomputer "elNombreQueObtuvimosAnteriormente" /NewName:cerberos Necesitará reiniciar el equipo para que el cambio tome efecto.
shutdown /t 0 /r
Ahora vamos a asignarle una dirección IP estática.
netsh interface ipv4 show interface. Esto le mostrara las interfaces, en mi caso yo utilizo Hyper-V y por alguna razón mis Server Core (ya sea 2008 o 2008R2) no me reconocieron la NIC regular, por lo cual tuve que instalar un Legacy NIC. Acá el comando pnputil le puede ser útil para instalar las tarjetas u otros dispositivos.
netsh interface set interface name="Local Area Connection #" newname=LAN0. Por razones personales me irrita eso de "Local Area Connection #" así que utilizo una nomenclatura similar a LAN0, WAN1, TEAM2, BRIDGE0… por orden y un poco de estética, por lo cual con el comando anterior e renombrado la conexión.
netsh interface ipv4 set address name="LAN0" source=static address=0.0.0.0 mask=0.0.0.0 gateway=0.0.0.0 . Lista la dirección IP, mascara de subred y puerta de enlace.
netsh interface ipv4 add dnsserver name="" address=0.0.0.22 index=1
netsh interface ipv4 add dnsserver name="" address=0.0.0.23 index=2
Si usted tiene más de un servidor DNS agréguelos usando el comando anterior, eso sí aumentando el número del index, esto es la prioridad con que se consultaran los servidores DNS.
Ahora bien, confirmemos la comunicación y resolución de nombres.
Si el paso anterior es satisfactorio entonces procedamos a la promoción del controlador. Como sabemos el DCPROMO es una herramienta gráfica así que acá variaremos un poco las cosas y lo haremos por la consola, simplemente le brindaremos un archivo de respuesta y kaboom!
Afortunadamente podemos en el mismo Server Core invocar el notepad o bien crear el archivo y transferirlo por la red.
Este es un archivo que le puede servir de guía, nótese que al utilizarse el sistema elimina las contraseñas eliminadas en este, sea o no satisfactorio su resultado.
[DCINSTALL]
UserName=root
UserDomain=daemonroot
Password=
SiteName=daemonHQ
ReplicaOrNewDomain=ReadOnlyReplica
ReplicaDomainDNSName=daemonroot.com
DatabasePath="%systemroot%\NTDS"
LogPath="%systemroot%\NTDS"
SYSVOLPath="%systemroot%\SYSVOL"
ConfirmGC=yes
InstallDNS=yes
SafeModeAdminPassword=
RebootOnCompletion=yes
Si no deseamos un RODC podríamos poner el valor Replica en la línea “ReplicaOrNewDomain=”Para más información refiérase a http://support.microsoft.com/kb/947034
Bien ejecutemos el comando, como verán el proceso es bastante explicito, asi que cualquier error lo podremos ver fácilmente e investigar.
dcpromo /answer:archivo-respuesta.txt
En este punto su nuevo y feliz RODC debería de reiniciar y usted con suerte ordenar una pizza para celebrar.
Primero les comento que los comando estarán escritos en Italics para así no confundirnos y el nombre de mi host es “cerberos”.
Tomando en cuenta que la instalación de Windows genera un nombre aleatorio para los equipos, esto será lo primero que cambiaremos.
Primero necesitamos saber el nombre actual, esto con el comando hostname, luego lo cambiaremos.
hostname
netdom renamecomputer "elNombreQueObtuvimosAnteriormente" /NewName:cerberos Necesitará reiniciar el equipo para que el cambio tome efecto.
shutdown /t 0 /r
Ahora vamos a asignarle una dirección IP estática.
netsh interface ipv4 show interface. Esto le mostrara las interfaces, en mi caso yo utilizo Hyper-V y por alguna razón mis Server Core (ya sea 2008 o 2008R2) no me reconocieron la NIC regular, por lo cual tuve que instalar un Legacy NIC. Acá el comando pnputil le puede ser útil para instalar las tarjetas u otros dispositivos.
netsh interface set interface name="Local Area Connection #" newname=LAN0. Por razones personales me irrita eso de "Local Area Connection #" así que utilizo una nomenclatura similar a LAN0, WAN1, TEAM2, BRIDGE0… por orden y un poco de estética, por lo cual con el comando anterior e renombrado la conexión.
netsh interface ipv4 set address name="LAN0" source=static address=0.0.0.0 mask=0.0.0.0 gateway=0.0.0.0 . Lista la dirección IP, mascara de subred y puerta de enlace.
netsh interface ipv4 add dnsserver name="" address=0.0.0.22 index=1
netsh interface ipv4 add dnsserver name="" address=0.0.0.23 index=2
Si usted tiene más de un servidor DNS agréguelos usando el comando anterior, eso sí aumentando el número del index, esto es la prioridad con que se consultaran los servidores DNS.
Ahora bien, confirmemos la comunicación y resolución de nombres.
Si el paso anterior es satisfactorio entonces procedamos a la promoción del controlador. Como sabemos el DCPROMO es una herramienta gráfica así que acá variaremos un poco las cosas y lo haremos por la consola, simplemente le brindaremos un archivo de respuesta y kaboom!
Afortunadamente podemos en el mismo Server Core invocar el notepad o bien crear el archivo y transferirlo por la red.
Este es un archivo que le puede servir de guía, nótese que al utilizarse el sistema elimina las contraseñas eliminadas en este, sea o no satisfactorio su resultado.
[DCINSTALL]
UserName=root
UserDomain=daemonroot
Password=
SiteName=daemonHQ
ReplicaOrNewDomain=ReadOnlyReplica
ReplicaDomainDNSName=daemonroot.com
DatabasePath="%systemroot%\NTDS"
LogPath="%systemroot%\NTDS"
SYSVOLPath="%systemroot%\SYSVOL"
ConfirmGC=yes
InstallDNS=yes
SafeModeAdminPassword=
RebootOnCompletion=yes
Si no deseamos un RODC podríamos poner el valor Replica en la línea “ReplicaOrNewDomain=”Para más información refiérase a http://support.microsoft.com/kb/947034
Bien ejecutemos el comando, como verán el proceso es bastante explicito, asi que cualquier error lo podremos ver fácilmente e investigar.
dcpromo /answer:archivo-respuesta.txt
En este punto su nuevo y feliz RODC debería de reiniciar y usted con suerte ordenar una pizza para celebrar.
Ahora vamos con los últimos pasos, activar la llave del producto, activar Windows Update (aunque imagino tiene usted una implementación solida de WSUS), habilitar Remote Desktop o bien utilice psexec :-P
Los scripts que necistamos para estar tareas están en %systemroot%\system32.
Para ingresar el Product Key:
cscript slmgr -ipk abcde-12345-abcde-12345-abcde
Para activar su copia de Windows:
cscript slmgr -ato
Para habilitar las actualizaciones de Windows:
cscript %systemroot%\system32\scregedit.wsf /au 4
Para habilitar RDP:
cscript %systemroot%\system32\scregedit.wsf /ar 0
Para habilitar RDP atravez del firewall:
netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
Por último, en mi caso siempre instalo ciertos utilitarios y juguetes mis servidores, como soy muy perezoso me gusta ahorrar tecleos por lo cual en vez de navegar a mi ruta de utilitarios simplemente agrego esta a la variable del sistema llamada PATH, reinicio y listo!
SETX PATH "%PATH%;C:\tools" -M
Desde luego hay varias formas de promover un RODC, esta es tan solo una de ellas, espero mi aporte le sea útil
Los scripts que necistamos para estar tareas están en %systemroot%\system32.
Para ingresar el Product Key:
cscript slmgr -ipk abcde-12345-abcde-12345-abcde
Para activar su copia de Windows:
cscript slmgr -ato
Para habilitar las actualizaciones de Windows:
cscript %systemroot%\system32\scregedit.wsf /au 4
Para habilitar RDP:
cscript %systemroot%\system32\scregedit.wsf /ar 0
Para habilitar RDP atravez del firewall:
netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
Por último, en mi caso siempre instalo ciertos utilitarios y juguetes mis servidores, como soy muy perezoso me gusta ahorrar tecleos por lo cual en vez de navegar a mi ruta de utilitarios simplemente agrego esta a la variable del sistema llamada PATH, reinicio y listo!
SETX PATH "%PATH%;C:\tools" -M
Desde luego hay varias formas de promover un RODC, esta es tan solo una de ellas, espero mi aporte le sea útil
Hasta la proxima!
May 27, 2010
Lista de SMTP relays borrada.
Me he encontrado con un par de casos en donde se achaca al KB976323 haber eliminado la lista de SMTP relays. Así que les comento para que tomen las medidas preventivas antes de implementarlo. Imagino esto está en investigación y pronto saldrá una actualización para este parche. http://support.microsoft.com/kb/976323
De hecho si visitan el hipervínculo anterior notaran que se hizo una actualización al artículo el pasado 20 de Abril y en dicho artículo se recomienda manualmente respaldar la información del SMTP.
De hecho si visitan el hipervínculo anterior notaran que se hizo una actualización al artículo el pasado 20 de Abril y en dicho artículo se recomienda manualmente respaldar la información del SMTP.
May 20, 2010
Y que versión tenemos?
Saber la versión de un archivo es relativamente sencillo con el utilitario filever, pero y si necesito esta información de 100 equipos o más?
En este caso vamos a averiguar la versión del dcpromo.exe, la lista de equipos está en el archivo de texto que indica la línea del comando (G:\workingDir\lista-hosts.txt).
for /f %a in (G:\workingDir\lista-hosts.txt) do echo %a >>version-dcpromo.log & filever //%a/c$/Windows/system32/dcpromo.exe >> version-dcpromo.log
Y listo!
En este caso vamos a averiguar la versión del dcpromo.exe, la lista de equipos está en el archivo de texto que indica la línea del comando (G:\workingDir\lista-hosts.txt).
for /f %a in (G:\workingDir\lista-hosts.txt) do echo %a >>version-dcpromo.log & filever //%a/c$/Windows/system32/dcpromo.exe >> version-dcpromo.log
Y listo!
Rendimiento y almacenaje de Exchange...
Se queja usted del rendimiento que obtiene de su servidor de Exchange?
Veamos tres puntos rápidos sobre el almacenaje que nos podrían ayudar.
1- Por defecto Windows crea la partición a partir del sector 64 del disco, lo cual causa una alineación de la partición con la estructura del disco no optima (esto no aplica en Windows 2008).
Mientras que Diskpart.exe permite crear particiones con los sectores alineados, lo cual incrementa el rendimiento hasta en un 20%.
Si desea hacer pruebas de rendimiento a los discos puede utilizar WINSAT http://technet.microsoft.com/en-us/library/cc742157(WS.10).aspx
Como referencia sobre la creación de particiones adjunto estos hipervínculos http://support.microsoft.com/kb/929491 & http://technet.microsoft.com/en-us/library/cc770877(WS.10).aspx & http://support.microsoft.com/kb/300415
2- "Disk timeout is not set at default" curiosamente el ExBPA captura esto, pero en mi humilde opinión no lo marca con la severidad que merece. Eh visto casos donde una configuración incorrecta acá causa retrasos de hasta 15 minutos en el intercambio de correo, al ajustarlo apropiadamente y reiniciar el equipo el intercambio de correos con terceros se ejecutaba en menos de 1 minuto ( = cliente feliz = factura cancelada rápido = de compras en Amazon).
Para referencia http://technet.microsoft.com/en-us/library/aa997069(EXCHG.80).aspx
3- Es usted de esos que compra 1 disco de 500GBs y listo... mejor usemos arreglos! Son muchas las ocasiones en que tenemos la capacidad (tarjetas controladoras y bahías disponibles) pero simplemente no hacemos la inversión en discos (que cada día son más baratos), claro esta mentalidad cambia hasta que perdemos los datos... Y recuerden lo ideal es una partición o volumen para las bases de datos y otra para las bitácoras... de preferencia que los discos de los logs sean lo más rápidos (15K RPM) Igualmente se aconseja separar las colas de transferencia y la carpeta TEMP también ya que acá se ejecuta la conversión de contenido, en especial en organizaciones mixtas.

Hasta pronto!
Veamos tres puntos rápidos sobre el almacenaje que nos podrían ayudar.
1- Por defecto Windows crea la partición a partir del sector 64 del disco, lo cual causa una alineación de la partición con la estructura del disco no optima (esto no aplica en Windows 2008).
Mientras que Diskpart.exe permite crear particiones con los sectores alineados, lo cual incrementa el rendimiento hasta en un 20%.
Si desea hacer pruebas de rendimiento a los discos puede utilizar WINSAT http://technet.microsoft.com/en-us/library/cc742157(WS.10).aspx
Como referencia sobre la creación de particiones adjunto estos hipervínculos http://support.microsoft.com/kb/929491 & http://technet.microsoft.com/en-us/library/cc770877(WS.10).aspx & http://support.microsoft.com/kb/300415
2- "Disk timeout is not set at default" curiosamente el ExBPA captura esto, pero en mi humilde opinión no lo marca con la severidad que merece. Eh visto casos donde una configuración incorrecta acá causa retrasos de hasta 15 minutos en el intercambio de correo, al ajustarlo apropiadamente y reiniciar el equipo el intercambio de correos con terceros se ejecutaba en menos de 1 minuto ( = cliente feliz = factura cancelada rápido = de compras en Amazon).
Para referencia http://technet.microsoft.com/en-us/library/aa997069(EXCHG.80).aspx
3- Es usted de esos que compra 1 disco de 500GBs y listo... mejor usemos arreglos! Son muchas las ocasiones en que tenemos la capacidad (tarjetas controladoras y bahías disponibles) pero simplemente no hacemos la inversión en discos (que cada día son más baratos), claro esta mentalidad cambia hasta que perdemos los datos... Y recuerden lo ideal es una partición o volumen para las bases de datos y otra para las bitácoras... de preferencia que los discos de los logs sean lo más rápidos (15K RPM) Igualmente se aconseja separar las colas de transferencia y la carpeta TEMP también ya que acá se ejecuta la conversión de contenido, en especial en organizaciones mixtas.
Les adjunto esta imagen para su referencia.

Hasta pronto!
May 10, 2010
May 04, 2010
Cambiando el banner de SMTP.
Por defecto al hacer Telnet a nuestro servidor de correo la respuesta es algo como "220 hostFQDN Protocolo versión de Exchange ready at fecha, hora y zona horaria" lo cual en ciertos casos es problemático, por ejemplo cuando otros hacen un reverse lookup, esto pues la respuesta obtenida acá muy probablemente no concuerde con nuestro registro MX.
Por lo cual veremos cómo cambiar esto rápidamente mediante el siguiente comando:
Set-ReceiveConnector -Identity "Nemesis\25" -Banner "220 mail.daemonroot.com"
Notese que acá mi conector de recepción se llama "Nemesis\25", de paso cambiare un par de parámetros más como la cantidad máxima de destinatarios de 5000 a 500 (aunque mi organización soy y yo mi otro yo, pero 500 está bien), también cambio los parámetros de expiración de la sesión de 10 y 5 minutos a 5 y 3 en el tiempo de vida de la sesión y el tiempo máximo de inactividad respectivamente (nada hago con N sesiones abiertas por tanto tiempo en mi humilde conexión en mi humilde ambiente virtual).
Primero podría verificar la configuración actual, luego ejecuto cambios, verifico y reinicio el servicio del MSExchangeTransport para que los cambios tomen efecto.
Get-ReceiveConnector -Identity nemesis\25
Set-ReceiveConnector -Identity "Nemesis\25" -Banner "220 mail.daemonroot.com" -MaxRecipientsPerMessage 500 -DefaultDomain daemonroot.com -ConnectionTimeout 00:05:00 -ConnectionInactivityTimeout 00:03:00
Get-ReceiveConnector -Identity nemesis\25 FL Name,Banner,MaxRecipientsPerMessage,DefaultDomain,Bindings,ConnectionTimeOut,ConnectionInactivityTimeout,Server,Identity Restart-Service MSExchangeTransport
Por lo cual veremos cómo cambiar esto rápidamente mediante el siguiente comando:
Set-ReceiveConnector -Identity "Nemesis\25" -Banner "220 mail.daemonroot.com"
Notese que acá mi conector de recepción se llama "Nemesis\25", de paso cambiare un par de parámetros más como la cantidad máxima de destinatarios de 5000 a 500 (aunque mi organización soy y yo mi otro yo, pero 500 está bien), también cambio los parámetros de expiración de la sesión de 10 y 5 minutos a 5 y 3 en el tiempo de vida de la sesión y el tiempo máximo de inactividad respectivamente (nada hago con N sesiones abiertas por tanto tiempo en mi humilde conexión en mi humilde ambiente virtual).
Primero podría verificar la configuración actual, luego ejecuto cambios, verifico y reinicio el servicio del MSExchangeTransport para que los cambios tomen efecto.
Get-ReceiveConnector -Identity nemesis\25
Set-ReceiveConnector -Identity "Nemesis\25" -Banner "220 mail.daemonroot.com" -MaxRecipientsPerMessage 500 -DefaultDomain daemonroot.com -ConnectionTimeout 00:05:00 -ConnectionInactivityTimeout 00:03:00
Get-ReceiveConnector -Identity nemesis\25 FL Name,Banner,MaxRecipientsPerMessage,DefaultDomain,Bindings,ConnectionTimeOut,ConnectionInactivityTimeout,Server,Identity Restart-Service MSExchangeTransport

*Les recomiendo dejar el “220” pues este indica que el servidor está listo para la transferencia.
* Aplica para Exchange 2007 y 2010.
Subscribe to:
Posts (Atom)



