 TechNet Magazine September 2007

TechNet Magazine September 2007

Windows Vista: Implementación de Windows Vista con BDD 2007

Su organización está preparada para migrar desde Windows 2000 o Windows XP a Windows Vista y el proyecto está bajo su responsabilidad. No se preocupe. Aquí tiene una guía paso a paso de cómo puede usarse el Acelerador de soluciones para Business Desktop Deployment 2007 de forma que podrá simplificar la implementación de Windows Vista.

Michael Niehaus Windows Vista: Guía para las tecnologías de copias de seguridad de Windows Vista

Las copias de seguridad son algo que mucha gente suele pasar por alto hasta que ya es demasiado tarde. Pero no hay ninguna excusa para ello, especialmente ahora que el Centro de copias de seguridad y restauración de Windows Vista ofrece una variedad de características que facilitan la protección de datos contra la mayor parte de las formas de pérdida de datos. Averigüe cómo planear una estrategia completa de recuperación con Windows Vista.

Christine Fok Windows Server: 11 herramientas esenciales para administrar Active Directory

En una organización grande, incluso las tareas de Active Directory más frecuentes, tal como la adición y modificación de objetos, pueden ser tediosas y demandar mucho tiempo. Estas 11 herramientas pueden hacer que la administración de Active Directory sea mucho más fácil.

Laura E. Hunter Windows Server: Reanimación de objetos de desecho de Active Directory

Hay unos cuantos trucos y herramientas esenciales que deben incluirse en todos los planes de recuperación de desastres de Active Directory. La reanimación de objetos de desecho es una de estas técnicas y proporciona la única manera de recuperar objetos eliminados sin necesidad de que el controlador de dominio esté sin conexión. Aquí se proporciona una guía para buscar y recuperar objetos de desecho en Active Directory.

Gil Kirkpatrick Comunicaciones: Conexión de usuarios con Office Communications Server 2007

La comunicación unificada está aquí. Conozca Microsoft Office Communications Server 2007 y averigüe cómo pueden ayudarle a mejorar la productividad y la colaboración a larga distancia en su organización las características de mensajería integrada, voz, vídeo y conferencia.

Alan Maddison Nota del editor: Caminos al aprendizaje

Joshua Trupin Cartas: Respuestas a sus preguntas

Cuadro de herramientas: Nuevos productos para profesionales de TI

Greg Steen Preguntas y respuestas acerca de SQL: Cuellos de botella de CPU, restauración y traslado de bases de datos y mucho más

Edited by Nancy Michell Utility Spotlight: PageDefrag

La herramienta típica de desfragmentación de Windows puede optimizar la mayor parte de los archivos en su disco duro. Pero ciertos elementos, tales como el archivo de paginación de Windows y los subárboles del Registro, están más allá de los poderes de la mayoría de las herramientas de desfragmentación. Esta utilidad, creada por Mark Russinovich para Sysinternals, resuelve el problema al desfragmentar los archivos que otras herramientas dejan intactos.

Lance Whitney The Cable Guy: Modelos de host seguros y no seguros

Los host múltiples ofrecen una conectividad mejorada al conectarse simultáneamente a varias redes. Sin embargo, los servicios que se ejecutan en host múltiples tienen una vulnerabilidad mayor ante los ataques. Para ayudar a evitar estos ataques, echaremos una ojeada a distintos modelos de host múltiples y a su compatibilidad con Windows.

Joseph Davies Windows PowerShell: Protección del Shell

Al diseñar Windows PowerShell, Microsoft otorgó a la seguridad una función clave. Y eso se nota. Eche una mirada a algunas de las características y configuraciones clave de seguridad, como por ejemplo el control de credenciales o las directivas de ejecución, que garantizan que Windows PowerShell no se verá en los mismos problemas que tuvo VBScript.

Don Jones ¡Hola, encargados del scripting!: ¿Se puede salvar esta relación?

Las bases de datos relacionales se diseñan para atender relaciones uno a varios. Esto puede hacer un poco complicada la escritura de los scripts que consultan estas bases de datos. Pero no se preocupe, los encargados del scripting están aquí para mostrarle todo lo que necesita saber.

The Microsoft Scripting Guys Preguntas y respuestas sobre Exchange: Instalación, diarios de mensajes, opciones de almacenamiento y mucho más.

Obtenga información sobre cómo usar diarios de mensajes para supervisar el correo electrónico de su compañía, averigüe si los usuarios de Office 2003 pueden usar la mensajería unificada, analice las opciones de almacenamiento de la implementación de Exchange 2007, obtenga respuestas acerca de cómo conectar Exchange 2007 con versiones anteriores de Outlook y mucho más.

KC Lemson and Nino Billic Vigilancia de seguridad: Repercusiones a largo plazo del control de cuentas de usuario

A pesar de toda la cobertura informativa que se le ha dado, todavía hay muchas preguntas y conceptos erróneos acerca del Control de cuentas de usuario (UAC). En este artículo iniciaremos una discusión directa sobre lo que es UAC, sobre lo que no es y sobre la forma en que ello debe afectar a la manera en que administra sistemas.

Jesper M. Johansson Archivos de escritorio: Recuperación de equipos con Windows PE

Windows Vista ofrece algunas herramientas valiosas que hacen que la recuperación de sistemas sea bastante fácil de realizar. Sin embargo, para organizaciones grandes y diversificadas, estas soluciones listas para usar no suelen funcionar. Si se trata de una compañía grande que necesita crear soluciones personalizadas de recuperación automática, no se pierda este debate acerca de cómo crear su propia solución de recuperación con Windows PE.

Wes Miller Notas de campo: Comida gratis y sugerencias para cursos

Una buena educación del usuario es crítica para mantener los problemas al mínimo. Así que no se olvide de la importancia de ofrecer sesiones de aprendizaje informales y de moverse por las salas para ver si alguien tiene preguntas, que de otro modo no aparecerían.

Michael Dragone Confidencial de Windows: Actos de equilibrio de DLL conocidas

La característica de DLL conocidas se incluyó en Windows como una manera de mejorar el rendimiento. Averigüe cómo funciona, y examine más atentamente cómo esta característica ha cambiado con el tiempo.

Raymond Chen


 Windows Vista: Implementaci&#243;n de Windows Vista con BDD 2007
Windows Vista Michael Niehaus

Implementación de Windows Vista con BDD 2007
Resumen:
  • Acelerador de soluciones para BDD 2007
  • Preparación de la imagen
  • Controladores y paquetes de aplicaciones

Lo ha ido postergando, pero es ya la hora de dar el salto. Su organización tiene centenares, quizás miles, de equipos que necesitan migrar de Windows 2000 o Windows XP a Windows Vista. Y esta tarea la debe realizar su equipo.
Así que, ¿por dónde comenzar?
Si hace años que instala sistemas operativos de Windows®, habrá advertido probablemente que pocas cosas cambiaron entre la versión Windows NT® 3.5 y Windows XP. El proceso de instalación y configuración ha sido bastante coherente, las herramientas han sido las mismas y todo el proceso en su conjunto no se modificó. Pero con Windows Vista® se rediseño todo el proceso y hay muchas herramientas nuevas. Para obtener una buena introducción de estos cambios y de su impacto para usted, consulte el artículo "10 cosas que debe conocer acerca de la implementación de Windows Vista" de noviembre de 2006 de TechNet Magazine, también disponible en línea en la dirección technetmagazine.com/issues/2006/11/Deployment.

¿Cómo puedo aprender el nuevo proceso y las herramientas nuevas?
Hay dos opciones:
  1. Aprender cada nueva herramienta. Estudiar toda la documentación disponible. Identificar cómo se inserta cada uno de estas herramientas en los procesos existentes. Hacer los ajustes necesarios. Y luego validar los resultados.
  2. Saque partido de algo que ya ha realizado todas esas cosas por usted.
Seguramente podría elegir la primera opción, pero entonces esto sería un libro en vez de un artículo de una revista. Sugiero optar por la opción dos: este "algo" que va a usar es el Acelerador de soluciones de Business Desktop Deployment (BDD) 2007, que se está disponible para descarga en el Centro de recursos de implementación de Microsoft® en la dirección microsoft.com/desktopdeployment.
El Acelerador de soluciones para BDD 2007 es un conjunto de herramientas, una guía de orientación y una serie de procedimientos paso a paso que tienen como objetivo simplificar el proceso de implementación del sistema operativo de Windows. Une todos los nuevos procesos y herramientas de implementación que se presentan con Windows Vista.
Para iniciarse con BDD 2007, identifique un equipo con Windows XP o Windows Server® 2003 en el que desee instalar BDD 2007. Antes de realizar la instalación, deberá instalar primero Microsoft .NET Framework 2.0 y Microsoft Management Console (MMC) 3.0. A continuación, ya puede instalar BDD 2007. Una vez finalizada la instalación, consulte el documento Notas de la versión disponible en la carpeta de BDD 2007 del menú de inicio. A continuación, use el acceso directo de Deployment Workbench para iniciar el complemento MMC (consulte la figura 1).
Figura 1 Inicio de Deployment Workbench de BDD 2007
Figura 1 Inicio de Deployment Workbench de BDD 2007
Llegado a este punto, probablemente sería una buena idea consultar la información disponible en el Centro de información, especialmente la lista de comprobación de introducción y la documentación. Asegúrese de descargar las últimas noticias y listas de componentes. Para ello, haga clic con el botón secundario en el nodo Components y seleccione Check for updates.
Se necesita otro requisito previo: el Kit de instalación automatizada de Windows (AIK). Para muchas de las funciones que realiza, BDD 2007 necesita las herramientas incluidas en Windows AIK. Windows AIK puede obtenerse de dos maneras diferentes: puede descargarlo desde el Centro de descarga de Microsoft (go.microsoft.com/fwlink/?LinkId=85377) o usar el nodo "Components" de Deployment Workbench para que éste lo haga. De cualquier manera, se trata de una descarga bastante grande así que prepárese para que tarde un poco.
Después de haber instalado Windows AIK, puede proceder con la fase siguiente: reunir todos los archivos que se necesitan para realizar la implementación de Windows Vista.

¿Qué archivos se necesitan?
Llegado a este punto, deberá reunir todos los archivos de instalación de Windows Vista, las aplicaciones que desea instalar, los controladores necesarios para el hardware y cualquier actualización de Windows Vista o paquetes de idioma que desee. Todo esto se copiará a la estructura de directorios de recursos compartidos de distribución creada al instalar BDD 2007.
Creación de una imagen personalizada
Los pasos que se tratan en este artículo describen cómo se realiza la implementación de la imagen estándar de Windows Vista directamente desde el DVD del producto de Microsoft. Pero quizás desee implementar una imagen personalizada que contenga las aplicaciones adicionales (como por ejemplo, 2007 Microsoft Office system) que necesita en todos sus equipos. Es el debate típico: ¿es mejor usar una imagen mínima "ligera" e instalar todo lo demás en el momento de la implementación o bien, debería crear una imagen "densa" más grande con todo preinstalado? A menudo, la respuesta a esta pregunta depende de factores tales como el tiempo del que se dispone para realizar la implementación, del esfuerzo administrativo necesario para crear y mantener la imagen, de la capacidad de la red, etcétera. En la mayoría de los casos, la imagen más ligera es mejor, pero es decisión del usuario.
Independientemente de lo que decida incluir en la imagen, asegúrese de que el proceso de crear la imagen personalizada se automatizada completamente. Con la automatización, realizar actualizaciones en la imagen es tan sencillo como agregar otro paso en el proceso, volver a ejecutar el proceso entero y capturar una imagen nueva al final.
Así que, ¿cómo haría eso con BDD 2007? Es bastante sencillo:
  1. Cree una compilación para generar su propia imagen personalizada.
  2. Modifique la secuencia de tareas para esta compilación de modo que se incluyen todos los pasos personalizados.
  3. Realice una implementación "básica" desde el punto de implementación de laboratorio (arrancándolo desde Windows PE ISO) y seleccione dicha compilación.
  4. Especifique que desea unirse a un grupo de trabajo.
Al realizar esos pasos, el asistente de la implementación presentará otro panel.
Al elegir capturar una imagen del equipo de referencia, BDD 2007 ejecutará automáticamente Sysprep para preparar al sistema operativo para la captura. A continuación, rearrancará Windows PE y ejecutará ImageX.exe para capturar una imagen nueva de WIM. A continuación, podrá importar esa imagen a Deployment Workbench y usarla para la implementación siguiente.
Captura de una imagen de referencia con BDD 2007
Captura de una imagen de referencia con BDD 2007

En primer lugar, copie los archivos de instalación del sistema operativo. Inserte el DVD de Windows Vista (preferiblemente en medios de licencia por volumen, ya que no requerirá una clave de producto independiente para cada instalación). A continuación, haga clic con el botón secundario en el nodo Operating Systems en Deployment Workbench y seleccione el comando New para iniciar el Asistente para nuevo sistema operativo. Seleccione Full Set of Source Files y especifique la ruta de acceso a la unidad de DVD (o la ruta de acceso adecuada si ya copió estos archivos en otra ubicación). Acepte los valores predeterminados restantes para completar el asistente. Ahora debe visualizar una o más imágenes de sistema operativo (en función de los medios usados) en la lista que se muestra al hacer clic en el nodo Operating Systems.
Ahora vienen las aplicaciones. No es necesario agregar ninguna aplicación en este momento, pero si lo hace, podrá seleccionarla desde una lista al implementar Windows Vista. Lo ideal sería especificar una línea de comandos para instalar la aplicación sin necesidad de interacción con el usuario, ya que no desea que los usuarios tengan que esperar para que se inicie la instalación dicha aplicación. Para ver su aspecto, intente agregar una sola aplicación ahora. Para ello, seleccione el comando New del nodo Applications en Deployment Workbench y, a continuación, complete el Asistente para nueva aplicación (consulte la figura 2).
Figura 2 Adición de una aplicación a la mesa de trabajo
Figura 2 Adición de una aplicación a la mesa de trabajo
Ahora procederemos con los paquetes del sistema operativo. Hay tres tipos de paquetes que le podrían interesar: los paquetes de idioma, las actualizaciones de seguridad y los componentes de Windows Vista.
Los paquetes de idioma permiten que Windows Vista funcione en muchos idiomas diferentes. Para obtener más detalles acerca de los idiomas compatibles, consulte microsoft.com/globaldev/vista/Vista_Language_Support.mspx. Los paquetes de idioma, que están empaquetados como archivos CAB, pueden descargarse desde licensing.microsoft.com para todos los clientes de Software Assurance y están disponibles desde Windows Update al ejecutar Windows Vista Ultimate. (Observe que sólo Windows Vista Enterprise y Windows Vista Ultimate son compatibles con varios paquetes de idioma instalados en un equipo).
Las actualizaciones de seguridad de Windows Vista suelen lanzarse al mercado mensualmente y están disponibles para descarga en la dirección microsoft.com/technet/security/bulletinsandadvisories como archivos MSU individuales.
También puede incluir nuevos componentes de Windows Vista, como por ejemplo, Windows PowerShell™. Estos componentes están disponibles para descarga desde el Centro de descarga de Microsoft (microsoft.com/downloads) y también se empaquetan como archivos MSU.
En segundo plano, todos son de hecho componentes, también denominados paquetes, y de ahí el nodo OS Packages. Estos componentes pueden insertarse en Windows Vista o bien con conexión (mientras se ejecuta el sistema operativo) o bien sin conexión (mientras no se ejecuta el sistema operativo). En el caso de BDD 2007, siempre se insertan sin conexión, después de que la imagen de Windows Vista se haya ampliado y colocado en el disco, pero antes de arrancarla por primera vez.
Hay un desafío adicional: los archivos MSU están diseñados para instalarse con conexión, mientras se ejecuta Windows Vista, con el instalador de actualización WUSA.EXE. En este ejemplo, sin embargo, se deberían instalar estas actualizaciones sin conexión. Para ello, se necesitarán los archivos CAB que contienen los componentes reales. En realidad, estos archivos MSU son ellos mismos archivos CAB y contienen el verdadero archivo CAB de componentes. Estos archivos CAB se pueden extraer de los archivos MSU mediante un comando, como por ejemplo:
EXTRACT.EXE file.msu -F:*.CAB C:\
Esto le proporcionará el archivo CAB que necesita importar. Tenga en cuenta que Microsoft lanzó al mercado una revisión para BDD 2007 que realiza esta extracción automáticamente. Una vez instalada, este paso manual ya no es necesario; puede apuntar a BDD 2007 hacia los archivos MSU y éste se encargará del resto. Si desea obtener más detalles acerca de esta revisión, consulte support.microsoft.com/kb/937191.
Para agregar estos componentes en Deployment Workbench, haga clic con el botón secundario en el nodo OS Packages y seleccione New para iniciar el Asistente para nuevo paquete. Especifique la ruta de acceso a una carpeta que contenga los paquetes que desea agregar.
Por último, es posible que necesite controladores para el hardware del equipo en el que desea ejecutar Windows Vista. Busque los controladores que necesita en los sitios web de los proveedores o en Microsoft Update, descárguelos y, a continuación, extráigalos desde cualquier paquete en los que fueron empaquetados. Este último paso puede ser un poco complicado, pero el resultado debe ser los archivos de controladores sin formato: .inf, .sys, .dll y otros archivos relacionados necesarios para el controlador.
Una vez extraídos los archivos del controlador, haga clic con el botón secundario en el nodo Drivers y seleccione New Deployment para ejecutar el Asistente para nuevo controlador. Workbench examinará la estructura de directorios en busca de todos los archivos .inf, así que no se preocupe por limpiar las estructuras de directorios extraídas.
A medida que se importan los controladores, Deployment Workbench crea un catálogo de todos los detalles de controlador, incluidas las plataformas compatibles, el fabricante y la versión. También crea la lista de los identificadores Plug and Play (PnP) compatibles con el controlador.

¿Qué se hace con estos controladores? ¿Se insertan en la imagen del sistema operativo que se importó antes?
BDD 2007 no hace ninguna modificación a la imagen importada del sistema operativo. En vez de eso, los controladores se insertan durante el proceso de implementación. El proceso básico es el siguiente:
  1. Ejecute una utilidad (Microsoft.BDD.PnpEnum.exe) en el equipo que se está implementando y se identifican todas los identificadores PnP presentes en el equipo.
  2. Busque cada uno de estos identificadores PnP en el catálogo de controladores. Para cada correspondencia que se encuentre, copie los archivos de controlador que se necesitan en el equipo.
  3. Indique que la instalación de Windows Vista debe insertar los controladores en el sistema operativo después de que la imagen se haya aplicado en el disco, pero antes de que Windows Vista se inicie por primera vez. Seguir este orden es fundamental, ya que algunos de estos controladores, tales como los controladores de almacenamiento masivo, pueden ser necesarios para iniciar el sistema operativo.

¿Se puede realizar ya la implementación?
Quedan sólo unos pocos pasos más antes de que pueda realizar la implementación. En primer lugar, debe definir una compilación que asocia un sistema operativo en el recurso compartido de distribución con la configuración que debe usarse y la secuencia de tareas que se debe ejecutar para realizar la instalación y configuración del sistema operativo.
Para crear esta compilación, haga clic con el botón secundario en el nodo Builds y seleccione New para iniciar el Asistente para nueva compilación. Especifique un identificador de compilación (un valor sencillo de su elección, sin espacios ni caracteres especiales) junto con un nombre y descripción para la compilación, los cuales podrán verse al realizar la implementación del sistema operativo (consulte la figura 3). A continuación, seleccione el sistema operativo que desea instalar y especifique algunos de los valores de configuración básicos que se deben usar.
Figura 3 Especificación de la información básica de la compilación
Figura 3 Especificación de la información básica de la compilación

Bueno, ¿estamos listos para la implementación?
Se necesita una cosa más: un punto de implementación. En otras palabras, esto es un recurso compartido de red que contiene todos los archivos que se han reunido hasta ahora, todos los detalles de la compilación y las imágenes de Windows PE que se usan para el proceso de implementación. La creación de un punto de implementación funciona igual que los otros pasos que se han visto hasta ahora: haga clic con el botón secundario en el nodo Deployment Points y seleccione New. Seleccione Lab o la implementación de servidor único (consulte la figura 4) y acepte el resto de los valores predeterminados.
Figura 4 Elección del tipo de punto de implementación
Figura 4 Elección del tipo de punto de implementación
Tras finalizar el asistente, haga clic con el botón secundario en el nuevo punto de implementación del panel de lista y elija Update para generar el recurso compartido y las imágenes de Windows PE.
¿Recuerda los controladores que se agregaron antes? Estos mismos controladores, por lo menos los de red y los de almacenamiento masivo, también se necesitan para Windows PE. Por lo tanto, este proceso de actualización agregará automáticamente los controladores a la imagen de Windows PE.

¿Se puede realizar ya la implementación?
Sí. En primer lugar, intentemos realizar una implementación en un equipo nuevo. Tome el archivo LiteTouchPE_x86.iso de la carpeta \distribution\boot y grábelo en un CD-R mediante su software de escritura de CD favorito o bien, use la herramienta cdburn.exe, la cual se puede descargar del sitio web de Microsoft (go.microsoft.com/fwlink/?LinkID=77796). Arranque un equipo desde el CD, lo que iniciará Windows PE y mostrará el asistente de bienvenida inicial que se muestra en la figura 5.
Figura 5 Listo para empezar la implementación
Figura 5 Listo para empezar la implementación
Seleccione Run the Deployment Wizard y haga clic en Next para iniciarlo. Desde allí, puede elegir la compilación previamente definida, las aplicaciones agregadas y los paquetes de idioma importados. También tiene la opción de unirse a un dominio, especificar el nombre del equipo y establecer otros valores de configuración. Incluso puede especificar que desea capturar automáticamente una nueva imagen personalizada (con SYSPREP, Windows PE y ImageX para crear un nuevo archivo de imagen).
La implementación puede llevar un rato (en función de la velocidad y del tipo de equipo), pero no requerirá ninguna interacción del usuario. Cuando complete el asistente para la implementación, aparecerá una pantalla de resumen para que se tenga conocimiento acerca de cualquier advertencia o error registrados durante el proceso. Esto permite comprobar de forma rápida que la implementación se realizó correctamente: una pantalla de resumen amarilla o roja significa que se requiere prestar más atención, mientras que una blanca indica todo se realizó correctamente.
Ahora intente con un equipo que ya ejecuta Windows XP. Desde el símbolo de sistema, asigne una unidad a los recursos compartidos Distribution$ creados en el servidor BDD 2007 y, a continuación, ejecute LiteTouch.vbs para iniciar la implementación:
NET USE M: \\MyServer\Distribution$
cscript.exe M:\Scripts\LiteTouch.vbs
Esto iniciará el mismo asistente para la implementación anterior, salvo que ahora habrá algunas opciones nuevas (consulte la figura 6).
Figura 6 Opciones disponibles para un equipo que ejecuta Windows XP
Figura 6 Opciones disponibles para un equipo que ejecuta Windows XP
Si elige la opción Refresh this computer, se quitará el sistema operativo existente (después de tener la opción de capturar los datos de usuario y la configuración mediante la Herramienta de migración de estado de usuario, que se deberá descargar mediante el nodo Components, tal como se hizo antes con Windows AIK) y se realizará una instalación nueva de Windows Vista. También puede seleccionar la opción Upgrade this computer, que permite que la instalación de Windows Vista se encargue de actualizar el sistema operativo existente, conservando las aplicaciones, los datos y la configuración existentes del equipo. La opción que elija puede depender de varios factores; sin embargo, la mayoría de los usuarios elegirá realizar una actualización completa para empezar con un estado limpio y conocido.

Bueno, ¿hay algo más que se debe saber?
¿Qué hay de Windows XP?
¿Qué pasa si todavía implementa Windows XP? No se preocupe, aún puede usar BDD 2007 para obtener ayuda con el proceso. Se aplican los mismos pasos; simplemente use los archivos de instalación de Windows XP para crear la compilación inicial, capturar una nueva imagen de Windows Imaging de Windows XP (implementar una imagen de Windows XP es mucho más rápido que realizar una instalación desatendida) y, a continuación, usar el archivo WIM para implementaciones posteriores.
Tenga presente que, en comparación con las implementaciones de Windows Vista, hay algunas complicaciones adicionales al implementar Windows XP:
los controladores de almacenamiento masivo de Windows XP requieren una configuración adicional, tales como las carpetas TEXTMODE, la configuración de unattend.txt y la configuración de sysprep.inf. Por supuesto, dado que los controladores de almacenamiento masivo no pueden insertarse en imágenes existentes de Windows XP, deberá capturar una imagen nueva cada vez que necesite agregar un controlador de almacenamiento masivo adicional. Asimismo, las imágenes de Windows XP no son independientes de HAL, por lo que es posible que sea necesario disponer de dos o tres imágenes independientes. Por último, los paquetes de idioma y las actualizaciones de seguridad no pueden insertarse sin conexión en Windows XP, por lo que deberán instalarse una vez que éste esté listo y ejecutándose.
Si usa BDD 2007 para la implementación de Windows XP, estará completamente preparado para la de Windows Vista, una vez que se decida que es el momento para ello.

Bueno, aquí tan sólo hemos rasgado la superficie. Pero ver cómo funciona el proceso de extremo a extremo permite ver cómo funcionan todas las herramientas nuevas juntas sin necesidad de aprenderlas una por una. Ahora ya puede adentrarse en el mundo los scripts y los registros de BDD 2007 para ver lo que se ha realizado. Puede crear sus propias imágenes personalizadas y agregarlas a BDD 2007 para implementarlas en lugar de implementar la imagen estándar de Windows Vista. Puede crear medios de DVD o unidades flash USB con la imagen cargada en ellos. Puede integrar en el proceso SMS 2003 y OS Deployment Feature Pack.

¿Dónde se puede obtener más información?
Consulte todos los documentos que aquí pasé por alto: hay más de mil páginas disponibles, divididas entre los diferentes equipos que suelen participar en un proyecto de implementación. Consulte también el sitio microsoft.com/desktopdeployment mencionado anteriormente. Use el grupo de noticias microsoft.public.deployment.desktop donde profesionales de TI como usted hacen todo tipo de preguntas acerca de las implementaciones de Windows. Consulte los sitios web de terceros como, por ejemplo, deployvista.com y myitforum.com, en los que encontrará información en abundancia acerca de BDD 2007 y la implementación de Windows Vista. Consulte el nuevo libro Windows Vista Resource Kit (microsoft.com/mspress/books/9536.aspx) disponible de Microsoft Press. Lea mi blog en la dirección blogs.technet.com/mniehaus para consultar los análisis que he realizado sobre las diversas partes de BDD 2007. Hable con su representante local de Microsoft acerca de los seminarios de aprendizaje de BDD 2007 y Windows Vista que disponibles en su región. Por último, consulte la barra lateral de "Recursos de implementación" para obtener información adicional.
Y si dispone de Software Assurance para Microsoft Office System, asegúrese de sacar partido de Desktop Deployment Planning Services (microsoft.com/licensing/sa/benefits/deployment.mspx) para que Microsoft o un asociado de Microsoft le dedique unos días para dar con un plan, e incluso trabajar en un laboratorio de prueba de concepto en sus propias instalaciones.
Recursos de implementación
  • Centro de recursos de implementación de Microsoft microsoft.com/desktopdeployment
  • 10 cosas que debe conocer acerca de la implementación de Windows Vista technetmagazine.com/issues/2006/11/Deployment
  • Microsoft .NET Framework 2.0 go.microsoft.com/fwlink/?LinkId=94601
  • Microsoft Management Console (MMC) 3.0 para Windows Server 2003 x86 go.microsoft.com/fwlink/?LinkId=94602
  • Boletines y avisos de seguridad y microsoft.com/technet/security/bulletinsandadvisories

Michael Niehaus es ingeniero de diseño de sistemas del equipo de Aceleradores de soluciones de Microsoft. Se encarga de desarrollar las recomendaciones, herramientas y scripts para la implementación de escritorio en la empresa. Puede ponerse en contacto con él en la dirección michael.niehaus@microsoft.com.
© 2007 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.


 Windows Vista: Gu&#237;a para las tecnolog&#237;as de copias de seguridad de Windows Vista
Windows Vista Christine Fok

Guía para las tecnologías de copias de seguridad de Windows Vista
Resumen:
  • Copias de seguridad y restauración de archivos
  • Copias de seguridad y restauración de Windows Complete PC
  • Restaurar sistema
  • Instantáneas

Demasiadas son las personas que no piensan en crear una copia de seguridad de sus datos hasta que es demasiado tarde y los datos ya se han perdido. No debería ser nunca así, pero lamentablemente lo es. Windows Vista se propone facilitar la creación de copias de seguridad, con una amplia variedad de características para proteger perfectamente los datos.
La característica conocida Restaurar sistema se ha vuelto a diseñar para hacerla más sólido y compatible con un mayor número de escenarios de reparación de sistemas. El sistema de copias de seguridad de archivos se mejoró para conseguir que la protección de datos sea más sencilla y completa. Se agregaron dos características nuevas: Copia de seguridad y restauración de Windows® Complete PC e Instantánea.
Estas características dependen del servicio de instantáneas de volumen de una manera u otra. Se trata de un servicio que crea copias de un momento dado (denominadas "instantáneas") de un volumen y realiza el seguimiento de los cambios que se dan entre las instantáneas.
Aunque estas cuatro características, todos ellas disponibles desde el nuevo Centro de copias de seguridad y restauración (consulte la figura 1), permiten crear copias de seguridad y restaurar datos, cada una de ellas es muy diferente. Sin embargo, juntas ofrecen una amplia protección contra diversas formas de pérdidas de datos durante la vigencia de un equipo.
Figura 1 Centro de copias de seguridad y restauración de Windows Vista
Figura 1 Centro de copias de seguridad y restauración de Windows Vista

Copias de seguridad de archivos
Programación de copias de seguridad Complete PC
Programar un copia de seguridad Complete PC es sólo una manera de asegurarse de disponer de imágenes recientes de todo el equipo. Las copias de seguridad Complete PC no se pueden programar a través del panel de control, pero se puede solucionar creando una tarea nueva en el Programador de tareas. Si decide programar copias de seguridad Complete PC, es recomendable comprobar periódicamente que las copias de seguridad se completan correctamente. ¿Por qué es necesario hacer esto? Porque este método no se notifica a través de elementos emergentes si se producen errores en las copias de seguridad debido a problemas de espacio en disco u otros problemas transitorios. Pero eso no debe considerarse un sustituto para usar la función Copia de seguridad de archivos con regularidad. Dicho esto, mostraremos cómo se usa el Programador de tareas para programar copias de seguridad Complete PC:
  1. Vaya a Programador de tareas (que encontrará en la carpeta de herramientas Accesorios\Sistema en la parte Todos los programas del menú Inicio).
  2. Haga clic en Crear tarea.
  3. Vaya a la ficha General.
  4. Escriba un nombre descriptivo, como por ejemplo Copia de seguridad programada Complete PC.
  5. Si desea que la tarea se ejecute independientemente de si inició sesión o no, haga clic en Ejecutar tanto si un usuario inició sesión como si no.
  6. Haga clic en Ejecutar con los privilegios más altos.
  7. Vaya a la página Desencadenadores.
  8. Haga clic en Nuevo y, a continuación, especifique cuándo y con qué frecuencia deben tener lugar las copias de seguridad programadas.
  9. Vaya a la página Acciones.
  10. Haga clic en Nuevo.
  11. En Programa o script, escriba wbadmin.
  12. En Agregar argumentos (opcional), escriba el comando siguiente, ajustando la letra de la unidad de destino según sea necesario:
    Start backup –allcritical –backupTarget:D: -quiet
    En cambio, si desea incluir volúmenes adicionales que no sean volúmenes de sistema, arranque o entorno de recuperación de Windows, use la instrucción siguiente y sustituya las letras de la unidad adecuadas (delimitadas por comas) para E y F:
    Start backup –allcritical –backupTarget:D: -include:E:,F: -quiet
    Tenga en cuenta que el comando siempre debe incluir el marcador allcritical. No tener este marcador conlleva el riesgo de excluir volúmenes importantes del sistema de las copias de seguridad, lo que llevaría a errores durante la restauración.
  13. Configure cualquier otra configuración relacionada con esta tarea.
  14. Haga clic en Aceptar.

Imaginemos que me compro un equipo portátil nuevo. Después de copiar distintos archivos (fotos, documentos de Microsoft® Word, etc.) en mi sistema, instalar las aplicaciones y descargar las últimas actualizaciones de Windows, decido crear un copia de seguridad de los archivos. Por lo tanto, conecto un disco duro externo al equipo portátil y voy al Centro de copias de seguridad y restauración. Cuando hago clic en el botón Copias de seguridad de archivos, aparece un asistente que me guiará a través de la instalación. Me pregunta el destino de la copia de seguridad (en este caso, el disco duro externo), las categorías de archivos de las que se crearán copias de seguridad (por ejemplo, imágenes) y cuándo realizar dicha copia de seguridad.
La copia de seguridad de archivos usa un método basado en categorías para especificar de qué archivos deben realizarse copias de seguridad. Aunque el origen debe ser NTFS, el disco duro de destino puede estar formateado como NTFS o FAT. La determinación si un archivo se asocia a una categoría en particular se basa en tres factores: el tipo MIME, la asociación de la aplicación y la extensión del archivo.
Si desea realizar copias de seguridad de archivos que no se ajustan a ninguna categoría, elija la categoría Archivos adicionales. Esta categoría contiene los archivos con las extensiones que Windows no reconoce. Sin embargo, no es compatible con archivos del sistema y archivos ejecutables. De estos archivos no se realizan copias de seguridad a través de esta característica, ya que raramente representan los datos de usuario. Si realmente desea realizar copias de seguridad de archivos del sistema y archivos ejecutables con este mecanismo, puede colocarlos en un archivo .zip y seleccionar la categoría Archivos comprimidos en el asistente.
Como ésta es la primera vez que uso las características de copias de seguridad en mi equipo portátil nuevo, una copia de seguridad completa, que es un copia de seguridad completa de todos los archivos de las categorías seleccionadas, se realiza enseguida. A partir de entonces, sólo se realizan copias de seguridad incrementales. El término incremental en el contexto de copia de seguridad de archivos se refiere al seguimiento sólo de los archivos nuevos o actualizados. Por ejemplo, si tiene un documento Word antiguo y realiza algunos cambios en él, la herramienta de copia de seguridad de archivos guardaría copias completas del documento antiguo y del actualizado. (La recopilación de una única copia de seguridad completa y la secuencia de copias de seguridad incrementales creadas a partir de entonces se las llama conjunto de copias de seguridad).
En lugar de realizar copias de seguridad incrementales indefinidamente, deberá realizar de vez en cuando copias de seguridad completas. Los mensajes para hacerlo se basan en factores como el tiempo desde la última copia de seguridad completa, cuántos archivos se están copiando, en cuántos CDs o DVDs se han realizado las copias de seguridad, etcétera. Esto es para asegurar que siempre haya disponible una copia de seguridad completa de línea de base.
Los datos de los que se hacen copias de seguridad se almacenan como archivos .zip (con un tamaño máximo de 200 MB cada uno). Esto hace que los datos sean más accesibles de forma universal. Por ejemplo, se pueden restaurar los datos para un equipo que no ejecuta Windows Vista si se examinan directamente los medios de copias de seguridad. Los datos de copia de seguridad se almacenan en archivos independientes y pueden abarcar varios discos. Si un disco da algún error, aún se puede tener acceso a los datos de la copia de seguridad realizada en los otros medios.
En las copias de seguridad de archivos, el Servicio de instantáneas de volumen se usa para crear copias coherentes de archivos que están abiertos o en uso por las aplicaciones. Durante el proceso de copia de seguridad, la aplicación realiza la lectura de archivos a partir de estas copias coherentes. Esto es de gran utilidad, por ejemplo, a la hora de realizar una copia de seguridad de un archivo .pst que Microsoft Outlook ® abre constantemente. El Servicio de instantáneas de volumen garantiza que la copia de seguridad del archivo .pst se encuentra en buen estado de modo que se pueda obtener acceso a ella durante la restauración.
Las copias de seguridad de archivos no se eliminan automáticamente. Sin embargo, si dispone de poco espacio, se pueden eliminar manualmente. Un consejo: es mejor eliminar siempre un conjunto completo de copia de seguridad en vez de eliminar las copias de seguridad incrementales e individuales.
Aparte, debo indicar también que debería evitar copiar las copias de seguridad de archivos en una ubicación diferente. Si debe hacerlo por algún motivo, tenga en cuenta que sólo funcionará si se mueve un único medio de copia de seguridad original a otro único medio de destino. Por ejemplo, puede copiar los datos de copia de seguridad de un CD a un DVD, pero no puede copiarlos desde varios CDs a un único DVD. Al mover una copia de seguridad, deberá copiar la carpeta de copias de seguridad con el nombre del equipo y el archivo mediaid.bin, ambos ubicados en la raíz de los medios de copias de seguridad. Tenga en cuenta que si desea restaurar un archivo movido, deberá seleccionar Restauración avanzada | Restaurar archivos y carpetas a partir de una copia de seguridad realizada en otro equipo desde el panel de control de copias de seguridad para llegar a esos archivos, ya que el catálogo de copia de seguridad del equipo no conocerá esta ubicación de la copia de seguridad nueva.

Copias de seguridad Complete PC
Con todo instalado y configurado en mi equipo portátil nuevo, deseo realizar una copia de seguridad completa, protegerlo todo, incluido el sistema operativo, las aplicaciones instaladas, los valores de configuración y las actualizaciones. Uso la característica Copia de seguridad Complete PC que puede, a continuación, usarse para recuperar mi equipo en caso de que se produzca un error en el disco duro u otro desastre. No tendría que volver a instalar todas las aplicaciones una por una y volver a establecer todos los valores de mi configuración. En una primera ejecución, esta característica realiza una copia de seguridad completa de todos los bloques en todos los volúmenes seleccionados, salvo los bloques que no tienen información almacenada. Las copias de seguridad posteriores tienen diferenciales en el nivel de bloques (obtendrá más detalles acerca más adelante).
Después de crear las copias de seguridad, se actualiza el panel de control del Centro de copias de seguridad y restauración (consulte la figura 2). Ahora proporciona información como, por ejemplo, la fecha de creación de la copia de seguridad y dónde se almacenó.
Figura 2 Centro de copias de seguridad y restauración proporciona detalles acerca de las copias de seguridad anteriores
Figura 2 Centro de copias de seguridad y restauración proporciona detalles acerca de las copias de seguridad anteriores
Aunque ambas opciones realizan copias de seguridad, la característica Copia de seguridad Complete PC funciona totalmente de forma distinta de Copia de seguridad de archivos. La función Copia de seguridad Complete PC crea una copia de seguridad del nivel de bloques del equipo completo en un formato de disco duro virtual (.vhd). Durante la primera copia de seguridad completa, el motor examina el disco de origen y copia los bloques que contienen datos en un archivo .vhd almacenado en el disco del destino. Aunque los datos de copia de seguridad no se comprimen, son compactos.
La próxima vez que se realice un copia de seguridad Complete PC, sólo los datos nuevos y modificados se escribirán en el archivo .vhd y los datos anteriores del mismo bloque se trasladarán al área del almacenamiento de la instantáneas. El Servicio de instantáneas de volumen se usa para calcular las diferencias entre instantáneas tomadas, así como para administrar el proceso de mover los datos antiguos fuera del área de instantáneas en el disco de destino (consulte la figura 3). Este método hace que la creación de copias de seguridad sea rápida (ya que sólo se realizan copias de seguridad de los bloques modificados) y eficaz (ya que los datos se almacenan de una manera compacta). Tenga en cuenta que la aplicación de copia de seguridad define la cantidad máxima de espacio de almacenamiento de instantáneas disponible en el disco de destino. Para obtener un procedimiento paso a paso sobre el uso periódico o automático del sistema de copias de seguridad Complete PC, consulte la barra lateral "Programación de copias de seguridad Complete PC".
Figura 3 Cómo se mueven los datos en una copia de seguridad y restauración Complete PC
Figura 3 Cómo se mueven los datos en una copia de seguridad y restauración Complete PC
Al restaurar los datos, los bloques se restauran en su ubicación original. Si desea restaurarlos desde una copia de seguridad más antigua, el motor lee desde el área de almacenamiento de instantáneas y restaura los bloques apropiados.
Tenga en cuenta que las copias de seguridad Complete PC sólo pueden realizar copias de seguridad de discos formateados en NTFS. Si el destino de la copia de seguridad es un disco duro, necesitará también que esté formateado en NTFS.

Restaurar sistema
La opción Restaurar sistema está habilitada de forma predeterminada. Para obtener acceso al Asistente para restaurar sistema, seleccione Reparar Windows con Restaurar sistema, disponible en la parte superior izquierda del Centro de copias de seguridad y de restauración (también se puede usar carpeta Accesorios\Herramientas del sistema de la parte Todos los programas del menú Inicio). Si selecciono "Elegir otro punto de restauración" y hago clic en Siguiente, puedo ver que ya se crearon puntos de restauración en distintos puntos mientras configuraba mi equipo portátil, instalaba aplicaciones y realizaba copias de seguridad.
Los puntos de restauración se activan de forma predeterminada sólo en el volumen de arranque, incluso en un sistema donde el disco duro tiene varios volúmenes. Los puntos de restauración se crean automáticamente durante instalaciones de aplicaciones y de controladores y diariamente en todos los volúmenes seleccionados (si es que no se tomó ya ese punto de restauración en ese día). Los puntos de restauración también se pueden crear manualmente si selecciona la opción Protección del sistema en el applet del panel de control del sistema. Las instantáneas creadas durante la operación Copia de seguridad de archivos y Copia de seguridad Complete PC también se pueden usar como puntos de restauración.
En Windows XP, la opción Restaurar sistema usa un filtro de sistema de archivos para realizar el seguimiento de los cambios en los archivos del sistema. En Windows Vista, la opción Restaurar sistema usa el Servicio de instantáneas de volumen para realizar el seguimiento de los cambios en el nivel de bloques sobre los volúmenes seleccionados. De este modo, la opción Restaurar sistema será más robusta y permitirá una variedad más amplia de situaciones de reparación.
Otra función nueva; la opción Restaurar sistema ahora puede ejecutarse aunque la instalación normal de Windows esté sin conexión. Esto se realiza con la opción Entorno de recuperación de Windows, que permite reparar el sistema incluso si Windows no puede arrancarse.

Instantáneas
La instantánea es casi invisible. Está habilitada de forma predeterminada y no requiere que el usuario realice entradas. Si un usuario necesita alguna vez restaurar un archivo, es probable que será la primera vez que observe esta característica. Expone básicamente las copias de un momento dado de los archivos que cree el Servicio de instantáneas de volumen.

Administración del espacio de instantáneas
Hay espacios de almacenamiento reservados para instantáneas en los volúmenes activos y en el disco de copia de seguridad para la copia de seguridad Complete PC. Se pueden comprobar los valores de espacio de almacenamiento usado, asignado y máximo de las instantáneas si ejecuta el comando siguiente desde un mensaje elevado de comandos:
VSSAdmin list ShadowStorage
La opción Used indica la cantidad de espacio que las instantáneas están usan; la opción Allocated indica la cantidad de espacio reservado para instantáneas (y así no puede usarse para otros fines); la opción Maximum es el límite de tamaño que pueden ocupar las instantáneas.
La asignación de espacio para instantáneas es automática, lo que significa que el usuario no la puede establecer. El espacio nuevo se asigna en incrementos fijos siempre que se agote el espacio anteriormente asignado. Esto es la razón por la cual el valor que se muestra para el espacio usado es siempre inferior al valor que se visualiza para el espacio asignado.
Para el volumen activo, el espacio de almacenamiento máximo de instantáneas permitido se determina cuando se crea la primera instantánea; normalmente cuando se activa por primera vez el sistema de restauración y se crea un punto de restauración durante la instalación. El valor se establece en el 30 por ciento del espacio disponible o en el 15 por ciento del tamaño global de del volumen, el que sea menor. Este tamaño máximo es estático. No cambiará cuando haya más o menos espacio disponible, ni cambiará después de que se haya ajustado el tamaño del volumen.
Sin embargo, se puede ajustar el tamaño de esta área de almacenamiento con la herramienta VSSAdmin desde un símbolo de sistema con privilegios elevados. Por ejemplo, el comando para aumentar el tamaño máximo de almacenamiento a 15 GB en C:\ sería:
VSSAdmin Resize ShadowStorage /For=C: /On=C: /MaxSize=15GB
Esta herramienta tiene sus orígenes en Windows Server®, donde las instantáneas de un volumen en particular podían mantenerse en otro volumen. En Windows Vista, las instantáneas de un volumen se mantienen en el mismo volumen. Por lo tanto, el volumen "para" y "en" debe ser el mismo.
En cambio, el disco de destino de la copia de seguridad para la copia de seguridad Complete PC tiene un tamaño fijo máximo de almacenamiento para las instantáneas del 30 por ciento del espacio en disco. Este valor se controla mediante la opción Copia de seguridad Complete PC y no puede modificarse manualmente. Este espacio de almacenamiento de instantáneas se usa para almacenar incrementales durante la copia de seguridad Complete PC.
En cualquier momento, pueden mantenerse hasta 64 instantáneas en un volumen, siempre y cuando haya espacio suficiente en el área de almacenamiento de instantáneas. Cuando se llega al límite máximo de espacio, las instantáneas más antiguas se eliminan para dejar espacio a las nuevas. Por lo tanto, los puntos de restauración anteriores para la opción Restaurar sistema se eliminan cuando se alcanza el límite de almacenamiento de instantáneas en el volumen activo y las copias de seguridad Complete PC antiguas se eliminan cuando se alcanza este límite en el disco de copias de seguridad. Además, almacenar y editar otros datos en el disco de copias de seguridad pueden intervenir en el proceso normal de vencimiento de las copias de seguridad antiguas, y hacer que éstas se eliminen antes de tiempo.

Restauración de un archivo con una instantánea
Ahora, supongamos que he usado mi equipo portátil durante un tiempo para crear algunas presentaciones. Las terminé y las envié a mis clientes. Un mes más tarde, estoy con proyectos nuevos y he eliminado estos archivos. Luego, mi gerente me pide una copia de las presentaciones anteriores. Y aquí es cuando la instantánea resulta verdaderamente útil.
Hay dos maneras de buscar copias de archivos eliminados. Primero, si sé dónde se almacenó el archivo, simplemente se hace clic botón secundario en la carpeta que contiene el archivo eliminado y se selecciona "Restaurar versiones anteriores". Desde allí, elige una fecha que contiene la versión deseada del archivo eliminado (consulte la figura 4), hace clic en Abrir y, a continuación, copia el archivo de destino en otra ubicación del volumen vivo. Esta operación de copia es tan rápida como una copia normal de archivos.
Figura 4 La restauración de un archivo eliminado
Figura 4 La restauración de un archivo eliminado
Si olvida dónde se almacenó el archivo, puede abrir la versión anterior de la carpeta principal más cercana en el árbol de archivos y realizar una búsqueda desde allí. Por ejemplo, si olvida una carpeta determinada pero sabe que estaba en alguna subcarpeta ubicada dentro de Documentos, puede buscar la versión anterior de Documentos si escribe el nombre del archivo (completo o parcial) en el cuadro de búsqueda situada en la esquina superior derecha de la ventana del Explorador de Windows, tal como se muestra en la figura 5. Observe que la funcionalidad de búsqueda de instantáneas no funciona en la carpeta raíz. Y dado que las instantáneas no están indizadas, el tiempo de búsqueda puede ser más largo que buscar en un volumen activo.
Figura 5 Búsqueda de la versión anterior de un documento al escribir un nombre de archivo parcial
Figura 5 Búsqueda de la versión anterior de un documento al escribir un nombre de archivo parcial

Restauración de un archivo a partir de una copia de seguridad de archivos
Las instantáneas no están disponibles para siempre, ya que se eliminan de vez en cuando para administrar el espacio disponible. Si necesita un archivo que ya no está disponible con este método, puede recurrir a las copias de seguridad de archivos programadas. Seleccione simplemente la opción Restaurar archivos del Centro de copias de seguridad y restauración y elija la fecha de la copia de seguridad que contiene la presentación eliminada. Al hacer clic en el botón Agregar archivos, se abre un cuadro de diálogo de archivos que permite navegar por la copia de seguridad. Después de seleccionar el archivo deseado, tiene la opción de restaurar el archivo en la misma ubicación o en una diferente.
Es bueno tener en cuenta que la opción de restauración de archivos sólo muestra las copias de seguridad contenidas en el último conjunto de copias de seguridad. Para ver las copias de seguridad desde un conjunto de copias de seguridad anterior, seleccione Restauración avanzada y, a continuación, los archivos de una copia de seguridad anterior realizada en esta opción del equipo. En ocasiones en que no encuentre una copia de seguridad anterior mediante esta opción, seleccione Restauración avanzada y, a continuación, los archivos de restauración de un copia de seguridad realizada en una opción diferente del equipo. Esto puede suceder porque el catálogo de copias de seguridad del equipo se recorta cuando se hace demasiado grande.

Restauración de un archivo a partir de la copia de seguridad Complete PC
Por motivos de rigurosidad, debo mencionar que una copia de seguridad Complete PC puede usarse para restaurar archivos individuales. Aunque está diseñada para realizar la restauración en el nivel de volumen, la opción Copia de seguridad Complete PC almacena los datos en el formato .vhd, y esto significa que se puede usar la herramienta de montaje de archivos VHD sin conexión para tener acceso los archivos individuales y poder restaurarlos. (En el momento de escribir este artículo, la herramienta de montaje de archivos VHD sólo se encuentra disponible como parte de Microsoft Virtual Server 2005 R2 SP1, que puede descargarse desde microsoft.com/technet/prodtechnol/eval/virtualserver.) Para montar la copia de seguridad, abra un símbolo del sistema con privilegios elevados y vaya a Microsoft Virtual Server\Vhdmount. El comando es:
vhdmount /m [path of the .vhd file] [drive letter to assign to the virtual hard drive]
Al hacer esto por primera vez, es posible que el sistema no incorpore el controlador necesario ya que estará sin firmar. Esto producirá un mensaje de error que dice que el controlador del dispositivo no puede cargarse. Para resolver este problema, después de insertar el archivo .vhd mediante el comando anterior, vaya al Administrador de dispositivos, haga clic con el botón secundario en el dispositivo nuevo que aparece y seleccione Propiedades. Desde allí, vaya a la ficha Controlador, seleccione Actualizar controlador, haga clic en Buscar software de controlador en el equipo y seleccione Elegir en una lista de controladores de dispositivo en el equipo. El archivo del controlador adecuado se encontrará en Microsoft Virtual Server\Vhdmount\vhdstor.inf. Después de la instalación, aparecerá la unidad de disco nueva y podrá ir a la última copia de seguridad Complete PC y copiar los archivos deseados en otra ubicación.

Restauración Complete PC
Ahora imagínese que una tarde soleada decido usar mi equipo portátil sentada al lado de la piscina. Resbalo sobre el mosaico mojado y mi equipo portátil se cae en la piscina. No hay posibilidad de arreglarlo y no tengo otra opción que comprar otro equipo nuevo. Dado que usé la herramienta Copia de seguridad Complete PC, puedo restaurar mi sistema en el equipo nuevo: no necesito pasar mucho tiempo volviendo a instalar manualmente cada aplicación y a establecer todos mis valores de configuración. Realizar una restauración Complete PC es sencillo. Al iniciar, se usa el disco de instalación de Windows Vista para arrancar el entorno de recuperación de Windows. En este punto, se me pide que adjunte el dispositivo que contiene la imagen del sistema. Elijo la imagen apropiada y, a continuación, empieza el proceso de restauración.
Una vez finalizada la restauración, realizo la restauración de los archivos a partir mi última copia de seguridad. Esto se debe a que realizo copias de seguridad con más frecuencia de modo que los datos que contiene mi copia de seguridad de archivos son más actuales. Dado que el equipo se revierte a un tiempo anterior al de la copia de seguridad de archivos elegida, no contiene un registro de esta copia de seguridad en el catálogo. Por lo tanto, selecciono Restauración avanzada | Restaurar archivos y carpetas a partir de una copia de seguridad realizada en otro equipo | Restaurar todo el contenido de esta copia de seguridad. También inicio una nueva copia de seguridad completa para proteger los últimos datos restaurados.
El entorno de recuperación de Windows a menudo lo instala el OEM en el disco duro como una partición oculta. Esto puede usarse para restaurar la imagen de la copia de seguridad Complete PC en el mismo hardware. Pero si necesita restaurar una imagen creada desde un equipo a otro, deberá ejecutar el entorno de recuperación de Windows desde medios externos, tal como el disco de instalación de Windows.
Hay dos temas que vale la pena tener en cuenta. La restauración Complete PC funciona simplemente al restaurar en el mismo hardware desde donde se llevó a cabo la copia de seguridad. (A menos que, por supuesto, el error del hardware no fuera parte del problema).
Dado que la copia de seguridad Complete PC incluye una imagen del equipo entero, se aplican algunas limitaciones en el momento de restaurarla en un hardware diferente. En primer lugar, la imagen de la copia de seguridad contiene controladores que se usan para arrancar el equipo una vez completada la restauración. En casos raros, es posible que no estén presentes los controladores que se necesitan para el arranque en el equipo nuevo. Esto podría suceder al restaurar una copia de seguridad de imagen tomada en un tipo de controlador de disco (IDE, SATA o SCSI) para otro tipo de controlador de disco. Incluso en este caso, todavía hay una buena oportunidad para completar la restauración correctamente, ya que los controladores habituales de Windows incluidos en la copia de seguridad de la imagen probablemente serán compatibles.
En segundo lugar, la restauración sólo puede realizarse si el equipo nuevo tiene por lo menos el mismo número de discos duros y cada disco duro es por lo menos tan grande como el original reemplazado. Recuerde estas restricciones si piensa usar la copia de seguridad Complete PC para migrar a un hardware nuevo.
Dado que la copia de seguridad y de restauración se realizan en el nivel de bloques para volúmenes enteros, la restauración Complete PC requiere que un volumen se restaure por completo o que se omita. Por lo tanto, posiblemente querrá crear varios volúmenes para la copia de seguridad (por ejemplo, al separar los archivos del sistema de los archivos de datos). A continuación, al llevar a cabo la restauración, puede elegir entre restaurar sólo el volumen del sistema (identificado como crítico) o todos los volúmenes.

Poner estas características en práctica
Windows Vista ha realizado importantes mejoras con respecto a Windows XP para la protección de datos y del sistema al presentar nuevas tecnologías de copias de seguridad y mejorar las opciones existentes. Las cuatro características principales de copias de seguridad (Copia de seguridad y restauración de archivos, Copia de seguridad y restauración de archivos Complete PC, Restaurar sistema e Instantáneas) proporcionan capacidades diferentes aunque complementarias que arrojan una amplia red para la protección de datos. Es importante entender cómo funcionan estas características conjuntamente para asegurarse de que el sistema está configurado para usar los cuatro métodos y aplicar la protección adecuada para buscar el mejor remedio en función de la situación.
Como regla general, intente siempre realizar una restauración de instantáneas primero en una situación de pérdida de datos, ya que este método probablemente contendrá la copia más reciente de los datos. Para casos de inestabilidad y reparación del sistema, use Restaurar sistema. La restauración Complete PC normalmente debe usarse como último recurso para la reparación completa del sistema, y debe hacerse con cuidado. Sin embargo, la reparación Complete PC puede ser un gran salvavidas. Y lo que es más importante, tome medidas antes de que sea demasiado tarde: haga una copia de seguridad ya mismo.
Me gustaría dar las gracias a Eduardo Laureano, Ivan Pashov, Jill Zoeller y a todos los miembros del equipo de productos de copias de seguridad y restauración para su ayuda con este artículo.

Christine Fok es directora de administración de programas de la División de soluciones de almacenamiento de Microsoft. Su trabajo se centra en las experiencias de realizar copias de seguridad y restauración en la plataforma de cliente de Windows.


 Windows Server: 11 herramientas esenciales para administrar Active Directory
Windows Server Laura E. Hunter

11 herramientas esenciales para administrar Active Directory
Resumen:
  • Creación de objetos en la línea de comandos
  • Realización de operaciones masivas dentro de Active Directory
  • Actualizaciones y mantenimiento de Active Directory

Si ha recibido alguna vez una hoja de cálculo de Excel con una lista de 200 empleados nuevos que empiezan la semana próxima, o si sus cuentas de usuario se han configurado incorrectamente porque el personal de soporte técnico hizo clic en algo
en lo que debía haber hecho clic, o si simplemente desea facilitar la administración de Active Directory® sin tener que abrir usuarios y equipos cada vez, existen varias herramientas de administración gratuitas que pueden ayudarle con todo esto. Algunas se han creado directamente en el sistema operativo Windows®, otras proceden de un kit de recursos o de las herramientas de soporte de Windows y algunas otras son herramientas de terceros gratuitas. ¿Cuáles son estas herramientas tan prácticas y dónde pueden obtenerse? Averigüémoslo.
Empezaré con las herramientas de la línea de comandos integradas en Windows Server® 2003 que permiten crear, eliminar, modificar y buscar objetos en Active Directory.

CSVDE
La herramienta Comma-Separated Values Data Exchange, conocida como CSVDE, permite importar objetos nuevos a Active Directory mediante un archivo de código de origen CSV; también proporciona la capacidad de exportar objetos existentes a un archivo CSV. CSVDE no puede usarse para modificar objetos existentes; cuando se usa esta herramienta en el modo de importación, es sólo para crear objetos nuevos.
Exportar una lista de objetos existentes con CSVDE es bastante sencillo. Aquí se muestra cómo se exportan objetos de Active Directory a un archivo llamado ad.csv:
csvde –f ad.csv
El modificador de comandos –f indica que sigue el nombre del archivo de salida. Pero debe ser consciente de que, en función del entorno, esta sintaxis básica podría tener como resultado un archivo de salida muy grande y difícil de manejar. Para restringir la herramienta de forma que sólo se exporten objetos dentro de una unidad organizativa concreta, se pueden modificar las instrucciones de la siguiente manera:
csvde –f UsersOU.csv –d ou=Users,dc=contoso,dc=com
Digamos además que sólo está interesado en exportar objetos de usuario al archivo CSV. En ese caso, se puede agregar el modificador de comandos –r, el cual permite especificar un filtro del Protocolo ligero de acceso a directorios (LDAP) para la búsqueda, y el modificador de comandos –l, el cual restringe el número de atributos que se van a exportar (observe que lo que sigue está todo en una línea):
csvde –f UsersOnly.csv –d ou=Users,dc=contoso,dc=com –r
    "(&(objectcategory=person)(objectclass=user))" –l
    DN,objectClass,description
El modificador de comandos -i permite importar objetos a Active Directory desde un archivo de origen CSV. Sin embargo, crear objetos de usuario con CSVDE tiene una limitación importante: no se pueden establecer contraseñas de usuario. A causa de esto, se recomienda evitar el uso de CSVDE para crear objetos de usuario.

LDIFDE
Active Directory ofrece una segunda herramienta integrada para operaciones masivas del usuario llamada LDIFDE y que es más eficaz y flexible que CSVDE. Además de crear objetos nuevos, LDIFDE también puede modificar y eliminar objetos existentes e incluso ampliar el esquema de Active Directory. El equilibrio para la flexibilidad de LDIFDE es que el archivo de entrada necesario, que se llama archivo LDIF con la extensión .ldf, usa un formato más complejo que el archivo sencillo de CSV. (Con un poco de trabajo también se podrán configurar contraseñas de usuario, pero llegaremos a este punto dentro de un momento).
Empecemos con un ejemplo sencillo: exportar usuarios desde una unidad organizativa a un archivo de LDF (observe que lo que sigue está todo en una línea):
ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
       –r "(&(objectcategory=person)(objectclass=user))"
Al igual que con la mayoría de las herramientas de la línea de comandos, se puede encontrar una explicación completa de los modificadores de comandos LDIFDE ejecutando el comando LDIFDE /?. La figura 1 describe los que se han usado aquí. (Observe que los modificadores de comandos son de hecho lo mismo para los comandos CSVDE y LDIFDE).
Figure 1 Modificadores de comandos LDIFDE (Close Figure 1)

Modificador de comandos | Descripción
-d | Permite especificar la ruta de acceso del LDAP al que LDIFDE debe conectarse para la operación.
-f | Permite indicar el nombre del archivo que va a usarse, en este caso para ofrecer los resultados de la exportación.
-r | Permite especificar el filtro LDAP que se usará para una exportación.
-s | Permite especificar el controlador de dominio (DC) al que debe conectarse para realizar la operación. Si se excluye este comando, LDIFDE se conectará al controlador de dominio local (o el que autenticó al ejecutar la herramienta desde una estación de trabajo).
La verdadera eficacia de LDIFDE está en la capacidad de creación y manipulación de los objetos. Sin embargo, antes de hacer esto, se deberá crear un archivo de entrada. Lo siguiente crea dos cuentas de usuario nuevas llamadas afuller y rking; para crear el archivo de entrada, escriba el texto en el Bloc de notas (o en su editor favorito de texto sin formato) y guárdelo como NewUsers.ldf:
dn: CN=afuller, OU=UsersOU, DC=contoso, DC=com
changetype: add
cn: afuller
objectClass: user
samAccountName: afuller

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com
changetype: add
cn: rking
objectClass: user
samAccountName: rking
Tras haber creado el archivo, ejecute el comando siguiente:
ldifde –i –f NewUsers.ldf –s DC1.contoso.com
El único modificador de comandos nuevo aquí es -i, que, como puede adivinarse, indica que se trata de una operación de importación en vez de una de exportación.
Al modificar o eliminar objetos existentes, la sintaxis para el comando de LDIFDE no cambia; en vez de eso, se modifica el contenido del archivo LDF. Para cambiar el campo de descripción de las cuentas de usuario, cree un archivo de texto llamado ModifyUsers.ldf, tal como el que se muestra en la figura 2.
Figura 2 Archivo ModifyUsers de LDF
Figura 2 Archivo ModifyUsers de LDF
Los cambios se importan al ejecutar la misma sintaxis del comando de LDIFDE como antes, especificando el nombre nuevo de archivo LDF después del modificador de comandos -f. El formato LDF para eliminar objetos es aún más sencillo; para eliminar los usuarios con los que ha estado trabajando, cree un archivo llamado DeleteUsers.ldf y escriba lo siguiente:
dn: CN=afuller OU=UsersOU, DC=contoso, DC=com
changetype: delete

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com
changetype: delete
Tenga en cuenta que a diferencia de CSVDE, LDIFDE sí puede configurar contraseñas de usuario. Sin embargo, antes de poder configurar el atributo unicodePWD para una cuenta de usuario, debe configurarse el cifrado de nivel de sockets seguros o la seguridad del nivel de transporte (SSL/TLS) en los controladores de dominio.
Además, LDIFDE puede crear y modificar cualquier tipo de objeto de Active Directory, no sólo las cuentas de usuario. El archivo LDF siguiente, por ejemplo, creará una extensión de esquema personalizada llamada EmployeeID-example en el esquema del bosque contoso.com:
dn: cn=EmployeeID-example,cn=Schema,
cn=Configuration,dc=contoso,dc=com
changetype: add
adminDisplayName: EmployeeID-Example
attributeID: 1.2.3.4.5.6.6.6.7
attributeSyntax: 2.5.5.6
cn: Employee-ID
instanceType: 4
isSingleValued: True
lDAPDisplayName: employeeID-example
Dado que los archivos de LDIFDE usan el formato de archivo estándar del sector LDAP, las aplicaciones de terceros que necesitan modificar el esquema de Active Directory a menudo suministrarán archivos LDF que pueden usarse para examinar y aprobar los cambios antes de aplicarlos al entorno de producción.
Además de herramientas para las operaciones de importación y exportación masivas, Windows Server 2003 incluye también un conjunto de herramientas integrado que permite crear, eliminar y modificar distintos objetos de Active Directory, así como realizar consultas para objetos que cumplen ciertos criterios. (Tenga en cuenta que estas herramientas, dsadd, dsrm, dsget y dsquery, no son compatibles con Active Directory para Windows 2000).

Dsadd
Dsadd se usa para crear una copia de una clase de objeto de Active Directory en una partición de directorios concreta. Estas clases incluyen usuarios, equipos, contactos, grupos, unidades organizativas y cuotas. Dsadd tiene una sintaxis genérica que consiste en lo siguiente:
dsadd <ObjectType> <ObjectDistinguishedName> attributes
Tenga en cuenta que cada tipo de objeto que se crea toma un conjunto específico de modificadores de comandos correspondiente a los atributos disponibles para ese tipo de objeto. Este comando crea un solo objeto de usuario con distintos atributos rellenados (observe que lo que sigue está todo en una línea):
dsadd user cn=afuller,ou=IT,dc=contoso,dc=com
–samID afuller –fn Andrew –ln Fuller –pwd *
-memberOf cn=IT,ou=Groups,dc=contoso,dc=com "cn=Help Desk,ou=Groups,
dc=contoso,dc=com"
–desc "Marketing Director"
El modificador de comandos –memberOf requiere el nombre distintivo (DN) de cada grupo al que debería agregarse el usuario; si se desea agregar el usuario a varios grupos, se pueden agregar varios DN delimitados por espacios.
Si hay algún elemento que contenga espacios, tal como el nombre completo del grupo del departamento de soporte técnico, deberá incluirse en comillas dobles. Si un elemento contiene una barra diagonal inversa, como por ejemplo una unidad organizativa llamada TI\EMEA, la barra diagonal inversa debe especificarse dos veces: TI\\EMEA. (Estos requisitos se aplican a todas las herramientas ds*).
Al usar el modificador de comandos -pwd *se le pedirá que escriba una contraseña para el usuario en la línea de comandos. Esta contraseña puede especificarse dentro del propio comando (-pwd P@ssword1), pero esto mostrará la contraseña en texto sin formato en la pantalla o en cualquier texto o archivo de script en el que incrustó el comando.
De una forma similar, puede crear un objeto de grupo y una unidad organizativa con los dos comandos siguientes:
dsadd computer cn=WKS1,ou=Workstations,dc=contoso,dc=com
dsadd ou "ou=Training OU,dc=contoso,dc=com"

Dsmod
Dsmod se usa para modificar un objeto existente y se puede usar de manera muy similar a la de dsadd, con submenús y sintaxis diferentes en función del tipo de objeto que se está modificando. La instrucción siguiente de dsmod cambia una contraseña de usuario y modifica la cuenta de éste de forma que se le pedirá que cambie a una contraseña nueva en el inicio de sesión siguiente:
dsmod user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes
Para ver las semejanzas entre estos modificadores de comandos, observe la sintaxis de dsadd que se usaría para crear este usuario con los mismos atributos configurados:
dsadd user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes
Como puede verse claramente, si se conocen los modificadores de comandos para crear objetos en dsadd, se pueden usar estos mismos modificadores de comandos para modificar usuarios con dsmod.

Dsrm
Lo contrario de dsadd es dsrm; como quizás se puede imaginar, esta herramienta permite eliminar un objeto de la línea de comandos. La sintaxis básica de dsrm es bastante sencilla: simplemente escriba dsrm seguido del nombre distintivo del objeto que desea eliminar. Del modo siguiente:
dsrm cn=WKS1,ou=Workstations,dc=contoso,dc=com
De forma predeterminada, dsrm le preguntará si está seguro de que desea eliminar este objeto. Escriba Y y, a continuación, presione Entrar. Este mensaje se puede suprimir con el modificador de comandos -noprompt, pero, obviamente, entonces no tendrá ocasión de confirmar que seleccionó el objeto correcto antes de eliminarlo. Dos modificadores de comandos adicionales pueden ser de utilidad si se está eliminando un objeto del contenedor; es decir, una unidad organizativa que podría contener otros objetos. El comando siguiente elimina la unidad organizativa TrainingOU y todos los objetos que contiene:
dsrm ou=TrainingOU,dc=contoso,dc=com –subtree
Éste elimina todos los objetos secundarios incluidos dentro de TrainingOU, pero deja el objeto de la unidad organizativa en su lugar:
dsrm ou=TrainingOU,dc=contoso,dc=com –subtree
    –exclude

Dsmove
Para mover un objeto o cambiarle el nombre en Active Directory, se usa la herramienta dsmove, pero observe que debería usarla para mover un objeto sólo dentro de un único dominio. Para migrar objetos entre dominios o bosques, use la herramienta de migración Active Directory (ADMT), que se descarga gratuitamente desde el sitio web de Microsoft. Dsmove depende de dos modificadores de comandos que pueden usarse por separado o combinados. Este comando proporciona un apellido nuevo a la cuenta de Steve Conn:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com"
    –newname "Steve Conn"
Este comando mueve la cuenta de Steve de la unidad organizativa IT a la unidad organizativa Training OU:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newparent
    ou=Training,dc=contoso,dc=com
Se puede combinar un cambio de nombre y un desplazamiento en una sola operación si se especifican ambos modificadores de comandos a la vez. Del modo siguiente:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname
    "Steve Conn" –newparent ou=Training,dc=contoso,dc=com

Dsget y dsquery
El conjunto de herramientas de la línea de comandos ds* contiene dos herramientas que se usan para hacer consultas en Active Directory y obtener información antes de crear o modificar objetos.
Dsget toma el nombre completo de un objeto como si se tratara de un entrada y devuelve el valor del atributo o atributos especificados. Dsget usa los mismos submenús que dsadd y dsmod: user, computer, contact, group, ou y quota.
Para obtener el nombre de cuenta SAM y el identificador de seguridad (SID) de una cuenta de usuario, escriba el comando siguiente (observe que lo que sigue está todo en una línea):
dsget user cn=afuller,ou=IT,dc=contoso,dc=com
    –samAccountName –sid
Obtendrá un resultado como el que se muestra en la figura 3.
Figura 3 Ejecución de dsget
Figura 3 Ejecución de dsget
Dsquery devuelve una lista de objetos de Active Directory que cumplen los criterios especificados. Se pueden especificar los parámetros siguientes independientemente del submenú se está usando:
dsquery <ObjectType> <StartNode> -s <Search Scope> -o <OutputFormat>
Para ObjectType, dsquery puede usar los submenús siguientes, cada uno de los cuales tiene su propia sintaxis: computer, contact, subnet, group, ou, site, server (observe que el submenú server recupera la información acerca de los controladores de dominio, no de cualquier servidor que sea miembro del entorno), user, quota y partition. Y si uno de estos tipos de consulta no cumple con los requisitos, se puede usar el submenú *, lo que permite escribir una consulta LDAP de forma libre.
StartNode especifica la ubicación en el árbol de Active Directory en la que se iniciará la búsqueda. Se puede usar un nombre completo específico como ou=IT,dc=contoso,dc=com o uno de los especificadores de acceso directo siguientes: domainroot, que empieza en la raíz de un dominio en particular; o forestroot, que empieza en la raíz del dominio raíz del bosque con un servidor de catálogo global para realizar la búsqueda.
Por último, la opción del ámbito de búsqueda especifica cómo dsquery debe buscar en el árbol de Active Directory. La opción Subtree (predeterminada) consulta el StartNode especificado y todos sus objetos secundarios, la opción onelevel sólo consulta los elementos secundarios inmediatos de StartNode y la opción base consulta sólo el objeto StartNode.
Para entender mejor los ámbitos de búsqueda, imagine una unidad organizativa que contenga objetos de usuario y una unidad organizativa secundaria que contenga objetos adicionales. Con el ámbito subtree se consultará la unidad organizativa, todos los objetos de usuario que ésta contiene, la unidad organizativa secundaria y su contenido. El ámbito onelevel consultará sólo los usuarios que contiene la unidad organizativa y no se consultará la unidad organizativa secundaria ni su contenido. Una consulta base buscará sólo la unidad organizativa sin consultar ninguno de los objetos que ésta contiene.
Por último, se puede usar el formato de salida para controlar cómo se formatean los resultados de dsquery. De forma predeterminada, dsquery devuelve los nombres completos de cualquier objeto que coincide con la consulta. Del modo siguiente:
"cn=afuller,ou=Training,dc=contoso,dc=com"
"cn=rking,ou=ITTraining,ou=Training,dc=contoso,dc=com"
Para realizar consultas para todos los objetos de usuario que contiene la unidad organizativa de IT y de cualquier unidad organizativa secundaria, use lo siguiente:
dsquery user ou=IT,dc=contoso,dc=com
Se puede perfeccionar aún más esta consulta si se agregan modificadores de comandos adicionales como por ejemplo: -disabled (devuelve sólo cuentas de usuario desactivadas), -inactive x, (devuelve sólo usuarios que no han iniciado sesión en las últimas semanas o más) o -stalepwd x (devuelve sólo usuarios que no han cambiado sus contraseñas en x días o más).
Según el número de objetos del directorio, es posible que sea necesario especificar el modificador de comandos -limit x al ejecutar la consulta. De forma predeterminada, dsquery devolverá hasta 100 objetos que coinciden con las especificaciones de la consulta; se puede especificar un número más grande, tal como -limit 500, o usar -limit 0 para dar instrucciones de que dsquery devuelva todos los objetos que coincidan.
Se pueden usar los otros submenús para realizar consultas útiles también para otros tipos de objeto. Considere la consulta siguiente que devuelve cada subred definida en los sitios y servicios de Active Directory que está en el espacio de direcciones 10.1.x.x:
dsquery subnet –name 10.1.*
O bien, use lo siguiente para devolver cada subred ubicada en el sitio de la corporación:
dsquery subnet –site Corp
Con otro submenú, se puede determinar rápidamente cuántos controladores de dominio están configurados en el bosque como servidores de catálogo global:
dsquery server –forest –isgc
Esta sintaxis también se puede usar para ayudar a determinar qué controlador de dominio hospeda en el dominio la función Emulator Flexible Single Master Operations (FSMO) del controlador de dominio principal (PDC):
dsquery server –hasfsmo pdc
Al igual que con los otros comandos ds* que incluyen submenús, se pueden ver todos los modificadores de comandos disponibles dentro de un submenú de dsquery particular si se va al mensaje del comando y se escribe dsquery user /?, dsquery computer /?, dsquery subnet /?, etcétera.
Otro truco fácil de usar es canalizar el resultado de la consulta dsquery a otra herramienta, tal como dsmod, que use el carácter | (teclas Mayús+barra diagonal inversa en teclados de EE. UU.). Por ejemplo, supongamos que su compañía cambia el nombre de un departamento desde Aprendizaje a Desarrollo interno y ahora debe actualizar el campo de la descripción de cada usuario desde el nombre anterior de departamento al nuevo. En una única línea de comandos, se pueden consultar objetos de usuario que tienen un campo de descripción Aprendizaje y luego modificar masivamente el campo de la descripción de la siguiente manera:
dsquery user –description "Training" | dsmod
    -description "Internal Development"

Algunas perlas de terceros
Dado que Active Directory se basa en estándares LDAP, se puede consultar y modificar con cualquier herramienta compatible con LDAP. Muchos otros proveedores han lanzado al mercado herramientas de pago para facilitar la administración de Active Directory, pero a veces se pueden encontrar con tesoros que se han puesto a disposición de la comunidad de forma gratuita. Es el caso de una recopilación creada por el MVP de Servicios de directorio Joe Richards, que está disponible para descarga desde joeware.net/freetools. En este sitio pueden encontrarse muchas herramientas que son útiles para muchas funciones diferentes. Tres a las que recurro una y otra vez son adfind, admod y oldcmp.

Adfind y admod
Adfind y admod son similares a dsquery y dsmod; adfind es una herramienta de consulta de línea de comandos para Active Directory y admod puede crear, eliminar o modificar uno o más objetos de Active Directory.
A diferencia de las herramientas ds* que tienen varios submenús y modificadores de comandos diferentes en función del tipo de objeto, adfind y admod tienen una sintaxis constante independientemente del tipo de consulta o de la modificación que se está intentando realizar. La sintaxis básica para adfind es:
adfind –b <Search Base> -s <Search Scope> -f <Search Filter>
    attributesDesired
Por lo tanto, una consulta para el nombre completo y la descripción de todos los objetos del equipo dentro de su dominio sería:
adfind –b dc=contoso,dc=com –s subtree –f (objectclass=computer) dn
    description
Una consulta para todos los objetos de usuario tendría el aspecto siguiente:
adfind –b dc=contoso,dc=com –s subtree –f "(&(objectcategory=person)
    (objectclass=user))" dn description
Observe que, salvo en el caso del contenido de la consulta LDAP, la sintaxis no cambió.
Cuando se trabaja con adfind, encontrará con que varios operadores de acceso directo pueden ahorrarle mucha escritura. Por ejemplo, el modificador de comandos -default puede reemplazar -b dc=contoso, dc=com en el ejemplo anterior y buscar en el dominio entero; -gc busca en un recopilación de elementos no usados y devuelve todos los usuarios del bosque de Active Directory. También puede usar el modificador de comandos -rb para establecer una base relativa para la búsqueda; si desea buscar la unidad organizativa de aprendizaje en el dominio phl.east.us.contoso.com, podrá ahorrar bastante esfuerzo si simplemente especifica –default –rb ou=Training en vez de –b ou=Training, dc=phl,dc=east,dc=us,dc=contoso,dc=com.
Adfind también puede realizar varias funciones de búsqueda avanzadas que, de otro modo, no pueden administrarse fácilmente en la línea de comandos, incluidas las que se muestran en la figura 4.
Figure 4 Modificadores de comandos adfind (Close Figure 4)

Modificador de comandos | Descripción
-showdel | Permite consultar el contenedor de objetos eliminados para objetos de desecho.
-bit | Permite consultar en operadores de bit a bit como, por ejemplo, el atributo userAccountControl.
-asq | Permite realizar una consulta del ámbito de atributos. Esta función (que no puede replicarse en dsquery) puede recuperar un atributo de un objeto en particular y luego realizar una consulta en él.
-dsq | Permite canalizar los resultados de una consulta adfind en dsmod o en otras herramientas ds*.
Un ejemplo con el modificador de comandos -asq sería "Show me the group memberships of the members of the HelpDesk". Del modo siguiente:
adfind –default –rb cn=HelpDesk,ou=IT –asq member memberOf
Admod, como su nombre sugiere, se usa para modificar objetos dentro de Active Directory. Al igual que con adfind, no hay submenús especializados con sintaxis específicos para recordar; admod usa la misma sintaxis independientemente del tipo de objeto con el que se está trabajando. También se puede usar admod para agregar, mover, cambiar el nombre e incluso recuperar objetos mediante la adición del modificador de comandos apropiado, como por ejemplo: -add, -rm, -move, -undel. Y, al igual que con dsquery y dsmod, se puede usar también el carácter | para canalizar los resultados de una consulta de adfind a admod.
Tenga en cuenta que si se realiza una recuperación con admod, se llevará a cabo simplemente una operación de reanimación de desecho, en la que la mayor parte de los atributos de objetos se eliminaron. Para restaurar completamente un objeto y todos sus atributos, todavía será necesario realizar una restauración autoritativa del objeto.

Oldcmp
Hay una herramienta adicional de joeware que pienso que es imprescindible para mi kit de herramientas de automatización: oldcmp, que examina la base de datos de Active Directory en búsqueda de cuentas de equipo que no se han usado durante un número determinado de semanas. Puede realizar las siguientes acciones:
  • Crear un informe de cuentas sin necesidad de emprender ninguna acción contra ellas
  • Desactivar las cuentas de equipo sin usar
  • Mover las cuentas de equipo a una unidad organizativa diferente asignada por el usuario
  • Eliminar las cuentas del equipo
Tenga en cuenta que dado que oldcmp tiene la capacidad de sembrar un caos grave en el directorio, tiene varias características de seguridad integradas. No eliminará ninguna cuenta que no esté desactivada (y sin haberse especificado manualmente un modificador de línea de comandos tipo "En serio, ¡es así!"). No modificará más de 10 objetos a la vez sin disponer de un modificador de comandos tipo "En serio, ¡es así!", y definitivamente no realizará ninguna acción sobre la cuenta del equipo para un controlador de dominio.
A pesar del nombre engañoso de la herramienta, Joe ha actualizado oldcmp para que también realice funciones semejantes para cuentas de usuario que no se han usado durante cierto tiempo.
Para un entorno pequeño de Active Directory o para uno donde sólo se trabaja con una o dos adiciones o modificaciones a la vez, las herramientas GUI, tal como Usuarios y equipos de Active Directory, podrían ser suficientes para llevar una administración diaria. Pero si se agregan y se modifican muchos objetos diariamente o simplemente desea una solución más simplificada para las tareas administrativas, moverse a la línea de comandos puede acelerar mucho el proceso de creación, modificación y eliminación de objetos dentro de Active Directory. Como ha visto, hay varias flexibles y eficaces herramientas disponibles y gratuitas, tanto herramientas integradas en Windows y como herramientas que se pueden descargar de los miembros de la comunidad de Active Directory. Cualquiera de estas herramientas tiene la capacidad de mejorar mucho su productividad como administrador de Active Directory, y todas juntas se convierten aún más en algo esencial para el trabajo diario.

Laura E. Hunter ha recibido cuatro veces el premio Microsoft MVP en el área de redes de Windows Server. Es autora de Active Directory Cookbook, segunda edición (O'Reilly, 2006). Laura cuenta con 10 años de experiencia en el sector de TI y trabaja actualmente como arquitecta de Active Directory para una empresa mundial de ingeniería. Tiene varias certificaciones del sector y es conferenciante habitual en las reuniones de grupos de usuarios y conferencias del sector.


 Windows Server: Reanimaci&#243;n de objetos de desecho de Active Directory
Windows Server Gil Kirkpatrick

Reanimación de objetos de desecho de Active Directory
Resumen:
  • Almacenamiento de objetos eliminados en Active Directory
  • Uso de LDP y ADRESTORE para buscar y restaurar objetos de desecho
  • Atributos de objeto y systemFlags

Aunque posiblemente no sea su tema favorito, las pérdidas accidentales de datos son un hecho de la vida y, como profesional de TI, hay que estar preparado para todo tipo de escenarios de recuperación. En el número de abril 2007 de TechNet Magazine, se trató la importancia de tener un plan
con el fin de recuperar usuarios y grupos de Active Directory ®. En ese artículo, disponible en technetmagazine.com/issues/2007/04/ADRecovery, se trataron las mecánicas de la vinculación, replicación, supresión y restauraciones autoritativas de objetos. Lamentablemente, la función de restauraciones autoritativas requiere que el inicio de un controlador de dominio (DC) en el modo de restauración del servicio de directorio (DSRM). Esto hace que el DC no estará disponible durante la operación de restauración.
Hay otro método que debería conocer. La reanimación de objetos de desecho (que no tiene nada que ver con objetos zombie) ofrece la única manera de recuperar objetos eliminados sin tener que interrumpir la conexión del DC, y es la única manera de recuperar la información de identidad de un objeto eliminado, como por ejemplo, la información de los atributos objectGUID y objectSid. Resuelve ordenadamente el problema de tener que volver a crear un usuario o grupo eliminados y tener que corregir todas las referencias a las listas de control de acceso (ACL) anteriores, las cuales contienen el objectSid del objeto eliminado. Simplemente tenga presente que la reanimación de objetos de desecho tiene sus propias limitaciones, que se tratarán en este artículo. Por lo tanto, es recomendable tener en cuenta las restauraciones autoritativas.
La reanimación de objetos de desecho se presentó en Active Directory de Windows Server ® 2003 para simplificar los diversos escenarios de la recuperación de datos. Esta característica saca partido del hecho de que Active Directory mantiene los objetos eliminados en la base de datos durante un periodo de tiempo antes de quitarlos físicamente. En este artículo proporcioné una descripción detallada de cómo Active Directory elimina y reanima objetos y cómo pueden recuperarse estos objetos eliminados con las herramientas estándar de Microsoft.

¿Qué es un objeto de desecho?
Cuando Active Directory elimina un objeto del directorio, no lo quita físicamente de la base de datos. En cambio, Active Directory marca el objeto como eliminado al configurar el atributo isDeleted del objeto en TRUE. Dicha acción elimina la mayor parte de los atributos del objeto, cambia su nombre y luego mueve el objeto a un contenedor especial en el contexto de nomenclatura (NC) del objeto denominado CN=Deleted Objects. El objeto, ahora denominado objeto de desecho, es invisible para las operaciones habituales del directorio. No aparece en ningún complemento de Microsoft ® Management Console (MMC) y la mayoría de las utilidades LDAP no tienen constancia de su existencia. En efecto, el objeto de desecho ha desaparecido. Los datos, sin embargo, están todavía allí, sólo que son invisibles. Pero, ¿por qué mantiene Active Directory objetos de desecho, que son objetos eliminados, en la base de datos?
Aunque sea invisible para otros procesos, un objeto de desecho es visible para el proceso de replicación de Active Directory. Para asegurarse de que la eliminación se realiza en todos los DC que hospedan el objeto que se está eliminando, Active Directory replica el objeto de desecho en los otros controladores de dominio. De este modo, el objeto de desecho se usa para la replicación de la eliminación en todo el entorno de Active Directory.

Vigencia de un objeto de desecho
Active Directory normalmente elimina un objeto del directorio en respuesta a una operación de eliminación de protocolo LDAP o de eliminación del Administrador de cuentas de seguridad (SAM). Esta operación se denomina la eliminación original y es diferente de las operaciones de eliminación que realiza el proceso de replicación de Active Directory. Observe que en este artículo no se tienen en cuenta los objetos dinámicos, que tienen un mecanismo de eliminación diferente y Active Directory los elimina directamente cuando expire su tiempo de vida (TTL).
Cuando Active Directory recibe la operación de eliminación, primero pasa por una lista de comprobación para asegurarse de que el objeto se puede eliminar. Este proceso es asombrosamente completo, ya que asegura que los criterios siguientes son todos verdaderos:
  • El atributo isDeleted del objeto ya no está establecido en TRUE (no se puede eliminar un objeto ya eliminado).
  • El marcador de control de descriptor de seguridad de recursos "objeto privado" no se establece en el descriptor de seguridad del objeto (esto parece ser una "característica" sin documentar. El marcador de objeto privado es el bit 1 del byte Sbz1 de la estructura del descriptor de seguridad).
  • El bit "disallow delete" (0x80000000) no está establecido en el atributo systemFlags del objeto.
  • El atributo isCriticalSystemObject del objeto no está establecido en TRUE.
  • El descriptor de seguridad del objeto concede al usuario los derechos adecuados de acceso para eliminar el objeto (más concretamente, el usuario puede eliminar el objeto en sí y puede eliminar un elemento secundario del objeto principal).
  • El objeto no es un objeto de referencia cruzada (objectClass = crossRef) para un contexto de nomenclatura (NC) existente.
  • El objeto no tiene ningún objeto subordinado (si la operación de eliminación LDAP incluye el identificador de objeto de control "eliminación de árboles" LDAP, Active Directory eliminará automáticamente todos los objetos subordinados también, a menos que el conjunto de atributos isCriticalSystemObject esté establecido en TRUE. Esto impide la eliminación inesperada de objetos críticos del sistema como parte de una operación de eliminación de árboles. Por supuesto, es posible eliminar estos objetos de forma individual).
  • El objeto no es un objeto interno crítico (por ejemplo, no es el objeto nTDSDSA para el DC ni los objetos de marcador de posición para antecesores de los encabezados NC).
Además de que estos criterios sean ciertos, Active Directory debe encontrarse también en un estado apropiado para procesar la operación de eliminación. Por ejemplo, si Active Directory está cambiando el nombre de un dominio, no eliminará ninguna cuenta de dominio de confianza ni ningún objeto crossRef.
Si se determina que en realidad el objeto puede eliminarse, Active Directory procede con la conversión del objeto en un objeto de desecho. En primer lugar, Active Directory elimina los atributos innecesarios del objeto y deja los que se especifican en la figura 1 y los definidos en el esquema para su retención en el objeto de desecho (consulte la sección "Recuperación de atributos de objetos" para obtener más información acerca de este tema). A continuación, cambia el nombre distintivo relativo (RDN) del objeto a CN=<old RDN>\0ADEL:<objectGUID>, donde \0A indica el carácter de salto de línea ASCII y <objectGUID> es el objectGUID expresado como una cadena. A continuación, el atributo lastKnownParent se establece en el nombre distintivo (DN) del contenedor principal del objeto y el atributo isDeleted se establece en TRUE. Luego, Active Directory quita todos los atributos de vínculos de hacia delante o hacia atrás del objeto. Por último, si el atributo systemFlag del objeto no tiene establecido el bit "disallow move on delete", Active Directory moverá el objeto al contenedor CN=Deleted Objects para el NC (para obtener más información acerca este tema, consulte la barra lateral "Comportamiento del atributo systemFlags y de los objetos").
Figure 1 Atributos guardados en un objeto de desecho (Close Figure 1)

Codificación que debe guardarse
attributeID
attributeSyntax
dnReferenceUpdate
dNSHostName
flatName
governsID
groupType
instanceType
lDAPDisplayName
legacyExchangeDN
mS-DS-CreatorSID
mSMQOwnerID
nCName
objectClass
objectGUID
objectSid
oMSyntax
proxiedObejctName
replPropertyMetaData
sAMAccountName
securityIdentifier
sIDHistory
subClassOf
systemFlags
trustPartner
trustDirection
trustType
trustAttributes
userAccountControl
uSNChanged
uSNCreated
whenCreated
Guardado debido a la configuración de searchFlags
msDS-AdditionalSamAccountName
msDS-Auxiliary-Classes
msDS-Entry-Time-To-Die
msDS-IntId
msSFU30NisDomain
nTSecurityDescriptor
uid
Debe tener en cuenta que la carpeta CN=Deleted Objects es plana y que no tiene ninguna jerarquía de objetos. Puede creer que esta circunstancia provoque conflictos de nombres si elimina dos objetos diferentes con el mismo CN. Sin embargo, no es así. Dado que el objectGUID está incorporado en el RDN de todos los objetos de desecho, el RDN de cada objeto de desecho es exclusivo dentro del contenedor CN=Deleted Objects.
Por supuesto, los objetos no permanecen en el contenedor CN=Deleted Objects para siempre. La vigencia predeterminada de un objeto de desecho es de 60 días para bosques generados inicialmente con Windows® 2000 y Windows Server 2003, y de 180 días para los bosques generados inicialmente con Windows Server 2003 SP1. La vigencia del objeto de desecho se puede cambiar si configura el atributo tombstoneLifetime del objeto CN=Directory Service, CN=Windows NT, CN=Services,CN=Configuration, DC=<root domain>.
Cada 12 horas, todos los controladores de dominio inician un proceso de recopilación de elementos no usados (esto puede modificarse si configura un valor nuevo para el atributo garbageCollPeriod del objeto CN=Directory Service, CN=Windows NT, CN=Services, CN=Configuration, DC= <root domain>). Esta recopilación de elementos no usados examina todos los objetos de desecho del DC y elimina físicamente cualquiera que sea anterior a la vigencia del objeto de desecho.

Uso de LDP para buscar objetos de desecho
LDP es una utilidad parecida a Explorador de Windows que se usa para trabajar con Active Directory. Originalmente, el equipo de desarrollo de Active Directory diseñó LDP para probar su código LDAP mientras Active Directory estaba en proceso desarrollo. Ahora, como parte de las herramientas de soporte de Windows Server 2003, LDP ha evolucionado para convertirse en una herramienta sólida a la hora de trabajar con Active Directory.
Aunque los objetos de desecho sean invisibles para las operaciones normales del directorio, se pueden buscar en Active Directory mediante operaciones de búsqueda LDAP y extensiones especiales LDAP denominadas controles. Los controles son un mecanismo, definidos en el estándar LDAP, que se usan para extender el protocolo LDAP y proporcionar una funcionalidad adicional más allá de la que se define en el estándar LDAP sin perder compatibilidad con otro software compatible con LDAP. Active Directory admite 22 controles, incluido el control Return Deleted Objects. Cuando se usa para extender una operación de búsqueda LDAP, este control recupera objetos eliminados que de otro modo serían invisibles.
Para demostrar cómo funciona, se inicia sesión en el dominio foo.local con credenciales de administrador de empresa y, a continuación, se usa el complemento MMC de Usuarios y equipos de Active Directory (ADUC) para crear un objeto de usuario (CN=John Smith,CN=Users,DC=foo, DC=local), tal como se muestra en la figura 2. A continuación, se elimina el objeto de usuario, otra vez con ADUC.
Figura 2 Uso de ADUC para crear un usuario
Figura 2 Uso de ADUC para crear un usuario
Ahora se puede ejecutar el programa LDP y usarse para mostrar el objeto de desecho para el usuario eliminado. Este primer paso sirve para conectar LDP a un DC específico y autenticarlo con las credenciales apropiadas. Para conectarse al DC, simplemente se selecciona la opción Connect del menú Connection. Dado que se está ejecutando LDP en el DC, simplemente se hace clic en OK para conectarlo al DC local. Si se ejecuta LDP de forma remota, debe especificar el nombre del DC al que desea conectarse. Una vez establecida la conexión, LDP muestra los atributos rootDSE. Esto contiene los atributos que describen el estado y la configuración del DC (consulte la figura 3).
Figura 3 LDP conectado a un DC
Figura 3 LDP conectado a un DC
Ahora, para autenticar al DC con el dominio o las credenciales de administrador de empresa, se selecciona Bind desde el menú Connection. Dado ya se inició sesión como administrador de empresa para el bosque (de forma predeterminada, los administradores de dominio y administradores de empresa dispone de derechos para incluir objetos en una lista y reanimarlos en el contenedor CN=Deleted Objects); simplemente se deja el nombre de usuario y la contraseña en el cuadro de diálogo Bind y se hace clic en OK. De lo contrario, podría especificar las credenciales adecuadas en el cuadro de diálogo Bind.
A continuación, se incluye enumera el contenido del contenedor CN=Deleted Objects,DC=foo,DC=local. En general, nunca se ve el contenedor CN=Deleted Objects porque el propio contenedor está marcado como eliminado. La única manera en la que se puede buscar el CN=Objects Deleted para usar el contenedor es mediante el control LDAP Return Deleted Objects.
Para usar este control con LDP, vaya al menú Browse y seleccione Search. Aparecerá el cuadro de diálogo de búsqueda de la figura 4. El campo Base Dn permite especificar dónde empezar la búsqueda en el árbol del directorio. Se especifica el DN del contenedor Deleted Objects para el dominio (en este ejemplo, el DN es CN=Deleted Objects,DC=foo,DC=local).
Figura 4 Cuadro de diálogo de búsqueda de LDP
Figura 4 Cuadro de diálogo de búsqueda de LDP
En el campo Filter, se especifican los criterios de búsqueda que LDP va a usar. El valor predeterminado es (objectClass=*), el cual proporciona instrucciones para que la búsqueda devuelva todos los objetos que tienen un valor para el atributo objectClass. Debido a que incluso los objetos eliminados en Active Directory tienen un valor para objectClass, el filtro predeterminado devolverá todos los objetos dentro del ámbito de la búsqueda. En este ejemplo, se cambia el filtro a (objectClass=user), lo que limitará la búsqueda a objetos de usuario. Esto hará que sea más fácil encontrar el usuario eliminado John Smith entre los posibles miles de objetos de desecho del contenedor CN=Deleted Object.
Se puede encontrar con que hay más objetos en el contenedor CN=Deleted Objects de los que Active Directory devolverá en una única operación de búsqueda. Para controlar este problema, normalmente usaría una búsqueda paginada LDAP, que devuelve un grupo de resultados cada vez. Sin embargo, LDP no permite especificar una búsqueda paginada y ampliada. Por lo tanto, deberá ajustar el filtro LDAP para localizar el objeto deseado.
Los botones de opción Scope permiten especificar la cantidad del árbol de directorio en la que se debe buscar. Una búsqueda de base sólo devolverá el objeto especificado por el campo Base Dn. Una búsqueda de un solo nivel devolverá objetos que son inmediatamente subordinados al objeto Base Dn. Además, una búsqueda de subárbol devolverá todos los objetos subordinados al objeto Base Dn. Dado que la carpeta CN=Deleted Objects es plana, se usará una búsqueda de un solo nivel para recuperar todos los objetos de desecho.
Hasta ahora, solamente he descrito la búsqueda LDAP convencional. Si tuviese que ejecutarla ahora, LDP mostraría un error e indicaría que CN=Deleted Objects,DC=foo,DC=com no existe porque está marcado como eliminado. Todavía falta incluir el control LDAP Return Deleted Objects con la operación de búsqueda. Para ello, se hace clic en el botón Options del cuadro de diálogo Search y se selecciona Extended para la opción Search Call Type, tal como se muestra en la figura 5. Esta opción permite especificar los controles para la operación de búsqueda. Aquí, también se cambia la lista de atributos a *. De este modo, LDP mostrará todos los atributos normales para cada objeto que recupera, en vez del conjunto predeterminado de atributos LDP.
Figura 5 Búsqueda LDP Cuadro de diálogo de opciones
Figura 5 Búsqueda LDP Cuadro de diálogo de opciones
Ahora se hace clic en el botón Controls para que aparezca el cuadro de diálogo correspondiente. El cuadro de diálogo Controls de LDP es un poco complicado. Por lo tanto, al realizar esta tarea, asegúrese de seguir estos pasos cuidadosamente para agregar el control Return Deleted Objects.
Abra la lista desplegable Load Predefined, seleccione la opción Return deleted objects y haga clic en el botón Check. Esto agregará el identificador de objeto (OID) para el control Return Deleted Objects (1.2.840.113556.1.4.417) a la lista Active Controls, tal como se muestra en la figura 6. A continuación, LDP agrega el control a todas las operaciones de búsqueda ampliadas subsiguientes. Haga clic en OK para guardar la configuración del control y vuelva a hacer clic en OK para cerrar el cuadro de diálogo Search Options.
Figura 6 Adición del control Return Deleted Objects
Figura 6 Adición del control Return Deleted Objects
El cuadro de diálogo Controls tiene un comportamiento peculiar. Concretamente, aunque aparece un OID en la lista Active Controls, no significa necesariamente que el control esté realmente vigente. A veces se tiene que desproteger un control y luego volver a protegerlo para asegurarse de que el control se usará en la operación LDAP siguiente.
Ahora estamos listos para ejecutar la búsqueda. Al hacer clic en el botón OK del cuadro de diálogo LDP Search, LDP recupera todos los objetos de usuario desde el contenedor CN=Deleted Objects para el dominio. La figura 7 muestra los resultados obtenidos.
Figura 7 Resultados desde el contenedor CN=Deleted Objects
Figura 7 Resultados desde el contenedor CN=Deleted Objects

Análisis de los resultados LDP
La búsqueda devolvió dos objetos de desecho. En primer lugar, se puede consultar el DN del primer objeto de desecho: CN=John Smith\0ADEL:41800281-6bc4-42c3-a99b-b283022b3af8,CN=Deleted Objects,DC=foo,DC=local. El objectGUID del objeto eliminado se representa como una cadena (41800281-6bc4-42c3-a99b-b283022b3af8). Debajo del DN hay una lista de atributos que muestra los valores para objectClass, cn, distinguishedName, etcétera. Puede observar que el valor del atributo isDeleted es TRUE, lo que significa que el objeto fue de hecho eliminado. También verá que objectSid se conservó en el objeto de desecho; esto es importante para recuperar los objetos de desecho de usuario y grupo, como veremos más adelante. El atributo lastKnownParent, que representa el DN del objeto que contenía el objeto eliminado antes de convertirse en un objeto de desecho, también es muy importante a la hora de recuperar objetos de desecho.
En el ejemplo, LDP mostró dos objetos de desecho, ambos objetos de usuario denominados CN=John Smith que procedían originalmente del contenedor CN=Users,dc=foo,dc=local. ¿Cómo pueden dos objetos independientes con el mismo RDN proceder del mismo contenedor? La explicación es bastante sencilla. Antes de ejecutar LDP para buscar objetos de desecho, se creó el objeto de usuario CN=John Smith en el contenedor CN=Users,DC=foo,DC=local y se eliminó. A continuación, se creó otro objeto de usuario con todos los mismos atributos y también se eliminó. Dado que ya se había eliminado el primer objeto de usuario CN=John Smith, era perfectamente razonable crear un segundo, aunque tuviera el mismo nombre. Pero se trata de objetos independientes y exclusivos, distinguidos por sus objectGUID. Dado que Active Directory incorpora objectGUID en el DN del objeto de desecho, éstos aparecen como objetos independientes en el contenedor CN=Deleted Objects.

Reanimación de un objeto de desecho
Active Directory ofrece un mecanismo para restaurar un objeto de desecho y convertirlo de nuevo en un objeto normal. Se trata efectivamente de una función para recuperar objetos eliminados. Esta función es una operación LDAP especialmente formada para modificar los objetos y debe incluir dos modificaciones concretas del atributo: debe quitar el atributo isDeleted (no sólo establecerlo en FALSE) y debe mover el objeto a otro contenedor y cambiar su distinguishedName. Normalmente (aunque no necesariamente), el distinguishedName nuevo usa el atributo lastKnownParent como el contenedor y conserva el mismo RDN menos el 0ADEL:<objectGUID> que Active Directory agregó al crear el objeto de desecho.
Antes de reanimar el objeto de desecho, Active Directory se asegura que algunas de las condiciones que son necesarias sean todas verdaderas. El usuario debe tener el derecho de acceso ampliado de reanimación de objetos de desecho definido en el encabezado NC del NC que contiene el objeto de desecho. El usuario no puede reanimar su propio objeto. El atributo isDeleted del objeto de desecho debe establecerse en TRUE. Además, el identificador de seguridad de propietario (SID) del objeto, tal como se define en el descriptor de seguridad, debe tener un SID de uno de los dominios del bosque o de un dominio de confianza.
Si el objeto en cuestión está en los NC de configuración o de esquema, los bits FLAG_CONFIG_ALLOW_RENAME y FLAG_ CONFIG_ALLOW_MOVE deben establecerse en el atributo systemFlags del objeto de desecho. Si el objeto está en los NC de configuración o esquema y se establece el marcador FLAG_CONFIG_ALLOW_LIMITED_MOVE, el objeto sólo puede moverse a un contenedor que tiene la misma entidad primaria principal; es decir, el objeto debe retener su entidad primaria principal superior después del desplazamiento. Además, si el objeto se encuentra en un dominio NC o en una partición de aplicación, entonces los bits lFLAG_DOMAIN_DISALLOW_RENAME y FLAG_DOMAIN_DISALLOW_MOVE no deben establecerse en el atributo systemFlags del objeto de desecho.
El usuario debe disponer de los derechos, tal como se define en el descriptor de seguridad, para modificar el RDN (generalmente el CN, pero no siempre) y para agregar el objeto al contenedor primario nuevo. Asimismo, el contenedor primario nuevo debe ser un posible superior para el objectClass del objeto de desecho, tal como se define en el esquema. Aunque normalmente no se permiten los desplazamientos dentro o fuera del contenedor System (a menos que el valor del Registro del subárbol de sistema Unlock no sea un valor cero), se permite la reanimación de un objeto de desecho en el contenedor System.
La reanimación de un objeto de esquema no se permite nunca. Esto, sin embargo, no es realmente un problema ya que no se puede eliminar legítimamente un objeto desde el NC de esquema.
Si todas las comprobaciones se realizan correctamente y se cumplen los requisitos necesarios, Active Directory realiza los pasos siguientes sobre el objeto de desecho para reanimarlo:
  • El atributo isDeleted se quita.
  • Si no se recomienda lo contrario en la operación de modificación, objectCategory se establece en el objectClass más específico indicado en el objeto de desecho.
  • El RDN se cambia y el objeto se escribe en el contenedor primario nuevo.
Después de la reanimación, el objeto tiene los mismos atributos objectGUID y objectSid que tenía originalmente. Esto significa que las referencias externas al objeto, por ejemplo en las listas de control de acceso, no tienen que restablecerse como cuando se vuelve a recrear un objeto eliminado. El objeto reanimado tiene el mismo aspecto que antes de su eliminación y actúa del mismo modo. Sin embargo, hay una diferencia importante: el objeto restaurado pierde los atributos que no estaban guardados en el objeto de desecho.

Uso de LDP para reanimar objetos de desecho
Atributo systemFlags y comportamiento del objeto
El atributo systemFlags es un atributo opcional definido para la parte superior de la clase, que hace que systemFlags sea un atributo opcional para todas las clases de Active Directory. Se trata de una máscara de bits de números enteros de 32 bits que controla el comportamiento de los desplazamientos y las eliminaciones del objeto. A continuación se incluye un resumen de marcadores importantes.

FLAG_DISALLOW_DELETE (0x80000000)

Si se establece este marcador, el sistema no permitirá la eliminación del objeto ni su desplazamiento a otro dominio.

FLAG_CONFIG_ALLOW_RENAME (0x40000000)

Los NC de configuración y de esquema no pueden cambiar de nombre salvo que este marcador se establezca en el atributo systemFlags.

FLAG_CONFIG_ALLOW_MOVE (0x20000000)

Los objetos de los NC de configuración y de esquema no pueden moverse a menos que este marcador se establezca en el atributo systemFlags.

FLAG_CONFIG_ALLOW_LIMITED_MOVE (0x10000000)

Los objetos de los NC de configuración y de esquema no pueden moverse a menos que este marcador se establezca en el atributo systemFlags. Este marcador impone una limitación adicional en el contenedor de destino de la operación de desplazamiento; el contenedor de destino debe tener la misma entidad primaria principal que el contenedor actual.

FLAG_DOMAIN_DISALLOW_RENAME (0x08000000)

De forma predeterminada, los objetos en un dominio NC o aplicación NC pueden cambiar el nombre. Sin embargo, si este marcador se establece en el atributo systemFlags del objeto, el sistema no permitirá que el objeto cambie de nombre.

FLAG_DOMAIN_DISALLOW_MOVE (0x04000000)

De forma predeterminada, los objetos en un dominio NC o aplicación NC pueden moverse a otro contenedor. Sin embargo, si este marcador se establece en el atributo systemFlags del objeto, el sistema no permitirá mover el objeto.

FLAG_DISALLOW_MOVE_ON_DELETE (0x02000000)

Si se establece este marcador, el sistema no permitirá mover el objeto al contenedor CN=Deleted Objects de su contexto de nomenclatura. Simplemente se establecerá el atributo isDeleted, cambiará el nombre del objeto y se eliminarán los atributos no designados en el esquema para que se guarden. Esto significa que no todos los objetos eliminados aparecen en el CN=Deleted Objects para el contexto de nomenclatura; algunos se quedan en el contenedor principal de origen.

Ahora que hemos visto cómo todos los detalles del funcionamiento de la reanimación de objetos de desecho, me gustaría demostrar cómo se puede usar LDP para restaurar el usuario CN=John Smith que se eliminó. Primero hay que conectarse a un DC y autenticarse. A continuación, ya se podrá realizar una operación de modificación con LDP. En los parámetros de modificación, se puede quitar el atributo isDeleted y especificar un DN nuevo al mismo tiempo.
Dado que se está trabajando un objeto de desecho, se debe especificar el control LDAP Return Deleted Objects. Para establecer este control para la operación de modificación en LDP, seleccione Controls desde el menú de opciones, seleccione Return deleted objects de la lista desplegable Load Predefined, haga clic en el botón Check in y, a continuación, en OK para guardar la configuración del control.
Ahora se selecciona Modify del menú Browse para abrir el cuadro de diálogo Modify y escribir el DN del objeto de desecho que se desea restaurar. La manera más fácil de hacerlo es copiar y pegar el DN desde los resultados de la operación de búsqueda que se realizó anteriormente.
A continuación, se debe especificar una lista de las operaciones de atributos que se van a realizar. La reanimación de un objeto de desecho requiere dos operaciones de atributo: eliminar el atributo isDeleted y reemplazar el atributo distinguishedName con el DN deseado del objeto de desecho reanimado. Por lo tanto, se escribe isDeleted en el campo Attribute y se selecciona el botón de opción Delete. Al presionar el botón Intro, la operación de atributo se agrega a la lista Entry, tal como se muestra en la figura 8.
Figura 8 Especificación de las operaciones de atributo que se van a realizar
Figura 8 Especificación de las operaciones de atributo que se van a realizar
A continuación se especifica distinguishedName en el campo Attribute, se selecciona el botón de opción Replace y se escribe el DN nuevo del objeto en el campo Values. En este caso, se usa el distuiguishedName original del usuario, CN=John Smith,CN=Users,DC=foo,DC=local. Al presionar el botón Intro, la operación de modificación se agrega a la lista Entry.
Dado que falta incluir el control LDAP Return Deleted Objects con la operación de modificación, debe usarse una modificación LDPA ampliada. Para ello, se activa la casilla Extended. Una vez que se haya establecido todo, tal como se muestra en la figura 9, se hace clic en el botón Run para realizar los cambios. LDP muestra los resultados en una ventana grande de texto.
Figura 9 Cambio de distinguishedName
Figura 9 Cambio de distinguishedName
Al volver al complemento MMC de Usuarios y equipos de Active Directory y buscar en el contenedor CN=Users, se encontrará el objeto de usuario que se había eliminado en su lugar de origen. Sin embargo, el objeto tendrá algunas diferencias importantes con respecto a su estado original, las cuales veremos dentro de un momento.

Uso de ADRESTORE para reanimar objetos de desecho
Una vez que se ha resuelto cómo usar LDP, la reanimación de un objeto de desecho no es una acción muy difícil. No obstante, tampoco es muy cómoda. Afortunadamente, el equipo de Sysinternals (compañía que ahora forma parte de Microsoft) desarrolló una herramienta en la línea de comandos que permite simplificar el proceso de reanimación. Esta herramienta, llamada ADRESTORE, está disponible desde el sitio web de Microsoft en la dirección microsoft.com/technet/ sysinternals/utilities/AdRestore.mspx. La instalación es sencilla. Simplemente copie los archivos ejecutables en un directorio adecuado del equipo, por ejemplo, el directorio C:\WINDOWS\SYSTEM32.
ADRESTORE se ejecuta de dos modos. Si se ejecuta sin parámetros, incluirá una lista con todos los objetos de desecho en el contenedor CN=Deleted Objects del dominio predeterminado. Puede agregar una cadena de búsqueda a la línea de comandos para seleccionar los objetos que desee mostrar, por ejemplo:
C:\> adrestore John
Esto mostrará todos los objetos de desecho en el contenedor CN=Deleted Objects que contienen la cadena "John" en su CN o atributo OU: usa los filtros de búsqueda LDAP cn=*John* y ou=*John*. Ésta no es exactamente la manera más flexible de buscar objetos de desecho, pero es muy adecuado para la mayoría de las situaciones. La figura 10 muestra el resultado de la búsqueda que devuelve ADRESTORE.
Figura 10 Atributos guardados en un objeto de desecho
Figura 10 Atributos guardados en un objeto de desecho
Si desea reanimar un objeto de desecho y no sólo buscarlo, entonces deberá especificar el modificador de comandos –r junto con una cadena opcional, tal como se muestra a continuación:
C:\> adrestore –r John
Este comando solicitará la reanimación de todos los objetos que coincidan con el objeto de desecho. ADRESTORE siempre reanima el objeto en el contenedor indicado por el atributo lastKnownParent del objeto de desecho. No hay ninguna manera de especificar un contenedor diferente.
ADRESTORE proporciona una interfaz de línea de comandos para usar la funcionalidad de reanimación de Active Directory. Aunque no es muy flexible, es algo más fácil de usar que LDP. Aún así, ADRESTORE no evita dos problemas importantes que se dan en la reanimación de objetos de desecho: recuperar los atributos quitados del objeto cuando se eliminó por primera vez y recuperar los objetos eliminados del NC de configuración.

Recuperación de atributos de objeto
Desde el punto de vista de la recuperación de datos, la reanimación de objetos de desecho presenta más ventajas que realizar una restauración autoritativa: La reanimación de objetos de desecho no requiere la interrupción de la conexión del DC. Además, es mucho mejor que simplemente volver a crear una versión nueva de un objeto eliminado. Al volver a crear un objeto, se obtiene siempre sendos atributos objectGUID y objectSid nuevos (si se trata de una entidad principal de seguridad como, por ejemplo, un usuario). Como resultado, deberán actualizarse las referencias externas al objeto, por ejemplo las ACL, para reflejar la nueva identidad del objeto. Esto puede ser un auténtico dolor de cabeza.
Algunos atributos se quitan al eliminarse un objeto y no se recuperan con la reanimación de los objetos de desecho. Pero Active Directory guarda algunos atributos clave en el objeto de desecho, el más importante de los cuales son atributos relacionados con la identidad, como por ejemplo, objectGUID y objectSid. También guarda muchos otros atributos de forma predeterminada (consulte la figura 1). La mayoría de los atributos que se codifican para guardarse no es muy importante, especialmente en un análisis acerca de la recuperación de objetos de usuario eliminados. Pero se pueden especificar atributos adicionales para que se guarden en el objeto de desecho si se configura el bit 3 (0x00000008) del atributo searchFlags del objeto attributeSchema correspondiente en el esquema de Active Directory. Algunos atributos ya tienen este bit establecido en el esquema en Windows Server 2003 R2 (estos se muestran también en la figura 1).
La instalación de ciertas aplicaciones puede cambiar el bit 3 de searchFlags de los atributos existentes o incluso agregar atributos nuevos que tiene el bit 3 establecido. Exchange Server, por ejemplo, configura varios atributos adicionales que se van a guardar en el objeto de desecho.
Active Directory no guardará los atributos de vínculos hacia adelante o vínculos hacia atrás en el objeto de desecho, incluso si se especifica que se haga así en el atributo searchFlags del objeto del esquema. Concretamente, Active Directory no guarda elementos tal como el atributo de miembro de un grupo o el atributo memberOf de un usuario. De esta manera, la reanimación de objetos de desecho no ofrece una solución a la hora de recuperar las pertenencias a grupos en Active Directory. Para ello, consulte el artículo "Recuperación de desastres: Usuarios y grupos de Active Directory" en technetmagazine.com/issues/2007/04/ADRecovery. Por lo tanto, aún será necesario proporcionar un mecanismo alternativo para recuperar esta información al reanimar objetos de desecho.
Si desea usar la reanimación de objetos de desecho como parte de la estrategia de recuperación de datos, deberá asegurarse de que los atributos importantes se guarden en el objeto de desecho o bien deberá proporcionar otra manera de guardar y recuperar atributos importantes, tal como el uso LDIFDE u otro esquema de copia de seguridad y restauración. Otras opciones incluyen productos de recuperación de datos de Active Directory de terceros que ofrecen un mecanismo automatizado para realizar copias de seguridad y restaurar los atributos que no se guardar en objetos de desecho ni se recuperan de éstos.

Reanimación de objetos desde el contexto de nomenclatura de configuración
Otra limitación substancial de la reanimación de objetos de desecho es que, en términos generales, no se pueden reanimar objetos eliminados desde el NC de configuración. Estos objetos están sujetos a reglas especiales relacionadas con los desplazamientos y los cambios de nombre, tal como se define mediante el atributo systemFlags del objeto. Salvo que se especifique lo contrario mediante el atributo systemFlags, los objetos en el NC de configuración no pueden desplazarse ni cambiar de nombre, lo que significa que sus objetos de desecho no se pueden reanimar. Active Directory aplica algunos valores para el atributo systemFlags al crear objetos de clases específicas, tal como se define en la figura 11. Observe que Active Directory aplica la operación OR lógica bit a bit a estos valores en combinación con cualquier valor de systemFlags especificado en la operación de adición. De este modo, incluso si la aplicación especifica un valor diferente para el atributo systemFlags, los bits necesarios se establecerán correctamente.
Figure 11 Configuración predeterminada de systemFlags (Close Figure 11)

Clase | Configuración predeterminada
server | FLAG_DISALLOW_MOVE_ON_DELETE FLAG_CONFIG_ALLOW_RENAME FLAG_CONFIG_ALLOW_LIMITED_MOVE
site | FLAG_DISALLOW_MOVE_ON_DELETE
serversContainer | FLAG_DISALLOW_MOVE_ON_DELETE
nTDSDSA | FLAG_DISALLOW_MOVE_ON_DELETE
siteLink | FLAG_CONFIG_ALLOW_RENAME
siteLinkBridge | FLAG_CONFIG_ALLOW_RENAME
nTDSConnection | FLAG_CONFIG_ALLOW_RENAME
Los únicos objetos de NC de configuración que se pueden reanimar en circunstancias normales son objetos de servidor. Curiosamente, cuando Active Directory elimina un objeto de servidor, el objeto de desecho no se mueve al contenedor CN=Deleted Objects para el NC de configuración, ya que se queda simplemente donde está el objeto. Esto permite que el comprobador de coherencia de la información (KCC), que es el proceso responsable de calcular la topología de replicación de Active Directory, para recuperar algunos escenarios automáticamente en los que los objetos de servidor eliminados podrían inhibir una replicación necesaria. Por lo tanto, si se encuentra intentando reanimar un objeto de servidor, recuerde que no lo encontrará en el contenedor CN=Deleted Objects.

Reanimación dentro del plan de recuperación
La reanimación de objetos de desecho debe ser una parte clave del kit de herramientas de la recuperación de datos. Este mecanismo es la única manera de recuperar objetos eliminados sin tener que interrumpir la conexión del DC e, igualmente importante, es la única manera de recuperar información de identidad de un objeto eliminado. Resuelve ordenadamente el problema de volver a crear un usuario o grupo de usuarios eliminados y de tener que corregir todas las referencias anteriores de las listas de control de acceso (ACL).
Sin embargo, la reanimación de objetos de desecho es una solución incompleta. Deberá proporcionar su propio mecanismo de recuperación de los atributos que Active Directory no retiene en los objetos de desecho, y su capacidad para recuperar objetos eliminados a partir del NC de configuración es limitada. Recuerde que si decide reanimar un usuario o un grupo eliminado, aún deberá recuperar las pertenencias a grupos y cualquier otro atributo vinculado que se pudiese necesitar.

Gil Kirkpatrick es Director general de tecnología de NetPro y desarrolla software para Active Directory desde 1996. Junto con Guido Grillenmeier de HP, imparte los conocidos talleres de recuperación de desastres de Active Directory. También es el fundador de la Conferencia de expertos en directorios (www.dec2007.com).


 Comunicaciones: Conexi&#243;n de usuarios con Office Communications Server 2007
Comunicaciones Alan Maddison

Conexión de usuarios con Office Communications Server 2007
Resumen:
  • Arquitectura de Office Communications Server
  • Características de conferencia
  • Enterprise Voice
  • Presencia mejorada

La comunicación unificada está aquí. El lanzamiento inminente de Office Communications Server 2007 ofrecerá una revisión completa de la experiencia que actualmente ofrece Live Communications Server 2005. Además de las mejoras en la arquitectura y la administración, Office
Communications Server 2007 incluye un cliente nuevo, Office Communicator. También incluye capacidades nuevas y mejoradas tales como Enterprise Voice, conferencias web locales, presencia mejorada y mensajería instantánea y federación. Estas características combinadas ofrecen la plataforma para la estrategia Microsoft ® Unified Communications y prometen mejorar la productividad y mejorar la colaboración a larga distancia.
Esta actualización también incluye una interfaz de complementos simplificada de Microsoft Management Console (MMC). La figura 1 muestra una de las nuevas mejoras administrativas para contadores de rendimiento.
Figura 1 El nuevo complemento de MMC incluye contadores de rendimiento
Figura 1 El nuevo complemento de MMC incluye contadores de rendimiento
El nuevo Office Communications Server 2007 se ofrece en dos ediciones: Standard y Enterprise. Office Communications Server 2007 Standard es ideal para implementaciones de menos de 10.000 usuarios. En una implementación de la edición Standard, un único servidor front-end hospedaría todos los servicios.
Para implementaciones más grandes, está disponible la edición Enterprise, que se puede implementar en una configuración consolidada o ampliada. En una topología consolidada, todo el hardware está dispuesto en un mismo grupo de servidores front-end. Para conseguir una escalabilidad máxima, puede usar la configuración ampliada, que le permite usar servidores web dedicados que ejecuten Internet Information Services (IIS), conferencia por web y servidores de conferencia audiovisual (A/V) que se encuentren fuera del grupo de servidores front-end de la empresa. La figura 2 muestra una topología de configuración ampliada.
Figura 2 Topología de configuración ampliada
Figura 2 Topología de configuración ampliada

Arquitectura
La arquitectura de Office Communications Server 2007 se diseñó sobre una base de servidores principales: servidores front-end, servidores perimetrales y servidores de aplicaciones. Los servidores front-end proporcionan autenticación de usuarios, mantenimiento de libretas de direcciones, administración de presencia, administración de conferencias y hospedaje de aplicaciones, así como tratamiento de señales entre servidores y clientes, administración de medios (incluidos archivos compartidos) y enrutamiento de mensajería instantánea (IM) y del tráfico de conferencia.
La funcionalidad principal de conferencias de Office Communications Server 2007 se proporciona a través de una serie de servidores integrados también conocidos como unidades de control multipunto (MCU). La figura 3 ofrece un resumen de estos servidores y sus funciones.
Figure 3 Servidores de conferencia y sus funciones (Close Figure 3)

Servidor de conferencias (MCU) | Funcionalidad compatible
Mensajería instantánea | Habilita la mensajería instantánea de grupo al enrutar su tráfico entre los participantes. Integrada en el servidor front-end y no se puede instalar en un servidor independiente.
Telefonía | Habilita la compatibilidad con señales de marcado entrante y saliente. Integrada en el servidor front-end y no se puede instalar en un servidor independiente.
Web | Responsable de las funcionalidades de colaboración tales como pizarras, uso compartido de aplicaciones y Preguntas y respuestas. Este servidor también admite el acceso compartido a documentos de Office y presentaciones de PowerPoint. Se puede instalar en el servidor front-end o en la configuración de grupo ampliada en un servidor independiente.
A/V | Se usa para la combinación y retransmisión de audio/vídeo IP entre varios interlocutores. Se puede instalar en el servidor front-end o en la configuración de grupo ampliada en un servidor independiente.
Otra función importante del servidor front-end es como host del servidor de la libreta de direcciones. Quienes estén familiarizados con Live Communications Server 2005 SP1 reconocerán este servicio. En Office Communications Server 2007, juega un papel central y ya no es un componente opcional. El servidor de la libreta de direcciones se compone de dos componentes: el servicio de la libreta de direcciones y el almacén de archivos de la libreta de direcciones. Este servidor es responsable de proporcionar la información de contacto tanto de fuentes internas como externas. La lista global de direcciones y las listas de distribución de Active Directory® y Exchange Server son ejemplos típicos de fuentes internas. Entre las fuentes externas se incluyen los usuarios de asociados federados o contactos públicos de mensajería instantánea.
Office Communications Server 2007 mejora la conectividad con usuarios externos presentada en Live Communications Server 2005 y permite que participen usuarios externos en conferencias locales. Esta funcionalidad adicional requiere dos nuevos servidores perimetrales: el de conferencia web y el audiovisual. Otro cambio es que lo que anteriormente se conocía como servidor proxy de acceso ahora se denomina servidor perimetral de acceso. Los servidores perimetrales de Office Communications Server están diseñados para colocarse en el perímetro de la red (subred filtrada) y proporcionar conectividad crítica de usuario externo. La figura 4 ofrece un resumen de las funciones del servidor perimetral y de sus usos.
Figure 4 Funciones de servidor perimetral (Close Figure 4)

Servidor | Funcionalidad compatible
Acceso al servidor perimetral | Federación; conectividad de usuario remoto; conectividad pública de mensajería instantánea (PIC).
Servidor perimetral de conferencias web | Conferencias web externas.
Servidor perimetral de A/V | Conferencias y llamadas audiovisuales punto a punto con usuarios externos.
Servidor proxy inverso | Expansión de grupos, descarga de archivos de libretas de direcciones, acceso de conferencias web a contenido de reuniones. No es estrictamente una función de Office Communications Server, pero ofrece funcionalidad crítica. ISA Server 2006 también puede ofrecer funcionalidad de proxy inverso.
Además de los servidores integrados descritos anteriormente, Office Communications Server aprovecha los distintos servidores de aplicaciones para realizar funciones esenciales, tales como la autenticación, el almacenamiento de metadatos de conferencia y funcionalidades de lista de distribución. Entre los servidores de aplicaciones usados normalmente con Office Communications Server se incluyen IIS, servidores de certificados, servidores de catálogo global del entorno de Active Directory, SQL Server® 2005, Exchange Server 2007 y servidores de archivos.
IIS se usa para proporcionar acceso a contenido de reuniones, actualizaciones de libretas de direcciones, expansión de grupos de distribución de Active Directory para mensajería instantánea, expansión de listas de distribución de Outlook® para usuarios externos y para facilitar la comunicación subyacente entre componentes de Office Communications Server.
Los servidores de certificados juegan un papel fundamental dentro de Office Communications Server desde el punto de vista de la comunicación cliente/servidor y servidor/servidor. Si usa un servidor interno de certificados de empresa, todos los clientes y servidores internos deben confiar en la entidad de certificación (CA). Por eso, en los almacenes de entidades raíz de confianza de todos los equipos deben instalarse las cadenas de certificados de CA. Si usa los servicios de federación de Office Communications Server, su organización asociada debe hacer lo mismo.
Los servidores de catálogo global de su entorno de Active Directory son compatibles con la autenticación de participantes de conferencia. Los servidores de catálogo global usarán Kerberos para la autenticación de usuarios internos y federados. Los usuarios remotos empleados por su empresa usarán sus credenciales de Active Directory sobre NTLM y los usuarios anónimos se autenticarán con Autenticación de texto implícita.
SQL Server 2005 se usa para mantener datos de estado acerca de conferencias, registro de usuarios e información de presencia. En caso de error, puede restaurar rápidamente una reunión con los datos almacenados en SQL Server, ofreciendo así un método rápido y seguro de recuperación sin pérdidas de contenido.
Exchange Server 2007 y sus características de mensajería unificada ofrecen un añadido importante a Office Communications Server 2007 mediante la inclusión de mensajería de voz y capacidades de asistencia automática.
Los servidores de archivos se usan para almacenar datos a los que los clientes necesitan obtener acceso. Por ejemplo, los archivos físicos que necesitan los clientes al descargar la libreta de direcciones se almacenan en un servidor de archivos. Del mismo modo, el contenido adicional de la reunión también se almacena en un servidor de archivos.
La arquitectura de protocolos subyacente de Office Communications Server 2007 se basa en una combinación de protocolos estándar de Internet y de Microsoft. Por ejemplo, el protocolo de inicio de sesión (SIP) se usa extensamente para funciones como, por ejemplo, la mensajería instantánea, conferencias y suscripciones de presencia. Los protocolos que usan los distintos componentes de Office Communications Server ofrecen la máxima eficacia y flexibilidad. La figura 5 proporciona un resumen de los protocolos esenciales y de su uso.
Figure 5 Protocolos y su uso (Close Figure 5)

Protocolo | Funcionalidad compatible
HTTP (Protocolo de transferencia de hipertexto) | Acceso de cliente, descarga de contenido de reuniones y datos de libretas de direcciones. También se usa para la comunicación entre los servidores de conferencia y Focus, un componente de Office Communications Server.
Protocolo de inicio de sesión (SIP) | Creación de sesiones y administración por los distintos componentes de Office Communications Server, incluido Enterprise Voice, mensajería instantánea, servidores de conferencia y presencia mejorada.
Protocolo de control de conferencia centralizado (CCCP) | Protocolo personalizado que se usa para establecer y controlar conferencias y clientes de conferencia.
Modelo de objetos compartidos persistente (PSOM) | Protocolo personalizado que se usa en el transporte del contenido de conferencias web, incluidas claves de seguridad y funciones y derechos de usuario.
Protocolo de transporte en tiempo real (RTP) | Entrega de datos en tiempo real. Dentro de Office Communications Server 2007, ofrece el mecanismo de transporte para Enterprise Voice y las conferencias audiovisuales.
Protocolo de transporte seguro en tiempo real (SRTP) | Servicios de seguridad como cifrado, autenticación de mensajes e integridad para datos de RTP. Dentro de Office Communications Server 2007, se usa para el transporte seguro de contenido de audio y video a dispositivos de medios como micrófonos y altavoces.
Protocolo de control de transporte en tiempo real (RTCP) | Se usa junto con SRTP para transmitir información acerca de la calidad de la señal de A/V de conferencias entre dispositivos de medios.

Enterprise Voice
Enterprise Voice es la implementación de Microsoft de la telefonía del protocolo de voz sobre Internet (VoIP) y es la incorporación individual más significativa que se ha hecho al producto. Basado en una implementación que usa el protocolo de inicio de sesión (SIP) para la señalización y el protocolo en tiempo real (RTP) para el tráfico de voz, Enterprise Voice le permite hacer y recibir llamadas entre equipos y también a cualquier otro teléfono. Enterprise Voice también proporciona funcionalidades como, por ejemplo, el control y el enrutamiento de llamadas y la normalización de números. Existe compatibilidad con la red telefónica conmutada pública (PSTN) e interoperabilidad con centralitas de conmutación privadas (PBX) que sean compatibles con SIP, aplicaciones de telecomunicaciones asistidas por equipos (CSTA) o que se intercomuniquen directamente con el la API de Office Communications Server 2007.
Office Communications Server 2007 se puede implementar sin modificaciones importantes en su infraestructura de voz existente y sin que ello le impida lograr prestaciones considerables. Para ello, Enterprise Voice admite tres configuraciones de implementación: SIP–PBX, SIP–IP–PBX e IP-PSTN.
En la configuración SIP–PBX, PBX controla todas llamadas remotas y se conservan los teléfonos existentes. Esta integración se consigue gracias a la puerta de enlace del control de llamadas remotas (RCC) y de CSTA.
La configuración SIP–IP–PBX aprovecha la puerta de enlace IP-PSTN, que elimina la necesidad de CSTA y permite al cliente de Office Communicator llamar a números y controlar el teléfono IP-PBX. Si no dispone de microteléfonos puede configurar Office Communicator como "teléfono por software".
Implementar Office Communications Server 2007 con el componente IP-PSTN le permite enrutar controles de llamada a los servidores front-end. Office Communicator puede comunicarse con extremos VoIP o SIP de terceros certificados por Microsoft (en muchas organizaciones este extremo normalmente es un microteléfono) para hacer y recibir llamadas a través de Internet.
Las puertas de enlace de medios son puertas de enlace de terceros que proporcionan señalización y conversión de medios entre VoIP y PSTN. Office Communications Server 2007 es compatible con tres tipos de puertas de enlace de medios, que se pueden clasificar como básicas, avanzadas e híbridas básicas. Para ser compatible con puertas de enlace distintas de las avanzadas, Office Communications Server 2007 incluye la función de servidor de mediación, que proporciona una funcionalidad de protocolo crítica y conversión de medios. También es posible la integración con oficina remota usando los componentes disponibles con Office Communications Server.
Al igual que con otros componentes de Office Communications Server 2007, Enterprise Voice depende de servidores perimetrales para ofrecer conectividad a usuarios externos. En especial, el servidor perimetral de acceso se requiere (por su función de señalización SIP) para los usuarios que se encuentran fuera del perímetro corporativo, mientras que el servidor perimetral de A/V permite que los usuarios externos que tengan acceso a servicios de voz o vídeo se conecten a través de servicios de red perimetrales como, por ejemplo, la implementación de firewall y de traducción de direcciones de red (NAT).
Aunque en última instancia Enterprise Voice admitirá un gran número de clientes, el cliente recomendado actualmente para Enterprise Voice es la versión más reciente de Office Communicator. Además, Microsoft y sus asociados han anunciado planes para nuevo hardware de telefonía VoIP que se integrará con Office Communications Server.
Enterprise Voice también se integra con la función Mensajería unificada de Exchange Server 2007, lo que ofrece una única interfaz para buzón de voz, correo electrónico, calendarios, contactos y recepción de fax, a la que se puede obtener acceso desde un teléfono con Acceso por voz de Outlook o desde un equipo. Además, Mensajería unificada proporciona servicios de operador automático, que le ofrecen la oportunidad de implementar un sistema de menú telefónico automatizado.

Presencia mejorada
El concepto de presencia con el que puede estar familiarizado en Live Communications Server 2005 se ha extendido y mejorado en Office Communications Server 2007. En general, la presencia está asociada con el estado y la disponibilidad de los usuarios. En Office Communications Server, la infraestructura de soporte ha creado una experiencia más enriquecida gracias a la mejora en la granularidad para configurar información relacionada con la presencia.
Ahora los usuarios tienen la opción de seleccionar entre seis modos distintos de estado: el estado puede establecerse como Conectado, No disponible, No molestar, Vuelvo enseguida, Ausente o Sin conexión. Los usuarios también tienen la capacidad de personalizar este estado con información adicional. Por ejemplo, si el estado de un usuario se establece en No molestar, el usuario puede proporcionar información adicional acerca del por qué no se le debe molestar.
La presencia mejorada también permite a los usuarios filtrar la información que se muestra a los demás usuarios a través del uso de cinco niveles de presencia opcionales: estos niveles de presencia son Personal, Equipo, Lugar de trabajo, Público y Bloquear. Estos niveles ofrecen un método jerárquico a la administración de la presencia. Por ejemplo, el nivel de presencia Personal ofrece a los contactos la mayor flexibilidad al permitir acciones como, por ejemplo, el contacto a través de mensajería instantánea incluso cuando el estado del usuario se haya establecido en No disponible. Los niveles de presencia también controlan la cantidad de información que se muestra a los contactos.
Además, al usar Office Communicator, un usuario puede establecer su estado de ubicación, que puede ser una ubicación personalizada o una de las opciones predeterminadas de casa u oficina. La información de ubicación está disponible para los contactos clasificados como Personal o Equipo.
Aunque las mejoras en la presencia son bienvenidas y representan un avance para simplificar las comunicaciones, es la infraestructura subyacente de Office Communications Server y el motor de presencia los que tendrán una mayor repercusión en las organizaciones. Por ejemplo, Office Communications Server 2007 incorpora Member Web Part, un objeto web de Office SharePoint Server 2007 que permite a los usuarios ver la presencia de otros usuarios asociados con un sitio web o portal de SharePoint. Este objeto web se puede agregar fácilmente a los sitios de SharePoint para facilitar la información de presencia en toda la infraestructura de colaboración crítica.
La información de presencia está integrada en el conjunto completo de aplicaciones de Microsoft® Office 2007 mediante el uso de áreas de trabajo de documentos y de botones de etiquetas inteligentes. Por ejemplo, los botones de etiquetas inteligentes pueden mostrar el estado, el contacto y la información de calendario de usuarios. Los usuarios pueden emplear las acciones de las etiquetas inteligentes para compartir trabajo, programar reuniones o iniciar una conversación de mensajería instantánea.

Conferencias locales
Otra mejora considerable de Office Communications Server 2007 es la capacidad de celebrar conferencias locales. La capacidad de hospedar conferencias en tiempo real con usuarios internos o externos (anónimos o federados) será una herramienta valiosa para muchas organizaciones. Estas conferencias pueden se programadas o ad hoc e incluir conferencias de mensajería instantánea, audiovisuales y web, así como otras herramientas de colaboración como, por ejemplo, el acceso a archivos compartidos, pizarras compartidas, anotación de diapositivas, sondeo de participantes y sesiones de preguntas y respuestas de los participantes. Office Communications Server también admite la transición de un tipo de la conferencia a otro. Por ejemplo, un usuario tiene la opción de agregar la colaboración a una sesión existente de mensajería instantánea y crear una conferencia ad hoc.
Aunque Office Communicator es el cliente recomendado para las conferencias, Office Communications Server 2007 también es compatible con Office Live Meeting 2007 y con el complemento Office Live Meeting para Outlook 2007. Office Communicator 2007 admite la mensajería instantánea, la participación de sesiones audiovisuales, el uso compartido de aplicaciones, las pizarras compartidas y la transferencia de archivos. Office Live Meeting 2007 admite la participación de conferencias, así como la programación de sesiones, las sesiones grabadas, el sondeo de participantes y las preguntas y respuestas.
El complemento Office Live Meeting 2007 para Outlook 2007 admite tareas de conferencia usando Outlook 2007, así como la capacidad de designar a participantes individuales como asistentes o moderadores y de enviar invitaciones distintas para las funciones diferentes. Además de los usuarios que dispongan de la función de Organizador, Moderador o Asistente, también se clasifican como pertenecientes a un grupo de usuarios internos o externos según su ubicación y credenciales. Los usuarios internos tienen un inicio de sesión de Active Directory y se encuentran en la LAN corporativa. Los usuarios externos se subdividen en tres categorías: remotos, federados y anónimos.
Los usuarios remotos identifican a cualquiera con una cuenta de Active Directory dentro de una organización. Entre ellos se pueden incluir trabajadores remotos o contratistas. Todos los usuarios remotos pueden hospedar, asistir y presentar conferencias.
Los usuarios federados tienen credenciales definidas por el establecimiento de una federación dentro de Office Communications Server. Los usuarios federados pueden asistir a reuniones y actuar como moderadores, pero no pueden organizar reuniones.
Los usuarios anónimos son el grupo con más restricciones; sólo pueden asistir a las reuniones a las que se les ha invitado.
Para proporcionar un nivel adicional de seguridad para cualquier reunión dada, es posible especificar tipos diferentes de configuración de control de entrada. Office Communications Server 2007 ofrece los siguientes: abierta autenticada, cerrada autenticada y anónima.
Una reunión abierta autenticada permite a cualquier usuario remoto o interno con una entrada de Active Directory unirse a la reunión. También puede unirse cualquier usuario federado. Una reunión cerrada autenticada restringe la reunión a los usuarios invitados por el organizador de la reunión. Los usuarios federados no pueden participar en la reunión.
Una reunión anónima está abierta a cualquiera que reciba una invitación. Para unirse a ella, el usuario debe presentar una clave de conferencia y aprobar la autenticación de texto implícita para que se comprueben sus credenciales. A menos que se promocione su nivel a moderador después de unirse, los usuarios anónimos sólo pueden ser asistentes. La figura 6 muestra algunas de las opciones de configuración disponibles.
Figura 6 Configuración de reuniones
Figura 6 Configuración de reuniones

Marcado
Al simplificar las comunicaciones, integrarse con distintos medios de comunicación y poner el control en manos del usuario, Office Communications Server 2007 tiene el potencial para revolucionar la manera en que trabaja su empresa. El concepto de comunicaciones contextuales, donde la información de presencia y un medio para comunicarse están integrados en la aplicación, será la base de esta revolución. Si Office Communications Server 2007 no está en su laboratorio, debería estarlo.
Para obtener más información acerca de Office Communications Server 2007 y probar esta versión beta, eche un vistazo al TechCenter de Office System en la dirección technet.microsoft.com/en-us/office/bb267356.aspx. Asegúrese también de visitar el Blog del equipo de desarrollo de comunicaciones unificadas en la dirección blogs.techNet.com/uc.

Alan Maddison es un consultor jefe en MTI Technology Corporation. Su trabajo se centra principalmente en Active Directory, Exchange Server y en la virtualización.


 Nota del editor: Caminos al aprendizaje
Nota del editor
Caminos al aprendizaje
Joshua Trupin

Desde que creamos revistas, hemos creado nuestro número de septiembre con una especie de motivo de "regreso a la escuela". Por supuesto, sabemos que esta agenda no siempre es exacta. Por ejemplo, gran parte de Estados Unidos vuelve a la escuela a finales de agosto. Y parece que algunas personas nunca dejan de ir a la escuela.
Sin embargo, para la mayoría de nosotros, septiembre está muy cerca. Y TechNet Magazine es la institución de educación superior que concede el título de profesional de TI. Bueno, acabamos de inventar eso. Pero no inventamos la educación que obtiene con nuestra revista. Hemos desarrollado un plan de estudios completo de la enseñanza de este mes.
Como todas las buenas instituciones de educación superior, ofrecemos una variedad de experiencias educativas, desde cursos introductorios en SQL para los admiradores del scripting (en "¡Hola, encargados del scripting!") hasta una encuesta de herramientas de administración de Active Directory.
Nuestros estudios de nivel intermedio incluyen un programa de grado en Windows Vista. Primero aprenderá cómo implementar Windows mediante Business Desktop Deployment (BDD 2007). A continuación, una vez que implementa Windows Vista en su empresa, recibe también la orientación sobre cómo implementar copias de seguridad periódicas en sus sistemas, con una mirada sobre algunas de las tecnologías clave disponibles en la actualidad.
Ahora está cerca de recibir su diploma de profesional de TI, y puede aprovechar nuestras opciones de cursos avanzados en estudios de Active Directory. Si jamás se preguntó acerca de la reanimación de desechos pero no desea esperar hasta nuestro especial de la víspera de Todos los Santos, puede comenzar a cavar en este mes.
TechNet Magazine, por supuesto, es sólo un camino al aprendizaje. El sitio web de Microsoft TechNet le ofrece cursos a distancia adicionales. TechNet posee centenares de webcasts en tecnologías clave para profesionales de TI, que incluyen demostraciones de cómo Microsoft IT usa internamente la tecnología. Las ofertas de webcast se dividen por tipo de público (profesionales de TI, ejecutivos, etc.) y tecnologías, y se valoran por el nivel de dificultad, igual que en un catálogo universitario real.
Sólo para dar un ejemplo, TechNet Magazine ofrece este mes varios artículos exhaustivos sobre Active Directory. Pero es posible que se encuentre un poco alejado de poder darle en realidad su mejor uso. Sólo vaya a las webcasts de TechNet y observe la presentación de nivel 200 denominada "Fundamentos de Active Directory" (msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032295120).
Las oportunidades educativas actuales se presentan de diferentes formas. Desde la revista hasta Internet, estamos aquí para ofrecerle la información que necesita. Después que haya leído algunos de nuestros artículos, ¿por qué no viene y visita el blog de TechNet Magazine (blogs.technet.com/tnmag) para una pequeña charla, café de por medio, después de clase?
—Joshua Trupin

Mi agradecimiento a los siguientes expertos de Microsoft: Paul Bowden, Justin Hall, Anand Lakshminarayanan, Eduardo Laureano, Mike Lewis, Tim Mintner, Michael Murgolo, Mark Russinovich y Jim Truher.


 Cartas: Respuestas a sus preguntas
Cartas
Respuestas a sus preguntas

PsTools
En el artículo sobre archivos del escritorio de marzo de 2007, Wes Miller habla acerca de las utilidades PsTools ("Manual básico de PsTools", consulte technetmagazine.com/issues/2007/03/DesktopFiles). Tengo un pequeño problema cuando intento ejecutar estas impresionantes utilidades. Especialmente me interesa PsLoggedOn. ¿Podría exactamente explicarme cómo poner estas fantásticas utilidades en una carpeta en mi ruta de acceso? Un ejemplo realmente ayudaría.
—Tim

La mejor manera de empezar es descargar el paquete completo de PsTools (download.sysinternals.com/Files/PsTools.zip) a un directorio de trabajo (por ejemplo, c:\toolbox). Una vez que haya extraído el archivo ZIP en ese directorio, las herramientas están listas para usar. Si desea agregar ese directorio a su PATH para que las herramientas se puedan ejecutar desde cualquier lugar, simplemente ejecute el siguiente comando desde el símbolo del sistema, sustituyendo su directorio de trabajo por c:\toolbox:
SET PATH=%PATH%;c:\toolbox

Orgullo de Robocopy
Hasta leer su artículo de noviembre 2006 sobre la GUI de Robocopy (technetmagazine.com/issues/2006/11/UtilitySpotlight), nuestro departamento de soporte técnico estaba perplejo y no encontraba la manera de conservar las marcas de tiempo de archivos que se movían desde carpetas de red a almacenes Sharepoint®. ¡Robocopy es una gran herramienta!
—Cristino

Comprobación de subclaves del Registro
Durante las últimas dos semanas, he intentado resolver cómo probar si el valor para la subclave del Registro EnableLUA está activado o desactivado. Cuando está desactivado, el Control de cuentas de usuario está deshabilitado. Eso es lo que deseamos de manera que podamos instalar automáticamente los programas en nuestro laboratorio de pruebas sin tener que iniciar sesión con una cuenta administrativa para la confirmación. Deseamos poner esta prueba al principio de todos nuestros scripts de instalación y posteriormente ejecutar un script que cambia el valor de EnableLUA de 1 (activado) a 0 (desactivado) antes de que se ejecute el script. Sin embargo, no sé cómo hacer que este trabajo funcione. Agradecería cualquier ayuda que me podrían ofrecer.
—Derek

Este es un script básico para leer una clave del Registro, comprobar el valor y cambiar el valor si es necesario. Este ejemplo lee la clave HKLM\Software\Microsoft\Test\TestKey, comprueba si el valor es 1, y si lo es, cambia el valor a 0; si el valor no es 1, el script se cierra:
On Error Resume Next
Set WSHShell =  Wscript.CreateObject _
    ("Wscript.Shell")
RegLoc = _
    "HKLM\Software\Microsoft\Test\TestKey"
KeyValue = WSHShell.RegRead(RegLoc)
If (KeyValue = "1") then
  WSHShell.RegWrite RegLoc,"0"
end If
Wscript.Quit
Como siempre, asegúrese de usar con mucho cuidado los scripts que modifican el Registro, especialmente en un caso como este.

ReadyBoost
¿Podría explicarme ReadyBoost con más claridad? Según entiendo, ReadyBoost actúa como un búfer entre la RAM de un equipo y el disco duro, pero los datos se escriben simultáneamente. ¿Esto no significa que el rendimiento disminuirá cuando el sistema realiza doble copia de los datos? ¿Cómo puedo realizar una prueba del rendimiento del sistema con y sin ReadyBoost?
—Alex

La idea de ReadyBoost es permitir que la memoria flash (llaves USB, etc.) actúe como una memoria caché temporal, aumentando la cantidad de RAM tradicional (a menudo más costosa). ReadyBoost no escribe necesariamente los mismos datos a la memoria flash y al disco duro de forma simultánea. En cambio, actúa como un nivel intermedio de almacenamiento en caché entre RAM y disco. Mark Russinovich lo explica con mayores detalles en su artículo de marzo 2007 "Dentro del kernel de Windows Vista: Segunda parte", donde dice:
Después de que el servicio ReadyBoost haya iniciado el almacenamiento en caché, el controlador del dispositivo de Ecache.sys interceptará todas las lecturas y escrituras de los volúmenes de disco duro local (C:\, por ejemplo) y copiará cualquier dato que se escriba en el archivo de almacenamiento en caché que el servicio haya creado...
...Cuando ReadyBoost observa lecturas aleatorias que se pueden satisfacer desde la memoria caché, las atiende desde allí, pero debido a que el acceso de lecturas secuenciales es mejor en un disco duro que en una memoria flash, permite que las lecturas que forman parte de las pautas de accesos secuenciales vayan directamente al disco, aunque los datos estén en la memoria caché.
Puede leer el resto del artículo en línea de Mark en technetmagazine.com/issues/2007/03/VistaKernel.

Descarga de Windows PE
Parece que existe alguna incoherencia en su artículo Cartas del número de mayo 2007. La primera pregunta, "Creación de imágenes", dice: "Puede generar y personalizar imágenes de Window® PE 2.0 con las herramientas del WAIK...” Esto implica que Windows PE se incluye en las herramientas y que se puede descargar.
Sin embargo, en la última pregunta, "Obtener Windows PE", contestó: "Windows PE (sólo) está disponible como un beneficio de Software Assurance...” Pienso que su primera respuesta es correcta y que la segunda no está actualizada.
—Xihui

Windows PE 2.0 está disponible como una descarga en el Kit de instalación automatizada de Windows (WAIK). Tiene diferentes reglas de licencia que Windows PE 1.6 (la versión anterior, que se analizó el año pasado en "Introducción a Windows PE". Puede leer este artículo en technetmagazine.com/issues/2006/09/WindowsPE). Windows PE 1.6 sólo estaba disponible como una parte de Software Assurance.

Seguridad de Windows PowerShell
Se ha hablado mucho acerca de Windows PowerShell™. He visto muchos artículos que recomiendan su sintaxis estilo Unix, la facilidad para dar formato a la salida de comandos y más, pero no he escuchado nada acerca de cuestiones relacionadas con la seguridad durante la implementación de Windows PowerShell en el centro de datos.
¿Cuáles son las cuestiones relacionadas con la seguridad que entran en juego al implementar o ejecutar un shell tan eficaz como Windows PowerShell en servidores de producción?
—Carlos

Estamos completamente de acuerdo en que la seguridad con respecto a Windows PowerShell es un tema importante. De hecho, nuestro columnista de Windows PowerShell, Don Jones, trata con detalle este tema en este número de TechNet Magazine. Además de esta cobertura, es posible que desee consultar dos libros importantes que recientemente se lanzaron al mercado: Windows PowerShell in Action de Bruce Payette (Manning Publications, 2007) y Windows PowerShell: TFM de Don Jones y Jeffrey Hicks (SAPIEN Press, 2007). Estos libros cubren Windows PowerShell en una considerable profundidad, y ambos cuentan con capítulos completos dedicados a la seguridad.

Recomendaciones de SQL
Tengo que disentir totalmente con las recomendaciones de su respuesta respecto a Best Practices Analyzer (BPA) y objetos de esquema calificado (consulte technetmagazine.com/issues/2007/05/SQLQA). SQL Server™ 2005 todavía debe resolver esquemas (en contraposición, sólo para los propietarios en SQL Server 2000, a los que el autor erróneamente denomina "esquemas"). El pedido de resolución para SQL Server 2005 se encuentra bien documentado en Libros en pantalla (BOL).
Así, la certificación de objetos todavía es una recomendación para evitar los errores de ambigüedad y para que el optimizador ahorre ciclos de CPU durante la resolución de nombres de objetos. La recomendación en el artículo parece en oposición al artículo de Microsoft, "Problemas de compilación y de recompilación de lotes y de almacenamiento en caché de planes en SQL Server 2005".
—Mike

Fuimos directamente a la fuente para obtener una respuesta —David Browne, colaborador de nuestro artículo de Preguntas y respuestas& sobre SQL y arquitecto de tecnología del Centro de Tecnología de Microsoft en Dallas, Texas. Dijo lo siguiente:
Las recomendaciones son temas que las personas pueden no aceptar, o que no aceptarán. Especialmente con respecto al rendimiento, las personas tienen percepciones diferentes acerca de lo que constituye una diferencia considerable del rendimiento y lo que quizá sea una optimización que merece la pena.
Por ejemplo, escribir consultas de cierta manera para ahorrar ciclos de CPU del optimizador en la compilación es algo que jamás he considerado hacer, y dudo que haría una diferencia mensurable en una carga de trabajo práctica.
Por otro lado, la reducción de la frecuencia de las compilaciones al promover la reutilización de planes de consultas es una optimización del rendimiento comúnmente aceptada.

WinPE
Usamos Systems Management Server (SMS) OSD Feature Pack (OSDFP) para la instalación de sistema operativo. Ahora que se ha lanzado Windows Vista®, deseamos instalarlo a través de OSDFP y actualizar a la última versión. ¿Qué versión de Windows PE se ofrece con el OSDFP más nuevo?
Lo usamos para crear un archivo .iso de instalación de imagen y copiarlo en Servicios de instalación remota (RIS). A continuación, usamos la opción de arranque de red para arrancar un nuevo equipo. Pero hemos actualizado RIS a Servicios de Implementación de Windows (WDS), que sólo es compatible con un archivo de imagen de Windows (WIM) como imagen de arranque. ¿Cómo podemos crear una imagen de WIM a través de una opción de instalación de OSD?
—Vasishta

La versión de Windows PE no se actualizó con el último lanzamiento de OSDFP, todavía incluye la versión 1.5 (también conocida como Windows PE 2004). Aunque Windows PE no se actualizó, la implementación de Windows Vista ahora es totalmente compatible con el último lanzamiento de OSDFP.
El mejor proceso que se puede usar para crear una imagen de implementación de escritorio es el que se resume en el BDD (Business Desktop Deployment) Solution Accelerator. Puede encontrar todos los componentes y documentación necesarios en línea en microsoft.com/technet/desktopdeployment/bdd/2007. También consulte el artículo de Michael Niehaus "Implementación de Windows Vista con BDD 2007" en este número de TechNet Magazine.

Pósteres de Windows 2003 Server
¡Acabo de recibir mi número de julio de 2007 de TechNet Magazine y tuve la alegría de encontrar dos pósteres de Windows Server® 2008! Un colega mío recibió un póster de Windows 2003 Server en un número anterior. ¿Sabe cómo puedo obtener las ediciones impresas o en PDF de estos pósteres de Windows 2003 Server?
—Jason

¡Nos alegra que le hayan gustado los pósteres de Windows Server 2008! Una versión en PDF del póster de Windows Server 2003 está disponible en línea en go.microsoft.com/fwlink/?LinkID=80428. Sólo hicimos una versión del póster de Windows Server 2003.


 Cuadro de herramientas: Nuevos productos para profesionales de TI
Cuadro de herramientas
Nuevos productos para profesionales de TI
Greg Steen

Traslado de bases de datos de SQL Server
xSQL Bundle Professional Edition
www.xsqlsoftware.com
No importa si está dedicado al soporte técnico operativo, al desarrollo de aplicaciones, a realizar pruebas de control de calidad o a la administración de configuraciones. Si es un profesional de TI (y supongo que lo es, porque lee TechNet Magazine), trasladar bases de datos de SQL Server™ entre ubicaciones es probablemente parte de su vida. Y cuando traslade datos y esquemas de datos, deberá tener cuidado con las incoherencias. Para ayudarle a evitar esas incoherencias, necesita un buen conjunto de herramientas para realizar la comparación y la sincronización de esquemas y de datos.
Una herramienta que he usado recientemente es xSQL Bundle, de xSQL Software. La agrupación está compuesta por cuatro aplicaciones diferentes: xSQL Object, xSQL Data Compare y sus utilidades asociadas de línea de comandos.
xSQL Object permite comparar y sincronizar esquemas de base de datos. Ofrece varias opciones de comparación para los tipos y copias de objetos que desee comparar entre bases de datos. La aplicación también le permite crear instantáneas de esquema, que resultan muy útiles a la hora de realizar el mantenimiento del historial de versiones. Esta característica también le ofrece una manera fácil de revertir a un estado de esquema anterior. También puede generar scripts de esquema con xSQL Object, cosa que le permite
transportar o empaquetar esquemas de bases de datos.
xSQL Data Compare puede igualar y sincronizar los datos contenidos en dos bases de datos de SQL Server. Le permite comparar todo el contenido de dos bases de datos o seleccionar un conjunto de tablas que comparar. En el caso de que sus tablas no coincidan exactamente, puede definir una correspondencia personalizada entre tablas para garantizar que los datos que contienen esas tablas son los mismos. Al sincronizar grandes cantidades de datos, la aplicación cambia a modo de inserción masiva, ahorrando tiempo en el proceso de sincronización.
xSQL Data Compare y xSQL Object le permiten guardar su espacio de trabajo para que no tenga que volver a crear constantemente su entorno de comparación. La sincronización en ambas aplicaciones es transaccional, por lo que puede estar seguro de que todas las operaciones se confirman correctamente ya que en caso contrario se revertirán en conjunto. Además, todas las aplicaciones del paquete también son compatibles con copias de bases de datos SQL Server 2000 y SQL Server 2005 y se pueden comparar y sincronizar datos y objetos pertinentes entre las dos versiones.
Quizás una de las características más eficaces de xSQL Bundle son las dos utilidades de línea de comandos, que permiten ejecutar de forma eficaz tareas de comparación y sincronización a través de cualquier creación, proceso, supervisión o programador de tareas automatizado que se pueda tener. (Según mis principios, la automatización de tareas superfluas siempre hace la vida más fácil y productiva). Las utilidades de línea de comando usan un archivo de configuración XML que puede crear con un asistente de configuración desde la IU de la aplicación principal y cada utilidad tiene diversas opciones de registro en archivo de texto, por lo que tendrá la posibilidad de hacer el seguimiento de lo que sucede durante la ejecución automatizada.

Precio: xSQL Bundle Professional Edition tiene un precio inicial de 499 dólares para una licencia de usuario individual.
xSQL Data Compare puede sincronizar los datos de dos bases de datos SQL Server
xSQL Data Compare puede sincronizar los datos de dos bases de datos SQL Server

Habilite una comunicación más segura
WinSSHD
www.bitvise.com
Si está interesado en mejorar la seguridad de su organización, posiblemente esté considerando implementar el Tratamiento de shell seguro 2 (SSH2) y el FTP seguro (SFTP). Dicho en pocas palabras, la comunicación en túnel SSH2 le permite conectar de forma segura con servicios de equipos remotos. También puede ayudarle a limitar la exposición a posibles piratas informáticos reduciendo el número de puertos de escucha directos a aplicación disponibles abiertos en el firewall. SFTP es una alternativa al servidor FTP estándar y usa SSH2 para proteger los datos y los comandos.
Si le parece que estos protocolos podrían resultarle interesantes, definitivamente debe echar un vistazo a WinSSHD de Bitvise. WinSSHD es un servidor SSH2 diseñado específicamente para Windows.
La instalación es sencilla. La aplicación incluye un panel de control intuitivo para administrar el servicio de WinSSHD. El panel de control es donde encontrará todo, desde la funcionalidad básica de inicio/detención hasta una vista personalizada del registro de eventos de Windows® (donde puede filtrar los eventos de WinSSHD). También es donde puede iniciar el panel de configuración, que le permite configurar los detalles esenciales de su instalación. Puede establecer los enlaces de interfaz y puerto, ajustar la configuración de registro, especificar los métodos de cifrado de sesión SSH que desea habilitar, configurar tiempos excedidos de sesión, elegir métodos de autenticación, especificar configuraciones de proxy y controlar quién tiene acceso a la instancia. También puede importar y exportar configuraciones.
La configuración del control de acceso le permite restringir el acceso mediante reglas de IP (con compatibilidad con máscaras para el control de subred) y por reglas de nombre DNS (que se procesan según sus reglas IP).
WinSSHD es compatible con la virtualización, lo que resulta fenomenal para implementaciones de SFTP. Esto significa que puede asignar miles de usuarios virtuales a una cuenta de Windows, lo que simplifica los detalles de cuentas y seguridad. La aplicación también es compatible con los grupos de Windows para la autenticación y el control de acceso, por lo que no es necesario definir una directiva por cada usuario.
Gracias a su compatibilidad con Kerberos 5 y la autenticación NTLM, WinSSHD se puede integrar en un entorno de inicio de sesión único. Para realizar esta tarea se requiere un cliente SSH habilitado para GSSAPI como, por ejemplo, Tunnelier, que es un excelente producto complementario también disponible de Bitvise. Tunnelier es, como cabría esperar, completamente compatible con el servidor WinSSHD. También se puede usar para configurar el servidor de WinSSHD de forma remota.
Si el entorno de servidor SFTP o SSH2 es de importancia vital, puede integrar en clúster WinSSHD para disfrutar de alta disponibilidad. Se trata de una tarea bastante sencilla, pero si cree que necesita ayuda, el sitio web de la empresa ofrece información y guías de configuración para configurar cosas como clústeres, reenvío de puertos, Escritorio remoto a través de túnel, etcétera.

Precio: $99.95.
WinSSHD le permite especificar métodos de cifrado de sesión SSH
WinSSHD le permite especificar métodos de cifrado de sesión SSH

Supervisar la actividad de USB
USB Monitor Professional
www.hhdsoftware.com
Este es un producto para toda clase de usuarios. Tal vez sea usted un fanático del bricolaje en software que le gusta crear y modificar los controladores de sus dispositivos USB. Es posible que sea un ingeniero de hardware que crea los propios dispositivos USB. O tal vez simplemente se ha visto alguna vez mirando fijamente en la luz de actividad de algún dispositivo USB y se ha preguntado qué es exactamente lo que causaba tanta actividad. Si le suena alguna de estas situaciones, USB Monitor Profesional de HHD Software puede que le sirva de ayuda. Esta utilidad le permite registrar, visualizar y analizar los datos que se transfieren entre un dispositivo USB y un sistema basado en Windows mediante el controlador de host USB.
La IU es un poco complicada, pero cuando se haya acostumbrado a ella podrá reunir gran cantidad de información acerca de los datos que van y vienen del dispositivo USB que se esté supervisando. De forma predeterminada, la aplicación registra la mayor parte de los comandos y conjuntos de comandos pasados a un dispositivo USB. Con algunos dispositivos, en especial los dispositivos de almacenamiento, el resultado puede ser bastante detallado. Afortunadamente, puede personalizar qué tipo de datos desea que registre la aplicación para dispositivos de almacenamiento masivo.
Cuando haya registrado una sesión, puede analizar los datos de formas distintas. Para los dispositivos de almacenamiento masivo, tiene la vista de almacenamiento masivo. También hay opciones para un gráfico lineal de estadísticas y rendimiento de dispositivo, una vista de paquetes sin formato y solicitudes de control, una vista de descodificador de paquetes de datos, una vista específica de HID y una vista de imagen fija (que descodifica el protocolo de imagen fija USB en los dispositivos adecuados).
Debido a la cantidad de datos registrados por la aplicación, no resultaría aconsejable dejar en marcha una sesión de grabación USB durante mucho tiempo. Por suerte, puede restringir la cantidad máxima de espacio en disco permitida para sesiones de grabación activas y comprimir los datos registrados para reducir el espacio necesario.

Precio: A partir de 175,99 dólares para una licencia normal.
USB Monitor Professional registra los comandos que se pasan a un dispositivo USB
USB Monitor Professional registra los comandos que se pasan a un dispositivo USB

Administre medios virtuales
Virtual CloneDrive
www.elby.ch/fun/software
Manejar medios físicos puede ser todo un incordio. Desde el cambio a Windows Vista y la pérdida de compatibilidad directa con el panel de control del CD-ROM virtual de Microsoft, he estado buscando un sustituto para montar imágenes de CD y DVD. (Por cierto, para aquellos que estén interesados, el panel de control del CD-ROM virtual de Microsoft® para Windows XP se encuentra en go.microsoft.com/fwlink/?LinkId=94801.)
Sí, es posible ejecutar el panel de control del CD-ROM virtual en Windows Vista. El problema es que siempre tiene que ejecutarlo como Administrador y sólo puede ver la unidad montada bajo el contexto de Administrador, lo que significa en un símbolo del sistema ejecutado con el comando Ejecutar como administrador, pero no dentro del contexto del Explorador de Windows del usuario. Como consecuencia de ello, no sólo la herramienta no funciona como yo necesito, sino que también me obliga a ejecutar la aplicación en un entorno menos seguro.
Una herramienta que he encontrado que funciona en el contexto de usuario de Windows Vista
es Virtual CloneDrive de Elaborate
Bytes. La aplicación se instala en forma de aplicación de administración mediante GUI y un controlador de almacenamiento que se puede ver desde el
Administrador de dispositivos. Una vez instalada, la aplicación tiene tres configuraciones básicas. En primer lugar,
puede especificar el número de unidades virtuales que desea usar, con un máximo de 8 unidades en paralelo. En segundo lugar, quizás mi opción favorita, puede elegir establecer la configuración Virtual Sheep, que reemplaza el icono estándar de la unidad de CD/DVD por una oveja enojada, con lo que puede saber cuáles unidades son archivos ISO y cuáles son unidades físicas del sistema. Por último, puede elegir montar automáticamente la última imagen que haya asignado a esa unidad virtual durante el inicio.
Además de archivos ISO, Virtual CloneDrive también puede montar y leer archivos .ccd, .dvd, .img, .udf y .bin. También se integra con el Explorador de Windows, ofreciendo un acceso rápido para montar y desmontar imágenes. Y una de las mejores cosas de CloneDrive Virtual es que es gratuito. Si ha cambiado a Windows Vista® y ha estado buscando una solución nueva para administrar los archivos ISO, definitivamente tiene que echarle un vistazo a esta herramienta.

Precio: Gratis.
La oveja enojada de Virtual CloneDrive
La oveja enojada de Virtual CloneDrive

Reseña de libro
SharePoint Products and Technologies Administrator's Pocket Consultant
microsoft.com/MSPress/books/10623.aspx
Es posible que en la oficina actual no se haya eliminado completamente el papel, pero ciertamente hay cada vez mas documentos electrónicos con los que tratar. Administrar estos documentos y cómo se comparten es un problema cada vez mayor y muchas empresas están considerando el uso de las soluciones Microsoft Sharepoint® Services y Sharepoint Server. El libro Microsoft SharePoint Products and Technologies Administrator's Pocket Consultant, de Ben Curry puede servir de ayuda. No importa si sólo está considerando Sharepoint, si está inmerso en las primeras etapas de planeación o si ya tiene instalada una infraestructura de Sharepoint, esta referencia de funciones de administración y de tareas diarias es una gran guía complementaria.
A aquellos de ustedes que estén familiarizados con la serie Administrator's Pocket Consultant, esta guía les resultará muy familiar. Es equivalente a las demás en términos de nivel del contenido y estructura. Este libro en particular trata Windows Sharepoint Services 3.0, Sharepoint Server 2007 Standard y Sharepoint Server 2007 Enterprise Edition. Está dividido en cuatro secciones.
La primera sección, "SharePoint Products and Technologies Fundamentals", ofrece una introducción a los componentes, las versiones, los requisitos y la instalación de los productos Sharepoint Server. Esta sección explica lo que diferencia a Windows Sharepoint Services 3.0 y las versiones Standard y Enterprise de Sharepoint Server. A continuación, le guía a través de la instalación de cada uno de los tres productos. También detalla qué bases de datos de SQL Server y sitios web IIS se crean durante el proceso de instalación.
La sección siguiente, "SharePoint Core Administration", trata de la UI de administración central y ofrece referencias sobre cómo crear colecciones de sitios y sitios nuevos, cómo importar, usar y editar objetos web, y cómo configurar los valores de Grupo y correo electrónico para la instalación. En esta sección también puede consultar cómo administrar las distintas funciones de flujo de trabajo y cómo supervisar esos flujos de trabajo.
La tercera parte del libro, "Working with SharePoint Server 2007", profundiza en las características y la funcionalidad específicas de Sharepoint Server en las versiones Standard y Enterprise. Trata de temas como la configuración de Administración de contenido empresarial, cómo crear y configurar Sharepoint Portals, cómo configurar la búsqueda y la indización, y cómo configurar Excel® Calculation Services. La sección sobre Excel Calculation Services también orienta sobre cómo configurar servicios en un entorno multiservidor para aumentar el rendimiento y la disponibilidad.
La cuarta sección incide más profundamente en los aspectos operativos de una implementación de Sharepoint Server, mostrando cómo escalar Servidor de Sharepoint 2007 a una granja de servidores y las configuraciones posibles distintas para esa implementación. Por último, el libro muestra los principios de las operaciones de copia de seguridad y restauración, cómo analizar el rendimiento y cómo usar las funciones de registro de Sharepoint Server para ayudar a mantener y mejorar su sitio.
Aunque el libro se autodenomina como una referencia diaria para administradores, creo que aquellos que estén en la primera etapa de planeación y todos los curiosos acerca de Sharepoint encontrarán que se trata de una manera rápida para entender mejor Sharepoint. La estructura del libro (que empieza con una discusión muy básica que detalla las diferentes tecnologías de Sharepoint y lo que pueden hacer, y va subiendo el nivel con temas cada vez más complejos tal como la configuración de Excel Calculation Services y el escalado a una granja de servidores) garantiza que será una referencia útil para alguien que sólo quiere conocer las tecnologías de Sharepoint y que seguirá siendo una referencia útil a medida que aumenten sus conocimientos.

Precio: $29.99.

Greg Steen es un profesional emprendedor y entusiasta de la tecnología. Siempre está buscando nuevas herramientas y métodos para ayudar a simplificar las operaciones y el desarrollo para los profesionales de TI.


 Preguntas y respuestas acerca de SQL: Cuellos de botella de CPU, restauraci&#243;n y traslado de bases de datos y mucho m&#225;s
Preguntas y respuestas acerca de SQL
Cuellos de botella de CPU, restauración y traslado de bases de datos y mucho más
Editado por Nancy Michell

P. El uso de CPU de My SQL Server™ empezó de repente a alcanzar picos excesivos, pero no ha cambiado nada. No se agregaron usuarios nuevos, no se quitó ningún hardware, no se crearon tablas nuevas. ¿Qué está pasando?

Sugerencia: Acceso durante la creación de índices
A veces deseará crear índices en tablas grandes (lo cual puede ocupar gran cantidad de tiempo), pero durante el proceso desea que los datos estén disponibles. ¿Cómo puede lograr ambos objetivos?
Siempre que se crean, eliminan o regeneran índices en clúster, SQL Server pone un bloqueo de modificación de esquema (SCH-M) sobre la tabla, lo que impide cualquier acceso de usuario a los datos subyacentes durante la operación. Este sería el caso cuando se crea un índice de clúster sobre una tabla. En cambio, cuando se crea un índice que no es de clúster sobre una columna, SQL Server coloca un bloqueo compartido (S) sobre la tabla y ello, aunque también impide la actualización de datos de la tabla subyacente, al menos permite ejecutar instrucciones SELECT, por lo que se pueden leer los datos.
Si la disponibilidad de lectura sobre la tabla es importante durante la creación del índice en clúster, se puede crear un índice sobre la tabla y convertirlo en una operación en línea. El comando es el siguiente:
CREATE UNIQUE CLUSTERED INDEX CLUST_IDX_SQLTIPS
ON SQLTips (tip) with (ONLINE=ON) Go;
Cuando usa operaciones de índice en línea sobre tablas, SQL Server sigue poniendo un bloqueo SCH-M para un índice en clúster o un bloqueo compartido (S) para un índice no de clúster sobre la tabla subyacente, pero sólo durante un espacio de tiempo muy corto; durante la fase inicial y final de la operación del índice. Por lo tanto, esta opción ofrece un mejor acceso para consultar y actualizar la tabla subyacente durante el proceso de creación del índice. Tenga en cuenta que la creación y las operaciones en línea con índices sólo están disponibles con SQL Server 2005 Enterprise Edition.

R. Un cuello de botella de CPU que sucede de repente e inesperadamente sin hacer ningún cambio y sin cargas adicionales en el servidor puede tener como origen varios motivos, pero algunos de los más comunes son un plan de consulta no óptimo, una configuración pobre de SQL Server, diseño deficiente de aplicación/base de datos y recursos de hardware insuficientes.
La primera cosa que hacer en una situación como esta es identificar si el servidor está limitado en CPU y, si lo está, identificar las instrucciones que consumen más CPU en el sistema SQL Server local. Puede usar el Monitor de rendimiento para determinar si el servidor está limitado en CPU sólo con mirar al contador PROCESADOR: % DE TIEMPO DE PROCESADOR. Si descubre que el valor del tiempo usado por la CPU es igual o superior al 75 por ciento, tiene un cuello de botella en la CPU.
También debe supervisar los programadores de SQL Server consultando la vista de administración dinámica (DMV) del sistema, que se llama SYS.DM_OS_SCHEDULERS para ver el valor de las tareas ejecutables. Un valor distinto de cero indica que las tareas tienen que esperar su segmento de tiempo para ejecutarse; los valores altos de este contador también son síntoma de un cuello de botella de CPU.
Puede usar la consulta siguiente para que se muestren todos los programadores y examinar el número de tareas ejecutables:
SELECT
 Scheduler_ID,
 Current_Tasks_Count,
 Runnable_Tasks_Count
FROM
 SYS.DM_OS_SCHEDULERS
WHERE
 Scheduler_ID < 255
Para obtener las 50 primeras instrucciones SQL según su uso de CPU, use la consulta de la figura 1.
Figure 1 Las 50 primeras causas de atascos de CPU (Close Figure 1)
SELECT TOP 50 (a.total_worker_time/a.execution_count) AS [Avg_CPU_Time],
 Convert(Varchar,Last_Execution_Time) AS 'Last_execution_Time',
 Total_Physical_Reads,
 SUBSTRING(b.text,a.statement_start_offset/2,
 (case when a.statement_end_offset = -1 then len(convert(nvarchar(max), b.text)) * 2
 else
 a.statement_end_offset end - a.statement_start_offset)/2) AS Query_Text,
 dbname=Upper(db_name(b.dbid)),
 b.objectid AS 'Object_ID'
 FROM sys.dm_exec_query_stats a
 CROSS APPLY
 sys.dm_exec_sql_text(a.sql_handle) AS b
 ORDER BY
 [Avg_CPU_Time] DESC

P. Tuve que recuperar una base de datos de SQL Server 2005 de cinta. Después de la restauración, se perdieron la mayor parte de los permisos que tenían los usuarios en la base de datos. ¿Podría saber qué hice mal durante la restauración? Los datos eran correctos, pero los permisos eran un desastre.

R. Lo más probable es que no restauró la base de datos maestra en el mismo punto en el tiempo, y que los identificadores de inicio de sesión de la base de datos de usuario no coincidían con la base de datos maestra actual. Necesita sincronizarlos. La barra lateral "Dónde obtener ayuda para trasladar una base de datos" muestra los recursos más útiles para llegar al fondo de los problemas que se experimentan al restaurar o mover bases de datos.

P. He desarrollado una aplicación en la que uso un procedimiento almacenado que desmenuza datos XML en tablas relacionales usando OpenXML en SQL Server 2005 SP1. El documento XML tiene como máximo 5 KB (el tamaño promedio es de 2,5 KB). Se llama al procedimiento almacenado varias veces en paralelo (hasta 50 veces).
Estoy sufriendo problemas graves de contención de bloqueo y creo que pueden deberse a OpenXML. ¿Qué opina?

R. Aunque OpenXML puede ser más rápido para desmenuzar o convertir datos en un único subproceso que el método de los nodos, éste último normalmente escala mejor, especialmente si se usa en paralelo. Sin embargo, si va a usar OpenXML de todas formas, debería usar las instrucciones siguientes para mejorar el rendimiento general de OpenXML.
En vez de llamar a OpenXML cinco veces con el mismo patrón de filas (como hacía en su solución), debe extraer todos los datos con el mismo patrón de filas en una tabla temporal y, a continuación, realizar sus selecciones a partir de la tabla temporal. Intente liberar la memoria con sp_xml_removedocument lo antes posible. También es una buena idea evitar usar caracteres comodín como * y //, siempre que sea posible; ofrecer la ruta de acceso explícita producirá una consulta de mayor rendimiento.

P. DBCC SHRINKFILE se ejecuta muy despacio en mi servidor. ¿Obtendría mejor rendimiento en un equipo multiprocesador? ¿Qué puedo hacer para mejorar la situación?

R. DBCC SHRINKFILE es una operación de un único subproceso, lo que significa que no aprovecha múltiples CPU. Mueve páginas desde la parte posterior a la parte frontal del archivo, una página a la vez. Y shrink, como se le denomina a menudo, no realiza la desfragmentación; de hecho en muchas situaciones, shrink aumenta la fragmentación lógica.
Algunas maneras de mejorar el rendimiento de shrink son trasladar páginas a índices en clúster. Si dispone de pilas y esas pilas tienen muchos índices fuera de clúster, la velocidad sería apreciablemente más lenta (en comparación con una situación de índices en clúster).
Tenga en cuenta también que trasladar páginas de datos blob de objetos grandes (LOB) es lento, porque los datos de la fila tienen que leerse para encontrar la raíz de los datos LOB.
Si la mayoría de los contenidos de un índice o tabla reside al final del archivo, puede volver a generar los índices para trasladarlos al extremo frontal del archivo. Volver a generar los índices aprovecha múltiples CPU y podría usar menos espacio de registro en modo bulk_logged. Después de ello, la ejecución de shrink resultará más rápida.
Para obtener más información acerca de las operaciones de reducción, empiece con las entradas de blogs.msdn.com/sqlserverstorageengine/archive/2007/03/29/how-does-your-schema-affect-your-shrink-run-time.aspx y blogs.msdn.com/sql-serverstorageengine/archive/2007/04/15/how-to-avoid-using-shrink-in-sql-server-2005.aspx.
Dónde obtener ayuda para trasladar una base de datos
  • Cómo trasladar bases de datos entre equipos que ejecutan SQL Server
  • Cómo mover bases de datos de SQL Server a una nueva ubicación mediante las funciones Detach y Attach de SQL Server
  • INF: Uso de la opción WITH MOVE con la instrucción RESTORE
  • Cómo resolver problemas de permisos al trasladar una base de datos entre servidores SQL Server
  • INF: Cómo transferir inicios de sesión y contraseñas entre servidores SQL Server
  • INF: Descripción y solución de problemas del Asistente para copiar bases de datos en SQL Server 2000
  • Los inicios de sesión y los permisos de usuario de una base de datos pueden ser incorrectos después de restaurar la base de datos
  • No es posible restaurar copias de seguridad de la base de datos del sistema a una compilación diferente de SQL Server
  • Cómo recuperar tablas o filas específicas desde copias de seguridad de bases de datos o desde copias de seguridad de registros de transacciones en SQL Server

Sugerencia: Cambio de puertos
Cualquiera que esté familiarizado con SQL Server sabe que el número de puerto predeterminado en el que escucha SQL Server es el 1433. Aunque las instancias con nombre de SQL Server están configuradas para usar puertos dinámicos (lo que significa que pueden seleccionar cualquier puerto disponible cuando se inicia una instancia de SQL Server), la sesión predeterminada de SQL Server siempre escucha en el puerto 1433. Así que, si el servidor está escuchando en el puerto predeterminado y no está bien protegido, está en peligro. Sin embargo, puede frustrar los ataques si cambia el puerto predeterminado. Aquí está la solución.
Abra el Administrador de configuración de SQL Server y expanda Configuración de red de SQL Server 2005 y después Protocolos. A continuación, haga doble clic en TCP/IP. La lista de propiedades de TCP/IP y sus funciones se muestra en el gráfico siguiente, así que ajústelas tal como se indica.
Observe que el motor de base de datos de SQL Server puede escuchar en varios puertos desde la misma dirección IP. Por lo tanto, debe incluir los puertos que desea usar delimitándolos con una coma, con el formato 1433,1500,1501. Si desea configurar una única dirección IP para escuchar en varios puertos, también debe establecer el parámetro Escuchar todo en No, en la ficha Protocolos del cuadro de diálogo Propiedades de TCP/IP.
Ahora, haga clic con el botón secundario en cada dirección y seleccione Propiedades para identificar la dirección IP que desea configurar. Si el cuadro de diálogo Puertos dinámicos TCP contiene 0, lo que indica que el motor de la base de datos escucha en puertos dinámicos, elimine el 0. Dentro del área Propiedades IP del cuadro Puerto TCP, escriba el número de puerto en el que desea que escuche esta dirección IP y, a continuación, haga clic en Aceptar. En el panel de consola, haga clic en Servicios de SQL Server 2005 y en el panel de detalles, haga clic con el botón secundario en SQL Server (<nombre de instancia>). A continuación, haga clic en Reiniciar, para detener y reiniciar SQL Server.
Después de haber configurado SQL Server para que escuche en un puerto específico, hay tres maneras de que un cliente se conecte al puerto. Puede ejecutar el servicio Explorador de SQL Server en el servidor para conectar a la sesión del motor de base de datos por su nombre; puede crear un alias en el cliente, especificando el número de puerto; o puede programar el cliente para que se conecte usando una cadena de conexión personalizada.

Propiedad | Descripción
Activo | Indica que SQL Server está escuchando en el puerto indicado. No disponible para IPAll.
Habilitado | Permite habilitar o deshabilitar esta conexión. No disponible para IPAll.
Dirección IP | Permite ver o cambiar la dirección IP que usa esta conexión. Muestra la dirección IP que usa el equipo y la dirección IP de bucle invertido, 127.0.0.1. No disponible para IPAll.
Puertos dinámicos TCP | Dejar en blanco si los puertos dinámicos no están habilitados. Para usar puertos dinámicos, establecer en 0.
Puerto TCP | Permite ver o cambiar el puerto en que escucha SQL Server. De forma predeterminada, la sesión predeterminada escucha en el puerto 1433. Este campo está limitado a 2047 caracteres.

Gracias a los siguientes profesionales de TI de Microsoft por responder las preguntas de este mes: Chad Boyd, Cindy Gross, John Hadden, Saleem Hakani, Stephen Jiang, Mahesh Nayak, Paul Randal y Wayne Yu.


 Utility Spotlight: PageDefrag
Utility Spotlight
PageDefrag
Lance Whitney
Descargar el código de este artículo: PageDefrag (70KB)

El desfragmentador promedio de Windows® puede optimizar la mayoría de los archivos en su disco duro, pero algunos elementos están más allá de los poderes de la mayoría de las herramientas de desfragmentación. Los archivos que están abiertos y bloqueados para uso exclusivo, tales como el archivo de paginación de Windows y los subárboles del Registro, normalmente no son procesados por el desfragmentador integrado de Windows ni por utilidades de terceros. Las API estándar de Windows no son compatibles con la desfragmentación de estos archivos mientras están en uso. Por suerte, la utilidad PageDefrag, creada por Mark Russinovich para Sysinternals, resuelve el problema al desfragmentar elementos que otras herramientas no tocan.
PageDefrag puede desfragmentar el archivo de paginación de Windows, subárboles del Registro, registros de eventos y el archivo de hibernación (el área en disco donde se guarda la memoria cuando un equipo portátil salta al modo de hibernación). El programa optimiza estos archivos durante la secuencia de arranque del equipo PC antes que se encuentren en uso.
Para ejecutar PageDefrag, simplemente haga doble clic en el archivo pagedfrg.exe. El programa muestra el nombre de cada archivo que puede procesar para la desfragmentación (consulte la figura 1). El archivo de paginación es pagefile.sys. Los subárboles del Registro aparecen como archivos individuales para cada subárbol: DEFAULT, SAM, SECURITY, SOFTWARE y SYSTEM. Los registros de eventos se muestran también como sus archivos individuales; por ejemplo, Appevent.evt es el registro de aplicaciones, Secevent.evt es el registro de seguridad y Sysevent.evt es el registro de sistema. Por último, el archivo de hibernación es Hiberfil.sys.
Figura 1 PageDefrag muestra los nombres de cada archivo que puede procesar
Figura 1 PageDefrag muestra los nombres de cada archivo que puede procesar
Junto a cada nombre de archivo se encuentra una columna Clusters, que muestra cuántos clústeres en el disco se asignan al archivo, y una columna Fragments, que indica cuántas partes del archivo fragmentadas, o no contiguas, están dispersas por el disco. Basado en estos datos, puede determinar si los archivos necesitan desfragmentación.
Tiene dos opciones: puede desfragmentar los archivos en el siguiente arranque del sistema o en cada arranque. A menos que los archivos se usen mucho o que su PC sea un servidor u otro equipo que rara vez se reinicia, estará bien si sólo los desfragmenta en el siguiente arranque. También puede habilitar una cuenta atrás para que tenga tiempo de cancelar la desfragmentación en cuanto se inicie su PC.
La próxima vez que rearranque el equipo, se ejecutará el comando normal chkdsk y, a continuación, PageDefrag entrará en acción. Los archivos ya organizados en clústeres contiguos se omiten. Los que están divididos en fragmentos se optimizan uno por uno. El programa muestra el nombre de cada elemento que se desfragmenta, le dice si la desfragmentación es correcta e incluye en una lista el número de clústeres asignados al archivo, antes y después de la desfragmentación.
PageDefrag no puede optimizar un archivo si su PC no tiene suficiente espacio en disco o si el espacio disponible está en sí demasiado fragmentado. En estos casos, deberá liberar más espacio y ejecutar un desfragmentador dentro de Windows para optimizar el espacio disponible y luego volver a probar PageDefrag.
Generalmente, PageDefrag se ejecuta rápidamente cuando sólo toma un pequeño número de archivos. Sin embargo, si los archivos están muy fragmentados, pueden tardar algún tiempo en completarse, al menos la primera vez. Después que PageDefrag termina su trabajo, Windows se carga normalmente. A continuación, puede abrir otra vez el programa para confirmar que cada archivo está formado ahora por un único fragmento.
Puede ejecutar PageDefrag de modo no interactivo mediante la línea de comandos o a través de un script usando las opciones -e Defrag boot, -o Defrag once, -n Never Defrag y -t Set countdown con el número segundos especificado con el archivo pagedfrg.exe.
Para obtener más información y descargar una copia, visite microsoft.com/technet/sysinternals/FileAndDisk/PageDefrag.mspx.

Lance Whitney es consultor, instructor y escritor técnico de TI. Ha pasado cientos y cientos de horas trabajando con estaciones de trabajo y servidores de Windows. Periodista en sus inicios, dio un giro hacia el mundo de TI hace unos 15 años.


 The Cable Guy: Modelos de host seguros y no seguros
The Cable Guy
Modelos de host seguros y no seguros
Joseph Davies

Una configuración cada vez más habitual de los host de red es disponer de host múltiples en varias interfaces de la red. Un host múltiple proporciona una conectividad mejorada al poder conectarse simultáneamente a varias redes, tal como una intranet o Internet. Sin embargo, al poder conectarse a una intranet e
Internet, los servicios que se ejecutan en host múltiples pueden ser vulnerables a los ataques. Para ayudar a evitar estos ataques y hacernos una idea de cómo se procesa el tráfico IP para un host múltiple, analizaremos los modelos host seguros no seguros y luego describiremos su compatibilidad con Windows®.
RFC 1122 es la especificación que describe los dos modelos de un host múltiple que no actúa como un enrutador y que sólo envía y recibe tráfico IP de unidifusión. Estos modelos, conocidos como host seguro y host no seguro, especifican si el tráfico de unidifusión enviado o recibido debe asociarse con la interfaz de la red a través de la que se transporta el tráfico. Estos modelos determinan la forma en que un host envía y recibe paquetes y afectan a la vulnerabilidad de los servicios que se ejecutan en el host.
Aunque RFC 1122 define estos modelos para IPv4, también se aplican a IPv6. Un ejemplo de un host múltiple para IPv6 es un equipo que usa tanto IPv4 como IPv6, y que tiene un adaptador de red conectado a una intranet y a una interfaz de túnel IPv6.

Modelo de host no seguro
En el modelo de host no seguro, un host IP (IPv4 o IPv6) puede enviar paquetes en una interfaz que no tiene asignada la dirección IP de origen del paquete que se está enviando. Esto se conoce como comportamiento de envío de host no seguro. Un host IP también puede recibir paquetes en una interfaz que no tiene asignada la dirección IP de destino del paquete que se está recibiendo. Esto se conoce como comportamiento de recepción de host no seguro.
Cuando se tienen host IP de host múltiple con varias interfaces, activar el comportamiento de recepción de host no seguro en las interfaces a veces puede hacer que el host sea vulnerable a ataques de host múltiple. Por ejemplo, la figura 1 muestra un host A conectado a Internet y a la intranet. El host A tiene la dirección IPv4 pública 131.107.89.211 asignada a la interfaz de Internet y la dirección IPv4 privada 192.168.17.48 asignada a la interfaz de la intranet.
Figura 1 Ejemplo de un equipo de host múltiple
Figura 1 Ejemplo de un equipo de host múltiple
Con el comportamiento de envío de host no seguro habilitado en las interfaces de Internet y de la intranet, el host A puede enviar paquetes desde 131.107.89.211 en la interfaz de Internet, paquetes desde 192.168.17.48 en la interfaz de Internet, paquetes desde 131.107.89.211 en la interfaz de la intranet y paquetes desde 192.168.17.48 en la interfaz de la intranet.
Con el comportamiento de recepción de host no seguro habilitado, el host A puede recibir los tipos de paquetes siguientes (bajo la suposición de que las reglas del firewall del host permitan el tráfico entrante): paquetes a 131.107.89.211 en la interfaz de Internet, paquetes a 192.168.17.48 en la interfaz de Internet, paquetes a 131.107.89.211 en la interfaz de la intranet y paquetes a 192.168.17.48 en la interfaz de la intranet.
Cuando se tiene el comportamiento de recepción de host no seguro habilitado, un usuario malintencionado de Internet puede enviar paquetes a la interfaz de Internet del host A para atacar los servicios que se ejecutan en este host A y que sólo están disponibles para los host de la intranet. Este tipo de ataque puede darse si la infraestructura de Internet es compatible con el reenvío de paquetes destinados a 192.168.17.48 para la interfaz de Internet del host A. Este tipo de ataques pueden evitarse si se configuran las reglas apropiadas del firewall en la interfaz de Internet del host A. Incluso así, los servicios que se ejecutan en el host A y que están disponibles para los clientes de la intranet pueden estar en peligro.

Modelo de host seguro
En el modelo de host seguro, los comportamientos de envío y recepción son diferentes. Con los envíos de host seguro, el host sólo puede enviar paquetes en una interfaz si a ésta se le ha asignado la dirección IP de origen del paquete que se está enviando. Con las recepciones de host seguro, el host sólo puede recibir paquetes en una interfaz si a ésta se le ha asignado la dirección IP de destino del paquete que va a enviarse.
Con el comportamiento de envío de host seguro habilitado en las interfaces de Internet y de la intranet, el host A de la figura 1 sólo puede enviar paquetes desde 131.107.89.211 en la interfaz de Internet y paquetes desde 192.168.17.48 en la interfaz de la intranet.
Con el comportamiento de envío de host seguro habilitado, el host A sólo puede recibir paquetes a 131.107.89.211 en la interfaz de Internet y paquetes a 192.168.17.48 en la interfaz de Intranet.
En la figura 1, el modelo de host seguro para el host A descarta todos los paquetes entrantes en la interfaz de Internet que se dirigen a 192.168.17.48 sin tener que configurar las reglas del firewall, aislando de forma eficaz la interfaz de la intranet del host A desde Internet.
Al elegir el modelo de host seguro, recuerde que podría afectar a algunos tipos de conectividad diseñados para el comportamiento de host no seguro. Por ejemplo, algunas implementaciones de equilibrio de la carga quizás usen el comportamiento de host no seguro para recibir paquetes en cualquier interfaz y luego dirigirlos a la interfaz apropiada de forma interna. Un host que usa envíos de host no seguro para enviar tráfico desde cualquier dirección de origen en una interfaz correspondiente a una conexión rápida también se puede ver afectado.

Envíos y recepciones en un host seguro
Ahora veamos cómo funcionan los procesos de envío y recepción en un host genérico para IPv4 o IPv6 cuando se permite que los envíos y las recepciones de host seguro se habiliten o deshabiliten según la interfaz.
Para paquetes que se envían, la dirección IP comprueba primero si ya se ha especificado una dirección de origen. Si no se ha hecho, la dirección IP realiza una búsqueda sin restricciones de la dirección de destino del paquete en la tabla de enrutamiento. En una búsqueda sin restricciones, se tienen en cuenta todas las rutas de la tabla de enrutamiento. Según la ruta seleccionada para el destino, la dirección IP determina la interfaz de próximo salto (la interfaz que se usa para colocar el paquete en el nivel de vínculo) y la dirección de próximo salto. En función de la interfaz de próximo salto, la dirección IP usa el proceso de selección de dirección definido en RFC 3484 según sea necesario para determinar la mejor dirección de origen. Llegado a este punto, la dirección IP tiene todo lo que necesita para enviar el paquete: las direcciones de origen y de destino, la interfaz de próximo salto y la dirección de próximo de salto.
Si se especificó la dirección de origen, se conocerá la interfaz de origen. A la interfaz de origen se le asigna la dirección de origen. La dirección IP entonces determina si los envíos del host seguro están habilitados en la interfaz de origen.
Si están deshabilitados, la dirección IP realiza una búsqueda sin restricciones de la dirección de destino del paquete en la tabla de enrutamiento. Según la mejor ruta correspondiente para el destino, la dirección IP determina la interfaz del próximo salto y la dirección del próximo de salto. La dirección IP contiene las direcciones de origen y de destino, la interfaz de próximo salto y la dirección de próximo salto. Tenga en cuenta que con el comportamiento de envío de host seguro deshabilitado en la interfaz de origen, la interfaz de próximo salto quizás no sea igual que la interfaz de origen.
Si los envíos de host seguro están habilitados la interfaz de origen, la dirección IP realiza una búsqueda con restricciones de la dirección de destino del paquete en la tabla de enrutamiento. En una búsqueda con restricciones, sólo se tienen en cuenta aquellas rutas con una interfaz de próximo salto de la interfaz de origen. Según la ruta seleccionada para el destino, la dirección IP determina la dirección del próximo salto. La dirección IP contiene las direcciones de origen y de destino, la interfaz de próximo salto y la dirección de próximo salto. Tenga en cuenta que con el comportamiento de envíos de host seguro habilitado en la interfaz de origen, la interfaz de próximo salto es siempre la misma que la interfaz de origen. La figura 2 muestra el proceso genérico de host de envío IP.
Figura 2 Proceso genérico de host de envío IP
Figura 2 Proceso genérico de host de envío IP
Cuando se ha especificado la dirección de origen, la búsqueda con restricciones de la ruta puede seleccionar una ruta con una métrica superior entre varias rutas de la tabla de enrutamiento que muestran más coincidencias con el destino. Por ejemplo, el host A de la figura 1 tiene dos rutas predeterminadas; una se dirige a Internet con una métrica de 10 y la otra se dirige a la intranet con una métrica de 20. El comportamiento de host seguro se activa en las dos interfaces LAN.
Si la aplicación de envío en el host A no especifica una dirección de origen, el resultado de la búsqueda de la ruta es la ruta predeterminada con la métrica más baja; el host A siempre envía el tráfico fuera de la interfaz de Internet con una dirección de origen 131.107.89.211. Sin embargo, si la aplicación de envío en el host A especifica la dirección de origen 131.107.89.211, el resultado de la búsqueda es la ruta predeterminada para la interfaz de Internet; el host A envía el tráfico fuera de la interfaz de Internet. Sin embargo, si la aplicación de envío en el host A especifica la dirección de origen 192.168.17.48, la búsqueda selecciona la ruta predeterminada para la interfaz de la intranet; el host A envía el tráfico fuera de la interfaz de la intranet. Mediante la búsqueda con restricciones de la ruta, la dirección IP envía tráfico con una dirección de origen 192.168.17.48 mediante la ruta predeterminada con una métrica superior.
Para el tráfico recibido, la dirección IP determina primero si el tráfico está destinado a ese host. Si no es así, la dirección IP descarta el paquete en silencio porque el host no actúa como un enrutador. La dirección IP entonces determina si las recepciones de host seguro están habilitadas en la interfaz entrante (la interfaz en la que se recibió el paquete). Si están deshabilitadas, la dirección IP procesa el paquete. Si están habilitadas, la dirección IP determina si la dirección de destino en el paquete está asignada a la interfaz entrante. Si es así, la dirección IP procesa el paquete. De lo contrario, la dirección IP descarta el paquete en silencio. La figura 3 muestra el proceso genérico de host de recepción.
Figura 3 Proceso genérico de host de recepción
Figura 3 Proceso genérico de host de recepción

Comportamiento de host seguro y no seguro en Windows
Windows XP y Windows Server ® 2003 usan el modelo de host no seguro para envíos y recepciones de todas las interfaces IPv4 y el modelo de host seguro para envíos y recepciones de todas las interfaces IPv6. Este comportamiento no se puede configurar. La pila TCP/IP de próxima generación de Windows Vista y Windows Server 2008 es compatible con los envíos y las recepciones de host seguro tanto para IPv4 como para IPv6 de forma predeterminada en todas las interfaces salvo para la interfaz de túnel Teredo para una retransmisión específica del host Teredo. La figura 4 muestra los comandos que pueden usarse para configurar el comportamiento de envío y recepción tanto para IPv4 como para IPv6 según cada interfaz. Tenga en cuenta que InterfaceNameOrIndex es el nombre de la interfaz de la carpeta Conexiones de red o el índice de la interfaz. El índice de la interfaz se puede obtener de la visualización del comando:
Figure 4 Comandos para configurar el comportamiento de envío y recepción de un host no seguro (Close Figure 4)

• netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
• netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
• netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
• netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
netsh interface ipv6 show interface
Comportamiento de un host seguro y no seguro y RFC 3484
Para ofrecer un método estandardizado para la selección de direcciones de origen y de destino de IPv6 y l IPv4 con las que intentar establecer conexiones, RFC 3484 define dos algoritmos. El primero es un algoritmo de selección de direcciones de origen que permite elegir la mejor dirección de origen que se usará con una dirección de destino. El otro es un algoritmo de selección de direcciones de destino que permite clasificar la lista de direcciones de destino posibles en orden de preferencia.
El comportamiento de host seguro y no seguro está en vigencia al determinar la lista de direcciones de origen candidatos para una dirección de destino concreta, y esto afecta también a la lista clasificada final de direcciones de destino. Para el comportamiento de envío de host seguro, la lista de direcciones de origen candidatos incluye las direcciones de unidifusión asignadas a la interfaz de envío para el destino. Para el comportamiento de envío de host no seguro, la lista de candidatos puede incluir las direcciones asignadas a cualquier interfaz que tiene habilitado envíos de host no seguro. Si desea obtener más información acerca de la selección de direcciones de origen y de destino, diríjase a microsoft.com/technet/community/columns/cableguy/cg0206.mspx.

De forma predeterminada, tanto los envíos de host seguro como de host no seguro están deshabilitados para IPv4 y IPv6 en todas las interfaces, salvo la interfaz de túnel Teredo para una retrasmisión de host específico de Teredo.
Si desea obtener más información acerca de RFC 3484, consulte la barra lateral "Comportamiento de un host seguro y no seguro y RFC 3484".

Deshabilitación de las rutas predeterminadas para conexiones VPN de acceso remoto
Un cliente de red privada virtual de acceso remoto (VPN) es otro ejemplo de host múltiple. Aunque quizás tenga una única interfaz LAN conectada a Internet, cuando un cliente VPN de acceso remoto completa una conexión VPN, dicha interfaz es de host múltiple. Tiene dos interfaces: la interfaz LAN y una interfaz basada en el Protocolo punto a punto (PPP) para la conexión VPN. También tiene dos direcciones IPv4: una dirección IPv4 asignada al proveedor de servicios de Internet para la interfaz LAN y una dirección IPv4 asignada por el servidor VPN para la interfaz basada en el PPP.
Para asegurar que el cliente VPN envía tráfico de ruta predeterminado a través de la conexión VPN a la intranet, Windows XP y Windows Server 2003 modifican la tabla de enrutamiento IPv4 al elevar la métrica de la ruta predeterminada existente y agregar una ruta predeterminada nueva con una métrica inferior que usa la interfaz de PPP. Este comportamiento predeterminado hace que las ubicaciones en la intranet sean accesibles y que casi todas las ubicaciones en Internet sean inaccesibles durante la conexión VPN. Es posible configurar un cliente VPN para que el túnel dividido tenga acceso simultáneo a las ubicaciones tanto de Internet como de la intranet mediante. Para ello, no se debe agregar la ruta predeterminada para la conexión VPN y se deben agregar rutas específicas para destinos de la intranet. Sin embargo, hay un riesgo de que los clientes VPN de túnel dividido puedan dirigir paquetes entre Internet y la intranet. Para obtener más información, consulte microsoft.com/technet/community/columns/cableguy/cg1003.mspx.
El comportamiento predeterminado del cliente VPN en Windows XP y Windows Server 2003 fue diseñado para el comportamiento de envío de host no seguro. La búsqueda de la ruta siempre usa la ruta predeterminada para la conexión VPN porque tiene la métrica más baja. Sin embargo, cuando se usa el comportamiento de envío de host seguro, la ruta predeterminada usada para el tráfico enviado depende de la dirección IP de origen del paquete. La búsqueda de la ruta para el tráfico desde la dirección IPv4 asignada por el ISP usará la ruta predeterminada que usa la interfaz LAN, de forma que se puedan alcanzar todas las ubicaciones de Internet. La búsqueda de la ruta para el tráfico desde la dirección IPv4 asignada por el servidor VPN usará la ruta predeterminada que usa la interfaz de PPP, de forma que se puedan alcanzar todas las ubicaciones de la intranet. Por lo tanto, cuando se usa el comportamiento de envío de host seguro, el cliente VPN tiene una configuración de túnel dividida y acceso simultáneo a Internet y a la intranet, incluso para las aplicaciones que no tienen privilegios de administrador para poder modificar directamente la tabla de enrutamiento IPv4.
Para evitar que el comportamiento de envío de host seguro cree una configuración de túnel dividido de forma predeterminada, el cliente VPN de Windows Vista® y Windows Server 2008 deshabilita automáticamente las rutas predeterminadas de las interfaces LAN al establecer la conexión VPN. Este comportamiento garantiza que sólo habrá una única ruta predeterminada activa en la tabla de enrutamiento que usa la interfaz PPP. Este comportamiento también garantiza que las aplicaciones sin privilegios de administrador no pueden realizar la división del túnel.
Debido a que el tráfico desde el equipo cliente VPN debe originarse en la dirección IPv4 asignada por el servidor VPN, este comportamiento ofrece un mejor aislamiento de la intranet desde Internet. Cuando la conexión VPN finaliza, se habilitan las rutas predeterminadas deshabilitadas.
Este comportamiento puede controlarse mediante el comando:
netsh interface ipv4 set interface [InterfaceNameOrIndex]
ignoredefaultroutes=enabled|disabled

Joseph Davies es escritor técnico de Microsoft y enseña y escribe sobre temas de red de Windows desde 1992. Ha escrito cinco libros para Microsoft Press y es autor del artículo mensual The Cable Guy de TechNet.


 Windows PowerShell: Protecci&#243;n del Shell
Windows PowerShell
Protección del Shell
Don Jones

Cuando el equipo de Windows PowerShell se sentó a crear un shell nuevo y salió a relucir la palabra "scripting", seguramente los gritos de pánico se oyeron en todo Redmond. Después de todo, los esfuerzos anteriores de Microsoft sobre scripting administrativo (más concretamente me refiero a VBScript) no estuvieron exactamente libres de problemas. Un
modelo de ejecución excesivamente permisivo, combinado con la inclinación de la mayoría de usuarios a iniciar sesión como administradores completos, abrió la puerta al desastre.
Los participantes de esa primera reunión sobre Windows PowerShell™ seguramente se repitieron a ellos mismos eso de "de ninguna manera vamos a pasar por eso otra vez". Y lo han conseguido. Microsoft ha mejorado muchísimo su reputación en seguridad, en gran parte porque empezó a pensar en la seguridad en la fase inicial, en lugar de hacerlo cuando el ciclo de desarrollo de un producto ya estaba avanzado. Esta filosofía es mucho más evidente en Windows PowerShell.

¿Por qué no se ejecutan mis scripts?
Instale Windows PowerShell en un equipo recién instalado y haga doble clic en un archivo .ps1: se abrirá el Bloc de notas, no Windows PowerShell. Esto es porque la extensión del nombre de archivo .ps1 (la que usan los scripts de Windows PowerShell) no está asociada con el propio shell. Es decir, no se puede ejecutar un script sólo con hacer doble clic en él. La única manera de ejecutar un script es abrir Windows PowerShell, escribir el nombre de script y después presionar Intro.
En realidad, sólo con escribir el nombre del script tampoco es suficiente. Como puede ver en la figura 1, el archivo Demo1.ps1 existe en la carpeta actual, pero al escribir demo1 y presionar Entrar se genera el error siguiente: "El término 'demo1' no se reconoce como cmdlet, función, programa operable ni archivo de script." ¿A qué se debe? Después de todo, el archivo se encuentra ahí mismo.
Figura 1 Para evitar el secuestro de comandos, Windows PowerShell requiere que todos los scripts incluyan una ruta de acceso.
Figura 1 Para evitar el secuestro de comandos, Windows PowerShell requiere que todos los scripts incluyan una ruta de acceso.
Este es otro aspecto del modelo de seguridad de Windows PowerShell. Una artimaña que normalmente intentan los usuarios malintencionados en otros shells es crear un script con el mismo nombre de archivo que un comando integrado. Así, por ejemplo, si deseara que un usuario ejecutara su script, podría llamarlo Dir.ps1 y dejarlo en una carpeta. Si convenciera al usuario para que escribiera Dir y después presionara Intro, se podría ejecutar su script, no el comando Dir que el usuario esperaba. Esta técnica se llama secuestro de comandos. En Windows PowerShell siempre es obligatorio proporcionar una ruta de acceso a ese script, protegiendo así bastante bien a Windows PowerShell frente a secuestros de comandos.
Ejecutar demo1 no funciona, porque no se incluye la ruta de acceso, pero ejecutar ./demo1 funciona. Esto es porque ahora he especificado una ruta de acceso, la carpeta actual. Esa línea de comandos es menos probable de ser confundida con un comando integrado, ya que si se estuviera refiriendo a un comando integrado nunca escribiría ningún tipo de ruta de acceso. Así, el hecho de requerir una ruta de acceso ayuda a que Windows PowerShell evite el secuestro de comandos y la confusión sobre lo que pueda suceder al presionar Intro.

Directiva para la ejecución de scripts
Así que tiene una copia recién instalada de Windows PowerShell, está usando la sintaxis apropiada e intenta ejecutar un script. Para su sorpresa, verá aparecer otro mensaje de error, que le informará que a Windows PowerShell no se le permite ejecutar scripts. ¿Qué? Bienvenido a la directiva de ejecución del shell.
Puede consultar cuál es la directiva de ejecución actual si ejecuta Get-ExecutionPolicy en el shell. De forma predeterminada, está establecida en Restricted, lo que resumiendo significa que los scripts no se ejecutarán. Nunca. Para nadie. De forma predeterminada, Windows PowerShell sólo se puede usar de manera interactiva, en lugar de para ejecutar scripts. Puede usar el cmdlet Set-ExecutionPolicy para elegir entre una de las cuatro configuraciones posibles de las directivas de ejecución:
  • Restricted, la configuración predeterminada, no permite ejecutar ningún script.
  • AllSigned sólo ejecuta scripts de confianza (más sobre ello en un momento).
  • RemoteSigned ejecuta scripts locales sin requerir que sean de confianza; sin embargo, los scripts descargados desde Internet se debe especificar que son de confianza antes de poder ejecutarlos.
  • Unrestricted permite ejecutar todos los scripts, incluso los que no son de confianza.
Francamente, AllSigned es la configuración más baja en la que debería establecerse cualquier equipo de producción. RemoteSigned resulta útil en entornos de desarrollo y pruebas, pero no es necesario para el usuario normal. Y no veo la necesidad de usar Unrestricted en ningún caso, y no me importaría si en versiones futuras de Windows PowerShell se omitiera esta configuración demasiado permisiva.

Es una cuestión de confianza
Su equipo está preconfigurado para confiar en ciertas entidades de certificación raíz (CA), es decir, servidores que publican certificados digitales. La figura 2 muestra la aplicación de panel de control Opciones de Internet, que muestra las entidades de certificación raíz de confianza. En Windows Vista®, esta lista es bastante corta y sólo incluye algunas entidades de certificación raíz comerciales importantes. Por el contrario, la lista predeterminada en Windows® XP es grande e incluye muchas entidades de certificación raíz de las que nunca he oído nada. Cuando una entidad de certificación raíz está en esta lista, esencialmente se está diciendo que se confía en que la empresa que usa la entidad de certificación raíz hará un buen trabajo al comprobar la identidad de alguien antes de emitir un certificado digital con su nombre.
Cuando se obtiene certificado digital de Clase III, que comúnmente se denomina un certificado de firma de código, la CA (que puede ser una CA comercial o privada que exista dentro de su organización) debe comprobar su identidad. Ese certificado digital es como un pasaporte o pieza de identidad electrónicos. Por ejemplo, antes darme un identificador que diga soy Don Jones, es necesario que la CA realice algunos pasos para asegurarse de que realmente sea Don Jones. Cuando usa su certificado para firmar digitalmente un script de Windows PowerShell, cosa que puede hacer con el cmdlet Set-AuthenticodeSignature, está firmando con su nombre en el script. Por supuesto, si puede obtener un certificado falso que contenga el nombre de otra persona, puede firmar con su nombre el script, y por eso es tan importante que sólo aparezcan CA de confianza en la lista de la figura 2.
Figura 2 CA de confianza predeterminadas en Windows Vista
Figura 2 CA de confianza predeterminadas en Windows Vista
Cuando Windows PowerShell comprueba si se confía en un script, cosa que hace si la configuración de directiva de ejecución es AllSigned y RemoteSigned, hace tres preguntas:
  • ¿Está firmado este script? Si la respuesta es no, el script no es de confianza.
  • ¿Está intacta la firma digital? En otras palabras, ¿se ha cambiado el script desde que se firmó? Si la firma digital no está intacta, el script no es de confianza.
  • ¿Se creó la firma con un certificado digital publicado por una entidad de certificación raíz de confianza? Si la respuesta es no, el script no es de confianza.
CMDLET del mes: Set-AuthenticodeSignature
Set-AuthenticodeSignature es la clave para firmar digitalmente los scripts de Windows PowerShell, cosa que le permite usar la directiva de ejecución más segura del shell, AllSigned. Para usar este cmdlet, deberá empezar por otro (Get-ChildItem) que captura un certificado instalado de firma de código:
$cert = Get-ChildItem –Path cert:\CurrentUser\my –codeSigningCert
Necesita reemplazar la ruta de ese archivo por una que señale a un certificado instalado, cualquier certificado instalado será accesible mediante la unidad cert:. Cuando el certificado se haya cargado, ejecute esto para firmar un script:
Set-AuthenticodeSignature MyScript.ps1
–cert $cert
Debe proporcionar la ruta de acceso completa a su archivo de script .ps1. El shell agregará un bloque de firma digital al archivo.

¿En qué mejora la seguridad con la confianza? Con toda seguridad, un pirata informático podría escribir un script malintencionado, firmarlo y convencer a alguien de su entorno para que lo ejecute. Dado que el script estaría firmado, se ejecutaría. Pero dado que estaba firmado, podría usar la firma digital para buscar la identidad del autor y tomar las medidas pertinentes (como llamar a las fuerzas de orden público). Aunque alguien tendría que ser muy poco inteligente para crear un script malintencionado y después poner en él su nombre real.
Por supuesto, si un usuario malintencionado fuera capaz de obtener un certificado para la identidad de alguien distinto, por ejemplo de una CA que no tuviera un buen proceso de comprobación de identidades, no podría usar la firma digital para identificar al verdadero culpable. De ahí que las entidades emisoras raíz en las que confíe deben tener un proceso de comprobación de identidades que considere satisfactorio.
Si usa la configuración de directiva de ejecución AllSigned, deberá firmar digitalmente incluso los scripts que produzca usted mismo antes de poderlos ejecutar. El cmdlet Set-AuthenticodeSignature es bastante fácil de usar, pero aún puede representar una molestia. En este punto el software de terceros puede resultar práctico. Le recomiendo que seleccione un editor de scripts o un entorno de desarrollo visual que firmen automáticamente sus scripts con el certificado que especifique. De esta forma, el uso de firmas digitales resulta transparente y no requiere esfuerzos adicionales. Si desea ver sugerencias para editores y entornos de desarrollo que sean compatibles con esto, visite algunos de los foros de scripting (como el de mi sitio en ScriptingAnswers.com) y envíe un mensaje preguntando qué usan otros fanáticos de Windows PowerShell.
Cuando tenga un certificado, también puede ejecutar la línea siguiente para firmar todos los scripts de una ubicación determinada:
Get-Childitem *.ps1 | %{Set-AuthenticodeSignature $_.fullname $cert}

Protección centralizada
La directiva de ejecución de Windows PowerShell también se puede configurar individualmente, equipo por equipo. Pero esto no es una buena solución en entornos empresariales. En vez de eso, puede usar la Directiva de grupo. (Puede descargar las plantillas administrativas de Windows PowerShell desde go.microsoft.com/fwlink/?LinkId=93675.) Simplemente suelte el archivo en un Objeto de directiva de grupo (GPO) que afecte a todo su dominio y establézcalo en Restricted. De esta forma, no importa dónde esté instalado Windows PowerShell, podrá estar seguro que los scripts no podrán ejecutarse. A continuación, puede aplicar una configuración más permisiva (por ejemplo, AllSigned) en aquellos equipos que deban ejecutar scripts (como sería el caso de su propia estación de trabajo).

Credenciales alternativas
A diferencia de anteriores lenguajes de scripting administrativo para Windows, Windows PowerShell también está preparado para tratar con credenciales alternativas de forma segura. Por ejemplo, el cmdlet Get-WMIObject tiene un parámetro -credential que permite especificar una credencial alternativa para conexiones WMI remotas. El parámetro aceptará un nombre de usuario pero no una contraseña, impidiendo así la codificación de contraseñas privadas en un script de texto normal. En cambio, cuando proporcione el nombre del usuario, Windows PowerShell le preguntará la contraseña mediante un cuadro de diálogo. Si tiene pensado usar una credencial alternativa otra vez, puede almacenar la información de autenticación con el cmdlet Get-Credential:
$cred = Get-Credential DOMAIN\USER
Se le pedirá inmediatamente la contraseña y la credencial final se almacenará en la variable $cred. A continuación, la variable $cred se puede pasar al parámetro –credential tan a menudo como sea necesario. Incluso puede usar los cmdlets ConvertTo-SecureString y ConvertFrom-SecureString para convertir la credencial en una cadena cifrada o para convertir una cadena cifrada anteriormente de nuevo en credencial.
El problema de esto es que la clave de cifrado termina siendo almacenada en un script de texto normal, cosa que está completamente en contra de la seguridad. Así que en vez de hacer esto, puede agregar una llamada a Get-Credential en su perfil de Windows PowerShell. En ese caso, cuando Windows PowerShell se ejecuta, se le pide inmediatamente un nombre de usuario y una contraseña, que después se almacenan en una variable llamada $cred. De este modo, siempre tiene la variable $cred disponible en el shell que representa una cuenta de administrador del dominio. Y nunca tiene que preocuparse de almacenar esa credencial en ninguna parte; dado que la credencial se vuelve a crear cada vez que se abre el shell, no hay necesidad de almacenarla.

Seguridad predeterminada
De forma predeterminada, Windows PowerShell se instala y configura con los valores más seguros que pudiera sugerir para un shell administrativo que admita scripting. A menos que cambie alguna de esas configuraciones, Windows PowerShell permanecerá lo más protegido posible. Es decir, cualquier cosa que reduzca la seguridad de Windows PowerShell será resultado de su decisión y de sus acciones. Así que antes de cambiar alguno de los valores predeterminados (reconfigurando las asociaciones de las extensiones de archivo, cambiando la directiva de ejecución, etc.) asegúrese de entender completamente las consecuencias de sus acciones y esté preparado para responsabilizarse del resultado de sus cambios.

Don Jones es el gurú principal de scripting de SAPIEN Technologies y un instructor de ScriptingTraining.com. Puede ponerse en contacto con Don a través de su sitio web, ScriptingAnswers.com.


 &#161;Hola, encargados del scripting!: &#191;Se puede salvar esta relaci&#243;n?
¡Hola, encargados del scripting!
¿Se puede salvar esta relación?
The Microsoft Scripting Guys
Descargar el código de este artículo: HeyScriptingGuy2007_09.exe (150KB)

Las relaciones importan. ¿Pero cómo hacen los encargados del scripting, entre todas las personas, para saber que las relaciones importan? Bueno, por una parte: miramos mucha televisión, y en la TV siempre nos dicen que las relaciones importan.
Y eso no sólo en telenovelas ni en telefilmes. Por ejemplo, hay un anuncio publicitario de una empresa de préstamos del día de paga que anima a las personas a que se conviertan clientes de su empresa. ¿Se deberá a que están dispuestos a prestar dinero a personas que antes que nada probablemente no deberían obtener un préstamo? No. ¿Se debe a que le cobrarán hasta un 900 por ciento de interés anual en ese préstamo? Por supuesto que no. Se debe a que esta empresa de préstamos del día de paga forma una relación personal con usted. Como su anuncio lo indica, "las relaciones importan".
Nota: Seguro, estamos llorando, no nos avergonzamos de eso. A fin de cuentas, tendría que ser un poco frío e insensible para no llorar un poco sólo con pensar en los lazos profundos y perdurables que vinculan a una persona con su empresa de préstamos del día de paga.
Sabemos lo que está pensando, por supuesto: "Cielos, si las relaciones le importan a las empresas de préstamos del día de paga, entonces las relaciones deben realmente importarle a las personas que escriben scripts que interactúan con bases de datos". Y el hecho de que importen se debe a que las relaciones deberían importarle a las personas que escriben scripts que interactúan con las bases de datos. Sin embargo, desafortunadamente, estos escritores de script no siempre se dan cuenta de que las relaciones importan. Pero no pasa nada, en el artículo de este mes lo dejaremos bien en claro para todos.
Sabemos que muchos administradores de sistema usan las bases de datos, a menudo como una manera de realizar un seguimiento de su inventario de hardware. El problema es que muchas de estas bases de datos se configuran de un modo algo menos que óptimo. Por ejemplo, supongamos que necesita una base de datos que realice un seguimiento de las unidades de disco conectadas a todos los equipos. Si no cuenta con información previa en diseño de base de datos, es bastante probable que cree una base de datos de una tabla como la mostrada en la figura 1.
Figura 1 Base de datos de una tabla
Figura 1 Base de datos de una tabla
Como puede ver, es un diseño muy sencillo: Hay un campo para el nombre de equipo, y un par de campos Sí/No que se usan para indicar si un equipo posee una unidad C: y una unidad D:. Y eso es todo. Preciso, claro y al punto.
Entonces, ¿cuál es el problema con esta base de datos? Bueno, a decir verdad, casi todo. Si puede estar seguro que ninguno de sus equipos posee más de dos unidades de disco, este diseño funcionará (casi). Sin embargo, ¿qué sucede si tiene un equipo que posee tres unidades de disco? En ese caso, tendrá que agregar otro campo, que realice un seguimiento de la unidad de disco E. De acuerdo, pero qué sucede si tiene un equipo que posee once unidades de disco? ¿Y qué si desea realizar un seguimiento de las propiedades de cada una de esas unidades de disco? Por ejemplo, supongamos que quiere realizar un seguimiento del tamaño total de cada unidad de disco. En ese caso, necesitará un campo Drive_C_Size. Y un campo Drive_D_Size. Y un campo Drive_E_Size, y... bueno, ya se hace una idea. (E imagínese que desea realizar un seguimiento del espacio en disco disponible, tipo de conector del disco, si se han habilitado cuotas de disco en la unidad de disco, etc.).
Aquí una regla empírica a tener presente: cada vez que una entidad posea más que una unidad de algo (por ejemplo, un equipo puede tener más de una unidad de disco), este diseño de "archivo plano" (una tabla) no está muy bien. Es cierto, en el caso de las unidades de disco quizás piense que con esto es suficiente; a fin de cuentas, sólo tendrá un número finito de unidades de disco conectadas a un equipo. Pero supongamos que quiere consultar su base de datos y obtener una lista de todas las unidades de disco iguales o mayores que 100 gigabytes. ¿Cómo tendría que hacer para realizar algo así? Bueno, primero tendría que buscar unidades de 100 gigabytes en el campo Drive_C_Size, luego buscar lo mismo en el campo Drive_D_Size, en el campo Drive_E_Size, en... En general, no es un método muy eficiente o eficaz. ¿Pero cuál es la alternativa? Si no puede usar una base de datos de archivo plano, ¿qué puede usar?
Es fácil: una base de datos relacional. Las bases de datos relacionales se diseñan, entre otros aspectos, para atender relaciones uno a varios (por ejemplo, un equipo que posea muchas unidades de disco). Y antes de que pregunte: no, no tiene que salir y comprar nada nuevo para poder usar una base de datos relacional; si dispone de una base de datos de algún tipo (Microsoft® Access™, SQL Server™, Oracle o lo que sea), es probable que ya tenga una base de datos relacional. No necesita comprar nada; sólo necesita conocer dos cosas: 1) cómo establecer una relación entre dos tablas en esa base de datos; y 2) cómo escribir un script que pueda aprovechar esa relación.
Nota: Según la televisión nunca debe intentar aprovechar una relación. Pero esta tarea es diferente.
Debido a que este artículo no se llama ¡Hola, encargados del diseño de base de datos!, no dedicaremos mucho tiempo para tratar el diseño de base de datos. En cambio, simplemente le mostraremos un diseño muy sencillo de base de datos relacional que nos permitirá hablar sobre escritura de consultas relacionales. En esta base de datos tenemos dos tablas. La primera se denomina Computers y contiene un par de campos: ComputerName y SerialNumber. El campo ComputerName es donde almacenaremos el nombre de equipo y el campo SerialNumber es donde almacenaremos... bueno seguro puede adivinarlo. Exacto, el número de serie.
Entonces, ¿dónde podemos poner la información de nuestra unidad de disco? Va en nuestra segunda tabla, que se denomina DiskDrives. Esta tabla contiene tres campos: SerialNumber que contiene el número de serie, DriveLetter que contiene la letra de la unidad y DriveSize que contiene el tamaño de la unidad.
Aquí el campo clave es SerialNumber. Si ese nombre de campo suena familiar, bueno, debe ser así: tenemos exactamente el mismo campo en la tabla Computers. Y eso no es un accidente ni una coincidencia; lo hicimos a propósito. Para establecer una relación entre estas dos tablas necesitamos tener un campo que aparezca en cada tabla; ese es el modo en que podemos decir qué unidades de disco pertenecen a qué equipos.
¿Por qué vinculamos las dos tablas mediante el número de serie en lugar de, por ejemplo, el nombre de equipo? En realidad hay una buena razón para ello: los nombres de equipo pueden cambiar (y a menudo lo hacen). Los números de serie típicamente no.
Pero ya es suficiente discurso. Echemos una mirada a la figura 2, un script que puede buscar estas dos tablas y recuperar una lista de las unidades de disco que pertenecen a cada equipo. La figura 3 muestra la clase de datos que este script devuelve.
Figure 3 Resultados de búsqueda (Close Figure 3)
atl-ws-01
C:

atl-ws-01
D:

atl-ws-01
E:

atl-ws-02
C:

atl-ws-02
D:
Figure 2 Búsqueda en las tablas (Close Figure 2)
Const adOpenStatic = 3
Const adLockOptimistic = 3

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")

objConnection.Open _
 "Provider = Microsoft.Jet.OLEDB.4.0; " & _
 "Data Source = c:\scripts\test.mdb"

objRecordSet.Open "SELECT Computers.*, DiskDrives.* FROM Computers " & _
 "INNER JOIN DiskDrives ON Computers.SerialNumber = DiskDrives.SerialNumber " & _
 "ORDER BY Computers.ComputerName, DiskDrives.Drive", objConnection, adOpenStatic, _
  adLockOptimistic

objRecordSet.MoveFirst

Do Until objRecordset.EOF
 Wscript.Echo objRecordset.Fields.Item("ComputerName")
 Wscript.Echo objRecordset.Fields.Item("Drive")
 Wscript.Echo
 objRecordset.MoveNext
Loop

objRecordSet.Close
objConnection.Close
No analizaremos los fundamentos para conectarse y trabajar con bases de datos en el artículo de este mes; si es principiante en el scripting de base de datos quizás puede echar una mirada a la webcast de los encargados del scripting "Scripting de base de datos para administradores del sistema" (go.microsoft.com/fwlink/?LinkId=22089). Todo lo que diremos es que nos conectamos a una base de datos Access (C:\Scripts\Test.mdb) y trabajamos con tablas relacionales denominadas Computers y DiskDrives. Esto se aclarará lo suficiente a partir del script.
De acuerdo, algo más que diremos es que necesita realizar un pequeño cambio para que funcione con Access 2007: Es importante cambiar el proveedor de Microsoft.Jet.OLEDB.4.0 a Microsoft.ACE.OLEDB.12.0, del siguiente modo:
objConnection.Open _
 "Provider = Microsoft.ACE.OLEDB.12.0; " & _
 "Data Source = c:\scripts\test.accdb"
Eso es todo. Lo que haremos, en cambio, es centrarnos en la consulta SQL que recupera los datos de nuestras dos tablas:
objRecordSet.Open "SELECT Computers.*, " & _
 "DiskDrives.* FROM Computers " & _
 "INNER JOIN DiskDrives ON " & _
 "Computers.SerialNumber = " & _
 "DiskDrives.SerialNumber " & _
 "ORDER BY ComputerName, Drive", _
 objConnection, adOpenStatic, adLockOptimistic
¿Complicado? Quizás un poco. Así que veremos si podemos desglosarlo un poco y hacerlo más fácil de digerir.
La primera parte de nuestra consulta es bastante fácil en realidad. Deseamos seleccionar todos los campos en ambas tablas: Computers y DiskDrives. De ahí que se necesita este fragmento de SQL:
SELECT Computers.*, DiskDrives.*
No está nada mal; el asterisco, aunque no es necesario decirlo, simplemente es un carácter comodín que significa "todo".
Si ha escrito antes consultas SQL (o si ha escrito consultas WMI, Instrumental de administración de Windows®, que usan un subconjunto del lenguaje de consulta SQL), conoce la rutina: después de especificar los elementos que desea seleccionar, especifica a continuación desde dónde desea seleccionar estos elementos. Entonces, la pieza siguiente de nuestro rompecabezas de la consulta es:
FROM Computers INNER JOIN DiskDrives ON Computers.SerialNumber = DiskDrives.SerialNumber
No permita que le intimide. Es cierto, es más complicado que una típica instrucción FROM, pero por una buena razón. Después de todo, en una consulta SQL típica sólo seleccionamos los datos de una tabla; en esta oportunidad seleccionamos los datos de dos tablas a la vez.
Vamos a examinar más atentamente la sintaxis y ver cómo funciona. Como puede ver, pedimos que el script seleccione los datos desde la tabla Computers y desde la tabla DiskDrives. Sin embargo, observe que no usamos la palabra "and"; en cambio, usamos el término INNER JOIN. Este término define el tipo de relación y, por su parte, describe cómo combinaremos información de dos tablas separadas en un solo conjunto de registros. (Y sí, hay otros tipos de combinaciones; hablaremos de ellas en unos pocos minutos).
Por lo que hemos dicho, depende de nosotros especificar el tipo de relación que existe entre nuestras tablas; también depende de nosotros especificar exactamente cómo se relacionan esas tablas. De eso se encarga este fragmento de código:
ON Computers.SerialNumber = DiskDrives.SerialNumber
Lo que hacemos aquí es definir cómo combinaremos nuestras tablas. Los registros se agruparán en cualquier momento que el campo SerialNumber en la tabla Computers coincida con el campo SerialNumber en la tabla DiskDrives. ¿Qué sucede si hubiéramos usado un campo diferente (digamos, ComputerName) como nuestro campo de combinación? Bueno, entonces nuestro código tendría el aspecto siguiente:
ON Computers.ComputerName = DiskDrives.ComputerName
En caso de que lo pregunte: no, los dos campos no tienen que tener el mismo nombre; sólo deben contener los mismos datos. Usar el mismo nombre facilita la identificación del campo relacional. Hay sólo un pequeño truco a tener en cuenta: debido a que tenemos dos campos con el mismo nombre, necesitamos usar siempre la sintaxis TableName.Field.Name cuando hagamos referencia a uno de estos campos. Eso significa usar un código similar al siguiente: Wscript.Echo obj- Recordset.Fields.Item("Computers.SerialNumber").
En realidad eso es todo lo que necesitamos; el resto de la consulta solamente clasifica los datos, primero por nombre de equipo y, a continuación, por unidad de disco:
ORDER BY ComputerName, Drive
No fue tan terrible, ¿o sí? Ahora debemos hacer una pausa por algunos segundos y hablar sobre combinaciones. ¿Por qué usamos una combinación interna en nuestra consulta? Muy fácil. Una combinación interna sólo devuelve los registros que tienen valores que coinciden en cada tabla. Es decir, supongamos que tenemos el número de serie 121989. Si ese número de serie aparece en ambas tablas, Computers y DiskDrives, se devolverán los registros correspondientes. (Por supuesto, el número de serie no puede aparecer en cualquier parte; debe estar en el campo SerialNumber). ¿Tiene sentido? Bien.
Ahora, supongamos que tenemos un equipo que tiene el número de serie 121989; sin embargo, no hay unidades de disco con ese número de serie. En ese caso, para el equipo con el número de serie 121989 no se devolverá ningún dato. Esto se debe a que una combinación interna sólo devuelve información si un registro tiene valores que coinciden en cada una de las tablas combinadas.
Es decir, una consulta con combinación interna devuelve todos los equipos que tienen discos duros; no devolverá ningún equipo que no tenga discos duros, ni ningún disco duro que no esté instalado en un equipo. Eso es bueno; a menudo es lo que deseamos. ¿Pero qué sucede si desea obtener una lista de equipos que no tienen discos duros o discos duros que no tienen equipos? ¿Entonces qué?
Para eso sirve la combinación externa. (Ah, ¡para eso sirve la combinación externa!) De momento, diremos que sólo existen dos tipos diferentes de combinaciones externas: Izquierdo y derecho. En nuestra base de datos tenemos dos tablas: Computers (que se considera la tabla "izquierda" porque es la tabla maestra) y DiskDrives (que se considera la tabla "derecha" porque es, bueno, porque no es la tabla maestra). Supongamos que deseamos que nuestro conjunto de registros devuelto incluya todos los equipos, incluso aquellos que no tienen instalada ninguna unidad de disco. En ese caso, usamos la sintaxis LEFT OUTER JOIN y una consulta similar a la siguiente:
objRecordSet.Open "SELECT Computers.*, " & _
 "DiskDrives.* FROM Computers " & _
 "LEFT OUTER JOIN DiskDrives ON " & _
 "Computers.SerialNumber = " & _
 "DiskDrives.SerialNumber " & _
 "ORDER BY ComputerName, Drive", _
 objConnection, adOpenStatic, adLockOptimistic
Como se habrá imaginado, una combinación externa izquierda devuelve todos los registros en la tabla izquierda, aún si no existen registros correspondientes en la tabla derecha. Así, obtenemos todos los equipos, pero sólo los registros de la tabla derecha (unidades de disco) que están asociados con un equipo.
Alternativamente, quizá deseamos una lista de todas las unidades de disco, incluidas aquellas que no están instaladas en un equipo. Debido a que la tabla DiskDrives es la tabla derecha en la relación, usamos la sintaxis RIGHT OUTER JOIN, tal como se indica a continuación:
objRecordSet.Open "SELECT Computers.*, " & _
 "DiskDrives.* FROM Computers " & _
 "RIGHT OUTER JOIN DiskDrives ON " & _
 "Computers.SerialNumber = " & _
 "DiskDrives.SerialNumber " & _
 "ORDER BY ComputerName, Drive", _
 objConnection, adOpenStatic, adLockOptimistic
Ahora que pensamos en esto, si DiskDrives es la tabla derecha en la relación, entonces con todo derecho Computers se debería conocer como la tabla marido en la relación en vez de la tabla izquierda. Como algunos encargados del scripting saben a través de la dolorosa experiencia, el marido nunca es la entidad correcta en una relación.
Con la combinación externa derecha, obtendremos todos los registros en la tabla derecha (todas las unidades de disco), pero sólo los equipos (registros en la tabla izquierda) que están asociados con una unidad de disco.
Esto quizás no tenga mucho sentido por el momento, pero si juega un poco verá cómo funciona. Si necesita una base de datos con que jugar, hemos publicado una de ejemplo en la dirección microsoft.com/technet/scriptcenter/resources/tnmag/archive.mspx.
Es importante mencionar que cada vez que use una combinación externa deberá también, al menos, hacer que On Error Resume Next sea la primera línea en su script. ¿Por qué? Bueno, supongamos que realizamos una combinación externa izquierda; en ese caso es posible que obtengamos algunos equipos que no tienen ningún disco duro instalado. Está bien (después de todo, eso es lo que deseamos obtener), por lo menos hasta que encontremos esta línea de código, que devuelve la letra de unidad:
Wscript.Echo objRecordset.Fields.Item("Drive")
Debido a que no existe ningún campo Drive para este equipo en particular, el script finalizará con una detención por bloqueo.
C:\Scripts\database.vbs(22, 9) Microsoft VBScript runtime error: Type mismatch
Sin embargo, si implementamos On Error Resume Next, el script puede omitir el hecho que un equipo no tenga unidades de disco y puede continuar alegremente su camino. Como alternativa, podría usar código similar a éste para comprobar el valor del campo Drive y posteriormente tomar la acción apropiada:
If IsNull(objRecordset.Fields.Item("Drive")) _Then
    Wscript.Echo "No disk drives installed."
Else
    Wscript.Echo _
      objRecordset.Fields.Item("Drive")
End If
Con este código podemos comprobar si devolvemos un valor Null en contraposición con una letra de unidad real. Si ese es el caso, entonces enviamos un mensaje tipo "no hay unidades de disco instaladas". Si no obtenemos un valor Null, entonces simplemente enviamos el valor del campo Drive. El resultado neto es la salida, que se muestra en la figura 4.
Figure 4 Mostrar los resultados apropiados (Close Figure 4)
atl-ws-01
C:

atl-ws-01
D:

atl-ws-02
C:

atl-ws-02
D:

alt-ws-03
No disk drives installed.
Sin entrar en demasiadas explicaciones, veamos un par de consultas más. Por ejemplo, esta es una consulta con combinación interna que devuelve una lista de equipos y sus unidades de disco instaladas, siempre que esas unidades de disco sean mayores que 50 gigabytes (suponemos que los tamaños de unidad de disco se almacenan en gigabytes):
objRecordSet.Open "SELECT Computers.*, " & _
 "DiskDrives.* FROM Computers " & _
 "INNER JOIN DiskDrives ON " & _
 "Computers.SerialNumber = " & _
 "DiskDrives.SerialNumber " & _
 "WHERE DriveSize > 50 " & _
 "ORDER BY Computers.ComputerName, " & _
 "DiskDrives.Drive", objConnection, _
 adOpenStatic, adLockOptimistic
Como puede observar, todo lo que hicimos fue agregar una cláusula WHERE a la consulta original:
WHERE DriveSize > 50
¿Qué sucede si sólo deseamos obtener información sobre la unidad de disco E en los equipos? Ningún problema; sólo agregue la cláusula Where apropiada:
WHERE Drive = 'E:'
Y esta es una consulta un poco más complicada, que devuelve una colección de equipos que no tienen unidades de disco instaladas:
objRecordSet.Open _
 "SELECT Computers.ComputerName, " & _
 "DiskDrives.Drive " & _
 "FROM Computers LEFT JOIN DiskDrives " & _
 "ON Computers.SerialNumber = " & _
 "DiskDrives.SerialNumber " & _
 "GROUP BY Computers.ComputerName, " & _
 "DiskDrives.Drive " & _
 "HAVING (DiskDrives.Drive) Is Null " & _
 "ORDER BY Computers.ComputerName", _
 objConnection, adOpenStatic, adLockOptimistic
Como dijimos, es un poco más complicada, y como nos quedamos sin espacio no explicaremos cómo funciona. Pero funciona, que es lo más importante.
Bien, quizás sea lo segundo más importante; como hemos indicado varias veces, lo que realmente importa son las relaciones. Lo cual no significa que las relaciones no puedan salir mal. Como Woody Allen dijo al final de "Annie Hall", "Una relación... es como un tiburón; tiene que moverse constantemente hacia adelante o se muere. Y pienso que lo que tuvimos en nuestras manos es un tiburón muerto". Ah, si Woody sólo hubiera sabido sobre combinaciones internas y combinaciones externas. ¡Con estas técnicas de consulta, las relaciones siempre serán correctas!

The Microsoft Scripting Guys trabajan para Microsoft, mejor dicho, están contratados por Microsoft. Cuando no juegan al béisbol, ni entrenan ni lo ven (u otras actividades varias), dirigen el TechNet Script Center. Visite la página web www.scriptingguys.com.


 Preguntas y respuestas sobre Exchange: Instalaci&#243;n, diarios de mensajes, opciones de almacenamiento y mucho m&#225;s.
Preguntas y respuestas sobre Exchange
Instalación, diarios de mensajes, opciones de almacenamiento y mucho más.
KC Lemson and Nino Bilic

P Estoy ejecutando la instalación de Exchange Server 2007 y quiero saber si puedo omitir la comprobación de requisitos previos. No quiero reparar todos los problemas que esta comprobación de requisitos previos me dice que haga, sólo deseo ejecutar la instalación y basta.

R La respuesta corta es no, no puede. En realidad, debería reparar cualquier problema que la comprobación de requisitos previos marque si estos problemas impiden que la instalación continúe, de lo contrario es posible que su experiencia a largo plazo de Exchange no sea la óptima.
Algunos administradores han intentado editar archivo ExBPA.PreReqs.xml (que es el archivo que contiene la lista de requisitos previos de instalación de Exchange 2007) y eliminar las comprobaciones que causan el bloqueo de la instalación. Sin embargo, esto no funciona ya que el archivo XML está firmado digitalmente y cualquier modificación de su contenido invalidará la firma digital.
El objetivo de todo esto es evitar que se cree una instalación que no funcione correctamente. Hicimos pruebas de Exchange 2007 en entornos diferentes y vimos que algunos parámetros y configuraciones funcionan mejor que otros, y algunos pueden presentar verdaderos problemas. El objetivo de los requisitos previos es asegurarse de que la instalación tenga las mejores posibilidades de realizarse correctamente, de acuerdo con nuestras experiencias y pruebas.
Si encuentra con un verdadero problema con la comprobación de requisitos previos de Exchange 2007 que bloquea la instalación de éste en el entorno, debería abrir un expediente con el soporte técnico de Exchange.

P ¿Dónde se encuentra el registro de instalación? No lo encuentro en la raíz de la unidad C:.

R Todos los registros de instalación ahora se almacenan en el directorio %SYSTEMDRIVE%\ExchangeSetupLogs, que en la mayoría de las instalaciones significa c:\ExchangeSetupLogs. Allí encontrará diversos archivos, dos de los cuales son de vital interés:
ExchangeSetup.log Éste es el registro que contiene información acerca de las tareas y los parámetros que se usaron al ejecutar la instalación. Cuando se están configurando las funciones de servidor, en este registro también se registra la información acerca de las tareas que se ejecutaron para configurar el servidor. Aquí también es donde se buscará la mayor parte de la información relativa a la instalación del servidor. En este mismo archivo también se anexará la instalación de los Service Packs.
ExchangeSetup.msilog Este archivo contiene información acerca de la fase de descompresión de la instalación. Cuando Microsoft® Installer copia los archivos en sus destinos desde una ubicación temporal, esta acción se registra en este archivo. Por lo tanto, si se tiene algún problema que pudiera estar relacionado con la capacidad de copiar archivos o de tener acceso a los archivos durante la instalación, éste registro podría resultar útil.

P Sé que la comprobación de requisitos previos se activa con la tecnología de Exchange Server Best Practices Analyzer (BPA), entonces ¿dónde se encuentra el informe para los requisitos previos?
R Si desea buscar un informe que BPA creó durante la comprobación de requisitos previos, consulte la carpeta siguiente:
%SYSTEMDRIVE%\Exchangesetuplogs\PreReqs
Los nombres de archivo tienen un formato estándar:
ExBPA.<dateandtime>.data.xml
Si intenta resolver qué estaba buscando una comprobación de requisitos previos concreta, busque el archivo XML que contiene el mensaje de error que apareció y, justo encima del mensaje, verá la definición de la regla que se estaba probando.
P ¿Cómo puedo leer los registros de instalación? ¿De qué opciones dispongo?
R Generalmente, hay dos maneras de proceder con la lectura de los registros de instalación. Puede ejecutar Get-SetupLog desde el shell de administración de Exchange. O bien, puede abrir el archivo de registro de instalación en el Bloc de notas o en su editor de texto favorito.
Si usa Get-SetupLog, aquí tiene un ejemplo de cómo visualizar cualquier advertencia o error:
Get-SetupLog c:\exchangesetuplogs\exchangesetup.log –error
Si desea cambiar su aspecto, deberá obtener los scripts Out-HTML.ps1 y Out-IE.ps1, que están disponibles en el paquete de demostración Exchange 2007 PowerShell Scriptacular. (Si desea obtener más información acerca de esta herramienta, consulte nuestro blog en la dirección msexchangeteam.com/archive/2006/12/27/431998.aspx.)
Una vez obtenidos estos scripts, colóquelos en la carpeta de scripts (de forma predeterminada c:\Archivos de programa\microsoft\exchange server\scripts) y, a continuación, ejecute lo siguiente:
Get-SetupLog –tree:$false –error:$false | Where { $_.status –eq "Error" } | select datetime, depth, description, status | Out-HTML | Out-IE
Se abrirá una ventana de un explorador fácil de navegar con una vista HTML de los errores que podrían haberse producid durante la instalación (consulte la figura 1).
Figura 1 Out-HTML y Out-IE facilitan la lectura de los registros de instalación
Figura 1 Out-HTML y Out-IE facilitan la lectura de los registros de instalación
Si, por otro lado, opta por visualizar exchangesetup.log con el Bloc de notas, aquí tiene unas cuantas sugerencias:
  • Para buscar el inicio de la ejecución de la instalación, busque: [0] Iniciando la instalación de Microsoft Exchange 2007.
  • Para buscar el fin de una ejecución de la instalación, busque: [0] Fin de la instalación.
  • Las tareas principales de la instalación quedan delimitadas por: [0] **************.
  • Para buscar la cuenta que ejecutó la instalación, busque: [0] Usuario conectado.
  • Si desea consultar qué controlador de dominio se usó durante la instalación, busque: [0] La instalación usará el controlador de dominio.
Por lo general, al consultar los registros de instalación con el Bloc de notas, debería empezar al final del archivo e ir hacia atrás para ver cuál fue el problema. Los errores suelen ser algunos de los últimos datos que se registran en el registro de instalación.

P ¿Puedo usar la Mensajería unificada de Exchange 2007 con mi PBX?

R Probablemente. Para obtener una lista de las puertas de enlace compatibles con VoIP y PBX, consulte microsoft.com/technet/prodtechnol/exchange/telephony-advisor.msp. Cualquier cambio en la lista de productos compatibles se agregará a esta página.
P Tengo un cliente que ejecuta Small Business Server 2003 con Exchange y la política de la compañía requiere que todo el correo sea supervisado. Para realizar esta supervisión, quiero enviar una copia de todo el correo entrante y saliente a la cuenta del administrador. ¿Cómo puedo hacerlo?
R Lo que necesita es el registro en diario de mensajes, lo que permite conservar una copia de todos los mensajes enviados a una base de datos específica o desde ella en un buzón de diario de mensajes independiente. Hay diversas opciones que permiten configurar el grado de detalles de estas copias registradas en diario (por ejemplo, si desea capturar destinatarios CCO) y también existe una herramienta adicional que puede descargarse para obtener algunas características avanzadas, en la dirección go.microsoft.com/fwlink/?LinkId=93725. El registro en diario de Exchange 2003 se habilita por nivel de base de datos, de forma que se registran en diario los datos de cada usuario en dicha base de datos. Después de crear el buzón para almacenar los mensajes registrados en diario, vaya a las propiedades del almacén de buzones en el Administrador del sistema de Exchange y compruebe el buzón para archivar los mensajes enviados o recibidos a través de los buzones del almacén. En función de las políticas de la empresa, posiblemente también querrá permitir que el administrador de buzones limpie automáticamente las copias anteriores del diario desde el buzón de registro en diario.
Exchange 2003 dispone de otra característica similar al registro en diario y que se denomina receptor de archivos. A diferencia del registro en diario, que guarda copias de los mensajes en otro buzón en Exchange, el receptor de archivos guarda los mensajes en una carpeta especificada en el disco duro del servidor. ¿Por qué elegir un método y no otro? Normalmente, el registro en diario está pensado para situaciones de cumplimiento de normas. En cambio, el receptor de archivos puede ser útil, por ejemplo, si desea capturar todos los mensajes entrantes o salientes de Internet.
Exchange 2007 simplifica estas situaciones de forma significativa, y los registros se pueden crear fácilmente por usuario o por lista de distribución. Si no desea que los usuarios sepan que su correo está siendo registrado en copia, puede ocultar la lista de distribución de la lista global de direcciones (observe que no es lo mismo que la asociación oculta de una lista de distribución) o configurar un atributo personalizado en los usuarios y luego crear un grupo de distribución basado en consultas (también denominado listas de distribución dinámicas) para desligar a todos los usuarios de ese atributo personalizado. Si desea registrar en diario y en la misma ubicación todo el correo de toda la organización, deje el campo del destinatario en blanco al crear la regla de registro en diario. Observe también que si se desea usar algún registro en diario que no sea por base de datos en Exchange 2007, necesitará la licencia Enterprise CAL para dichos usuarios. Puede obtener más información en la dirección microsoft.com/exchange/howtobuy/licensingFAQ.mspx. Si no se desea esa CAL ni ninguna característica adicional, puede seguir usando la característica de registro en diario por base de datos desde Exchange 2003. Por último, eche una ojeada al artículo de David Strome del número de diciembre de 2006 de TechNet Magazine titulado "Una elaboración de diarios más eficaz en Exchange 2007," en la dirección technetmagazine.com/issues/2006/12/journaling.

R Todos mis usuarios ejecutan Microsoft Office 2003 y no tenemos pensado cambiar a 2007 Office system hasta que se actualice el hardware en 2008. Sin embargo, por lo que he leído, tengo miedo de que mis usuarios pierdan algunas de las características por culpa de esto. ¿Podrán usar la mensajería unificada?

R Por supuesto. En Office 2003, los usuarios con la mensajería unificada habilitada pueden recibir los mensajes de correo de voz y de fax en sus buzones, así como realizar llamadas para tener acceso a su buzón a través de cualquier teléfono. Si no desea actualizar a Outlook 2007, la característica de la mensajería unificada que de la que dispondrá es la capacidad de configurar los parámetros del correo de voz a través de la ficha de opciones de Outlook, así como el formulario personalizado especial que aparece en un mensaje de correo de voz de Outlook y que permite que el mensaje en línea se reproduzca sin tener que iniciar un reproductor multimedia independiente. Tampoco estará disponible la característica que permite que se escriban notas de audio y se guarden con el mensaje de correo de voz. Sin embargo, incluso sin Outlook 2007, los usuarios con la mensajería unificada habilitada aún pueden usar OWA 2007 para obtener acceso a la configuración de mensajería unificada (en la página de opciones de OWA) y el formulario personalizado para el correo de voz de OWA.

R Mi compañía ya dispone de una red de área de almacenamiento y deseo conectar Exchange 2007 a ésta. Sin embargo, he oído muchas cosas acerca del almacenamiento de conexión directa (DAS) que hacen que me pregunte si debo elegir esta opción. ¿Qué opina?

R No hay una respuesta correcta o incorrecta para esta pregunta. Realmente depende de las directivas de su compañía y de los diversos escenarios (especialmente cuando ya se dispone de una red de área de almacenamiento (SAN)). Si está pensando en adquirir una SAN nueva, agregar otra o bien realizar una actualización, recomendamos encarecidamente que considere la opción del almacenamiento de conexión directa. Aquí hay algo de información que debería tener en cuenta: hasta junio de 2007, Microsoft IT ha implementado 17 servidores de buzones de Exchange 2007 para 40.000 buzones (con unas cuotas de entre 500 MB y 10GB), todos con replicación continua en clúster (CCR) y almacenamiento de conexión directa. Para antes de septiembre, planeamos tener 35 servidores de buzón Exchange 2007 con 152.500 buzones, todos con almacenamiento de conexión directa. Así que, si se pregunta si el almacenamiento de conexión directa es apropiado y manejable a nivel empresarial, definitivamente lo es. El almacenamiento de conexión directa ha sido un elemento clave para permitir al departamento de TI de Microsoft aumentar las cuotas de usuario y, al mismo tiempo, reducir los costos generales de almacenamiento. Si desea obtener más información acerca de la topología e implementación y ahorro implicados, consulte la dirección microsoft.com/technet/itshowcase/content/64bitexchange2007.mspx.
Aunque en principio tener todos los servidores conectados a la misma SAN puede parecer un gran ahorro en almacenamiento, no deja de tener sus riesgos. Por ejemplo, un problema que se da con frecuencia está relacionado con las diversas situaciones de uso del software conectado a SAN. Si tiene una aplicación de recursos humanos en la SAN que ejecuta un proceso por lotes cada noche a las 17:00, por ejemplo, ese aumento de E/S podría tener un importante impacto para los usuarios de Exchange. La falta de E/S determinista es un problema típico de las implementaciones de SAN compartidas.
Una ventaja que hemos obtenido con DAS es que es hace que la administración sea más sencilla porque no requiere administradores de almacenamiento dedicados ni un equipo especial. Es incremental, fácil de adquirir y se puede ampliar fácilmente. Además, suele ser una solución suficientemente económica como para contar con copias de seguridad; no hará falta vaciar los cofres para adquirirla.

P Instalé mi primer servidor de Exchange 2007. Ahora, cuando intento conectarme a él mediante Outlook 2003, me da un error que indica que el administrador ha bloqueado mi versión de Outlook. ("Su administrador de Exchange Server ha bloqueado su versión de Outlook. Póngase en contacto con su administrador para obtener ayuda".) Pero soy el administrador y nunca lo bloqueé. ¿Qué pasa?

R Este comportamiento no es inesperado. Cuando se está instalando Exchange 2007, el asistente para la instalación le pregunta si está ejecutando alguna copia de Outlook 2003 o versión anterior o clientes de Entourage en su organización (consulte la figura 2). Si contestó a esta pregunta en negativo, puede encontrarse con este problema.
Figura 2 Pregunta sobre cliente heredado de instalación de Exchange 2007
Figura 2 Pregunta sobre cliente heredado de instalación de Exchange 2007
Para resolver este problema una vez que se ha dado (después de la instalación), puede crear un almacén de carpetas públicas con la consola de administración de Exchange o con el shell de administración de Exchange y volver a iniciar el servicio del almacén de información. En este caso, a iniciar el servicio del almacén de información es obligatorio y los clientes heredados (Outlook 2003 y versiones anteriores) no podrán conectarse al servidor hasta que el servicio se haya vuelto a iniciar.
Además, si ejecuta la instalación desatendida de Exchange 2007, puede usar el modificador de comandos /EnableLegacyOutlook para especificar cómo desea contestar la pregunta acerca de los clientes heredados.

P ¿Por qué le importaría a Exchange 2007 si me conecto al servidor con versiones anteriores de Outlook? ¿Por qué crear un almacén de carpetas públicas y volver a iniciar el servicio del almacén de información solucionaría este problema?

R Las respuestas a estas preguntas versan alrededor de la presencia del almacén de carpetas públicas. Si lo recuerda, el almacén de carpetas públicas de las versiones anteriores de Exchange se usaba, entre otras cosas, para almacenar los datos de disponibilidad de los usuarios. Cuando un usuario heredado de Outlook se conecta a Exchange Server con MAPI o RPC sobre HTTP y publica algo en el calendario, la información acerca del estado de disponibilidad también se publica en el servidor en una carpeta pública especial llamada carpeta Schedule+. Ésta es la única manera en la que los clientes heredados de Outlook saben publicar los datos de disponibilidad de los usuarios al servidor, y realmente la única manera en la que una sesión de Outlook heredado sabe cómo leer otra información de disponibilidad de los usuarios.
Exchange 2007 lo sabe. Por eso es que si no hay un almacén de carpetas públicas, Exchange 2007 bloquea las versiones anteriores de clientes. Si Exchange 2007 permitiese la conexión de cliente heredado, el cliente se encontraría con errores frecuentes debido a que Outlook no podría conectarse al almacén de carpetas públicas para publicar los datos de disponibilidad y la funcionalidad del cliente quedaría limitada ya que las búsquedas de disponibilidad que el usuario desease hacer (al intentar programar una reunión con otra persona, por ejemplo) simplemente no funcionarían. Éste es el motivo también por el que el crear el almacén de carpetas públicas resuelve el problema, ya que el servidor de Exchange 2007 entonces sabe que los clientes heredados pueden usar la funcionalidad de publicación de disponibilidad, y se permite así el buzón de inicio de sesión.
De todo esto, podría haberse todavía otra cosa: que los clientes de Outlook 2007 no requieren el almacén de carpetas públicas para publicar la información de disponibilidad. Esto es verdad, pero es una verdad distorsionada.
Sin entrar en demasiados detalles, permítanos decir que si un almacén de carpetas públicas está presente en un servidor de Exchange 2007, incluso un cliente de Outlook 2007 publicará datos de disponibilidad de usuarios. Esto se debe a que otros clientes, algunos de los cuales son presuntamente clientes heredados de Outlook, pueden buscar la información sobre la disponibilidad para un usuario de Outlook 2007; si la información no está en el almacén de carpetas públicas, los clientes heredados no verán ninguna información del usuario de Outlook 2007 ya que nada rellenaría jamás la información en el almacén de carpetas públicas. Sin embargo, si el almacén de carpetas públicas no está presente, un cliente de Outlook 2007 no intentará publicar los datos de disponibilidad. Cuando no hay almacenes públicos y todos los clientes son por lo menos de Outlook 2007, se usa otro mecanismo de búsqueda de información sobre disponibilidad en el que los datos del calendario se leen directamente fuera de los buzones de los usuarios, sin necesidad de crear una copia de esta información en ningún otro lugar. Si desea leer más acerca de esto, puede buscar más información sobre el servicio de disponibilidad en el archivo de la ayuda del servidor o en la documentación en línea sobre Exchange en la dirección go.microsoft.com/fwlink/?LinkId=69434.

R Acabo de leer el artículo de Knowledge Base 288894, que habla acerca del bloqueo de clientes MAPI mediante una clave de registro (consulte support.microsoft.com/kb/288894). Comprobé mi registro de servidor pero esta clave no está establecida. ¿Cómo ejecuta el almacén este bloqueo de la versión de cliente heredada?

R Una pregunta muy buena. En realidad, el almacén de información de Exchange 2007 no usa el valor de registro "Deshabilitar clientes MAPI" que se menciona en el artículo de Knowledge Base para bloquear clientes heredados. La razón es que hay una posibilidad de que no exista ningún almacén de carpetas públicas y, por lo tanto, no hay ninguna modificación de esa clave de registro que pueda desbloquear a esos clientes si no hay ningún almacén de carpetas públicas presente.
El comportamiento para bloquear clientes anteriores de Outlook 2007 está básicamente codificado en el almacén de información de Exchange 2007. En el inicio del servicio, el almacén busca la presencia del almacén de carpetas públicas y entonces decide si sólo permitirá a Outlook 2007 conectarse o si las versiones anteriores podrán conectarse también a sus buzones. Esta comprobación se da sólo al inicio del servicio. Es por eso que tiene que volver a iniciar el servicio del almacén de información para que el cambio sea efectivo y después de haber creado el almacén de carpetas públicas.

KC Lemson es administradora de experiencias de usuario para Exchange Server. Actualmente está haciendo un doctorado en una prestigiosa universidad no homologada.
Nino Bilic es administrador de programas de compatibilidad para Exchange Server. Está a punto de convertirse en piloto de carreras profesional en Forza Motorsports 2.


 Vigilancia de seguridad: Repercusiones a largo plazo del control de cuentas de usuario
Vigilancia de seguridad
Repercusiones a largo plazo del control de cuentas de usuario
Dr. Jesper M. Johansson

El problema de ejecutar como administrador es obvio: los malware que atacan a los usuarios o a las aplicaciones que éstos ejecutan suelen obtener el control total en más del 90 por ciento de equipos que infectan. La característica Control de cuenta de usuario (UAC) de Windows Vista es la solución de Microsoft a un desafío de seguridad elusivo, el hecho que más del
90 por ciento de usuarios que se ejecutan actualmente en la plataforma Windows lo hacen con privilegios administrativos. Aunque en Windows ® XP es posible ejecutar como usuario estándar (yo lo he hecho) esto puede resultar muy tedioso. Por ejemplo, si viaja con frecuencia cuando usa Windows XP, podrá darse cuenta que como usuario estándar no puede modificar la zona horaria de su sistema.
UAC es la característica que se supone que cambiará todo esto. En realidad, esta es la primera equivocación. UAC no es sólo una característica; es una colección de características, la mayoría de las cuales no resulta especialmente obvia. No realizaré un análisis exhaustivo de todos los detalles de implementación de UAC. Si está interesado en eso, le recomiendo el artículo de Mark Russinovich del número de junio de 2007 de TechNet Magazine, que puede encontrar en línea en la dirección technetmagazine.com/issues/2007/06/UAC.
En cambio, en este espacio espero ofrecer una visión imparcial de lo que es UAC, de lo que no es y en qué forma afecta a la manera en que debe administrar sus sistemas que ejecutan Windows Vista ®.

Qué parece ser UAC
La característica más visible de UAC es el cuadro de diálogo de elevación, que se muestra en la figura 1. De hecho, si preguntara a una muestra representativa de usuarios de Windows Vista lo que es UAC, la mayoría diría algo acerca del molesto cuadro de diálogo de elevación.
Figura 1 Cuadro de diálogo de aprobación de UAC para el administrador en modo de aprobación de administración
Figura 1 Cuadro de diálogo de aprobación de UAC para el administrador en modo de aprobación de administración
A pesar de la visibilidad y de todas las opiniones acerca de UAC, no creo que la mayor parte de la discusión acerca de UAC tenga mucho que ver con lo que realmente es UAC. De hecho, parece que en general hay mucha confusión sobre el tema. Los supuestos expertos escriben blogs, entradas de grupos de noticias y artículos con títulos como "La característica más molesta de Vista" y pontifican sobre cuantas personas lo desactivarán y por qué resulta tan molesto.
¿Dado que hay tan pocos que se hayan molestado en entender la lógica que hay detrás de UAC, por qué no empiezo esta columna con una visión general acerca de lo que es UAC?

Qué es UAC
UAC es un intento de permitir que más personas se ejecuten como usuarios estándar. De alguna forma, es la versión 2.0 de ese esfuerzo. La versión 1.0 se incluyó en primer lugar con Windows NT® 3.1 y permitía que los usuarios se ejecutaran como no administradores. Esto fue un cambio radical respecto a Windows 3.1 de 16 bits y sus sucesores: Windows 3.11, Windows 95, Windows 98 y Windows Me, ninguno de los cuales disponía del concepto de usuarios con privilegios bajos. El hecho que un no-administrador pudiera hacer alguna cosa realmente útil dependía de muchos factores, pero hasta Windows XP y Windows Server ® 2003, disponer de usuarios sin privilegios a menudo equivalía a algo doloroso e inútil. Windows Vista incorpora el primer conjunto de tecnologías dirigidas a facilitar hacer lo correcto en lo respectivo a privilegios de usuario interactivos.
Aunque resulta correcto decir que uno de los objetivos de UAC era el de ofrecer algún nivel de protección frente a aplicaciones en ejecución como administrador por aquellos que no lo eran, ese no era en absoluto el propósito principal de UAC. El propósito principal era iniciarnos en un camino donde más usuarios se ejecutan como usuarios estándar, lo cual obligaría a su vez a los desarrolladores a escribir más programas que funcionen como usuario estándar, reduciendo el número de situaciones donde sea necesario elevar a los usuarios. A medida que los desarrolladores escriban más aplicaciones compatibles con UAC, se reducirá el número de mensajes que encuentren los usuarios y su experiencia mejorará. Al final del proceso, idealmente llegaríamos a una situación en que la mayoría de personas no se ejecuta como administradores y, con suerte, empiece a cuestionar algunos de los mensajes de elevación que obtenga. Cuantos menos mensajes, más probable es que los usuarios los analicen con cuidado antes de permitirlos.
O bien, al menos esa es la teoría. Por extensión, sí, posiblemente habría menos malware, pero eso dependerá de si los usuarios mantienen habilitado UAC, lo cual depende de si los desarrolladores escriben software que funcione con él y que los usuarios dejen de ver los mensajes como ejercicios de hacer clic rápidamente y piensen seriamente si una solicitud de elevación es legítima.
Para cumplir el objetivo más ambicioso de aumentar el número de usuarios que pueden ejecutarse como no administrador gran parte del tiempo, UAC está diseñado para cumplir varios objetivos modulares:
  1. Disminuir el número de situaciones que requieren la elevación a una cuenta administrativa.
  2. Hacer que la elevación sea mucho más fácil, automática si fuera posible, que en parches anteriores como los de usar runas.exe o salir de una cuenta y entrar en otra. Es decir, salvar las carencias hasta que los ISV corrijan sus aplicaciones.
  3. Ofrecer algún aislamiento para las aplicaciones que se ejecutan como administrador para protegerlas de las que no lo son.
  4. Permitir que ciertas aplicaciones expuestas se ejecuten con aún menos privilegios siempre que sea posible.
Dos de esos objetivos se proponen hacer que la experiencia del usuario al ejecutarse como no administrador sea lo más agradable posible. Dos tienen que ver con proteger aplicaciones que están especialmente expuestas.
Lo interesante es que sólo dos de ellos están relacionados con la característica que se reconoce popularmente como UAC y sólo uno trata de la propia tarea de elevación. A pesar de ello, es sobre la elevación cuando una aplicación pide privilegios adicionales, lo que hace que se quejen las personas, porque es la única manifestación realmente visible de la colección de tecnologías que componen UAC. El primer objetivo global no tiene nada que ver con la elevación. La idea era simplemente permitir que más personas se ejecuten como no administraciones la mayor parte del tiempo. De hecho, se podría argumentar que la intención es de reducir el número de eventos de elevación.
Los objetivos 2 y 3 son los relacionados con la propia tarea de elevación. El número de objetivo 2 está relacionado con hacer que la elevación sea más fácil que en Windows XP y el número del objetivo 3 está relacionado con ofrecer algún nivel de protección a las aplicaciones que se ejecutan elevadas. Los objetivos restantes tienen que ver con problemas completamente distintos. Sin embargo, cada uno de estos objetivos requiere efectuar cambios en el sistema operativo. Para aquellos a quienes les interese, el artículo de Mark Russinovich mencionado anteriormente detalla estos cambios.
Como mencioné, hay mucha, mucha gente que recomienda deshabilitar UAC. Es probable que varios usuarios lo hagan sin siquiera intentarlo, y mucho más recibirán sus equipos de alguna tienda mayorista con una versión de Windows Vista que ya tenga UAC deshabilitado. Me parece vergonzoso que haya minoristas que deshabiliten características de seguridad importantes del sistema operativo como parte de su imagen de implementación predeterminada.
Por desgracia, buena parte del consejo para desactivar UAC está basado en la experiencia inicial. Mientras se configura el equipo, se obtiene un número importante de mensajes a medida que se instala el software y se realizan todos los cambios necesarios. Es lógico esperar tener una experiencia administrativa muy diferente mientras se configura el equipo en comparación con la que se tiene una vez el equipo está en estado estable. Las primeras semanas serán bastante diferentes de las semanas subsiguientes. Si prueba UAC en un equipo que esté en un estado relativamente estable, creo que encontrará que realmente no es especialmente molesto.

Qué no es UAC
UAC no se diseñó a propósito para ser la característica más molesta en la historia de Windows. En lugar de ello, este conjunto de tecnologías se diseñó para iniciar un camino en que los usuarios no necesiten exponer sus sistemas a código potencialmente malintencionado con tanta frecuencia como lo habían estado haciendo en años anteriores.
En su forma actual, UAC no detendrá a atacantes que sean realmente buenos, ni a los que tengan la ayuda de atacantes realmente buenos. Si los hombres malos no pueden pensar en otras maneras para derrotar a UAC, casi con total seguridad recurrirán a pedirle al usuario que lo haga por ellos. La experiencia nos dice que la seguridad resulta algo secundario cuando se requiere la intervención del usuario. Los usuarios han aprendido a omitir cuadros de diálogo y así lo harán hasta que logremos enseñarles a hacer otra cosa. La explicación hay que buscarla en varios factores, incluyendo el hecho de que hay demasiados cuadros de diálogo de advertencia, que los mensajes que contienen son inútiles y que muchos de los manuales de cualquier dispositivo que adquieren los usuarios incluyen una nota que dice "haga clic en sí en el cuadro de diálogo de advertencia de seguridad para cerrarlo".
UAC no ofrece una seguridad infalible. De hecho, hace que el antiguo y conocido ataque local de elevación de privilegios vuelva a resultar interesante. Se trata de una clase de ataque que ha dejado casi de usarse porque en Windows casi todo el mundo era administrador de todos modos, así que elevar a algún otro administrador no tenía mucho sentido. Dicho lo cual, UAC cambia definitivamente la naturaleza de estos ataques y transforma las reglas del juego para que sean mucho más parecidas a lo que prevaleció en Unix durante más de 20 años.
UAC no detendrá a los hombres malos de robar sus datos personales. Los datos personales de un usuario están accesibles para ese usuario cualesquiera que sean sus privilegios. Por eso, una aplicación, incluso una malintencionada, puede tener acceso a los datos. UAC no puede cambiar esto. No elimina la necesidad de estar atento, de desconfiar y ser paranoico (atributos que siempre debemos inculcar a nuestros usuarios finales en cualquier oportunidad).
UAC no se diseñó para proteger una aplicación en ejecución con privilegios elevados contra cualquier ataque por parte de una aplicación que se ejecuta con privilegios normales en la misma sesión de inicio. Aunque UAC ofrece algún aislamiento de procesos débil, el objetivo de diseño de UAC no era aislar a las aplicaciones de ellas mismas.

La polémica
Microsoft por sí mismo ha contribuido tanto a la polémica sobre UAC como a las equivocaciones acerca de lo que hace. Por ejemplo, en la Guía de seguridad de Windows Vista, el capítulo "Defiéndase del malware" presenta a UAC como la tecnología principal que lo impide microsoft.com/technet/windowsvista/security/guide.mspx). Recomienda ejecutar con UAC habilitado (la mayoría de veces) y muestra diversos puntos a tener en cuenta cuando se usa UAC para combatir malware. Sin embargo, se omitió flagrantemente uno de los puntos: UAC no detiene el malware y nunca se diseñó para ello.
Algunos de los pensadores actuales más brillantes del mundo sobre seguridad de Windows, como Joanna Rutkowska, entendieron el propósito de UAC. Tal como lo expuso ella en un blog del 4 de febrero de 2007, UAC "es un mecanismo nuevo de seguridad presentado en Vista, cuyo objetivo principal es obligar a los usuarios a trabajar con cuentas restringidas, en lugar de trabajar como administradores" (theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html). Ella tiene razón en casi todo, excepto que yo usaría el término "permitir" y no "obligar".
Sin embargo, esto significa un cambio importante en la naturaleza de ataques comunes contra Windows. Como mencioné anteriormente en esta columna, las vulnerabilidades locales de elevación de privilegios, en que un usuario puede elevarse desde un usuario estándar local a un administrador local, nunca han resultado especialmente interesantes en la plataforma Windows.
Con Windows Vista, la idea es que en vez de eso, los usuarios se ejecutarán como usuarios estándar y de repente los problemas de elevación de privilegios locales pasarán a ser muy interesantes. Por desgracia, es también aquí donde nos encontramos con algunas de las limitaciones de UAC. Recuerde que no hay aislamiento efectivo; no hay límites de seguridad que aíslen los procesos en el mismo escritorio. El sistema operativo incluye algunas medidas protectoras para mantener bloqueadas las avenidas de comunicación obvias e innecesarias, pero sería imposible e indeseable bloquearlas todas. Por lo tanto, Microsoft no considera las infracciones de ese límite de seguridad inexistente como infracciones de seguridad. Mark Russinovich indicó lo mismo en una entrada de su blog en blogs.technet.com/markrussinovich/archive/2007/02/12/638372.aspx.
Mark está totalmente en lo cierto. Microsoft conoce bien el hecho que no hay límite de seguridad entre un proceso bajo y uno elevado del mismo escritorio. Como nunca se tuvo la intención de crear un aislamiento entre procesos del mismo escritorio, realmente no se puede denominar vulnerabilidad de seguridad cuando se descubre que no existe aislamiento entre procesos del mismo escritorio. Obviamente, eso disminuye el valor de UAC como mecanismo de primer-orden para luchar contra el malware, pero en cualquier caso tampoco se diseñó para eso, a pesar de lo que pueda haber leído en varios lugares, incluso en algunos de Microsoft.
¿Disminuye este hecho el valor de UAC respecto a su objetivo principal: permitir que más personas se ejecuten como usuarios estándar la mayor parte del tiempo? No. La existencia o la falta de un límite de seguridad estanco entre una aplicación malintencionada con pocos privilegios y una aplicación elevada no cambian el hecho que más usuarios pueden usar de forma eficaz UAC y ejecutar sus equipos Windows Vista como usuarios estándar. De hecho, al contrario de lo que a algunos del sector les gustaría hacerle creer, escribí este artículo (y de paso también todo mi libro sobre seguridad de Windows Vista) como usuario estándar de Windows Vista y ni una vez me apareció un mensaje de UAC pidiéndome que aceptara algo que hubiera escrito.
El hecho que UAC no mitigue todos los problemas de seguridad ni posea una propiedad que a muchos de nosotros, incluido yo mismo, nos encantaría que tuviera (protección de primer orden frente a malware) no significa que no sea una tecnología de seguridad. La capacidad de identificar a los usuarios mediante cuentas de usuario independientes no impide, por ella misma, que el malware infecte el sistema, pero a nadie se le ocurriría extrapolar de este hecho que, por consiguiente, las cuentas de usuario no sean una tecnología de seguridad. Que UAC no resuelva todos los problemas que nos gustaría que nos resolviera no significa que los problemas que resuelve no merezcan la pena.
UAC deja que sean tecnologías como el muy mejorado Firewall de Windows, Windows Defender y otros programas anti malware los que mantengan el código malintencionado lejos su equipo, y que si éste consigue infiltrarse le impidan ejecutarse (ya sea debido una programación astuta o por negligencia del usuario). Ninguna de esas tecnologías de seguridad tampoco puede asegurar un éxito del 100 por ciento en sus misiones, aunque todas son tecnologías de seguridad valiosas y tienen su razón de ser. Pero, como suelo decir muchas veces, incluso si se bloquean todas las vías de ataque, al final todo depende del usuario. Si la persona que controla el teclado elige permitir la ejecución de código malintencionado, ninguna limitación técnica del mundo podrá impedirlo.

Prácticas recomendadas
¿Cómo debe usar UAC? ¿Debe ejecutar como administrador en modo de aprobación de administración? Como hemos dicho ya varias veces, UAC no impide la inyección de código desde una aplicación con pocos privilegios a otra de más privilegios del mismo escritorio. Esto significa que ni ejecutar en modo de aprobación de administración ni como un usuario estándar y elevando desde la sesión (elevación sobre el hombro) ofrecen un aislamiento efectivo. Sin embargo, cualquier solución es mucho mejor que ejecutar como administrador bajo Windows XP o con UAC desactivado en Windows Vista. En última instancia, seguramente se terminará por escribir malware que se aproveche de las aplicaciones elevadas en el escritorio interactivo.
La forma en que decida ejecutarlo dependerá pues de su filosofía de administración de riesgos. Cuando ejecuta como usuario estándar y usa la elevación sobre el hombro para elevar una aplicación, ésta tiene un entorno de usuario distinto que las normales. De esta forma se reduce el riesgo de un ataque por envenenamiento, donde una aplicación malintencionada no elevada envenena el entorno de usuario de una elevada, pero no elimina necesariamente la capacidad de una aplicación no elevada para controlar una elevada. Aunque una aplicación malintencionada que se ejecutó hace semanas no puede envenenar fácilmente una aplicación elevada que ejecute hoy, una aplicación malintencionada que ejecute ahora podría se capaz de controlar una aplicación elevada. Es necesario considerar el riesgo implícito en el modo de aprobación de administración o en la elevación sobre el hombro a cambio de la facilidad de uso que ofrecen.
Esto lleva a un conjunto de prácticas recomendadas para UAC, que se resumen en la figura 2. La mejor opción es, en mi opinión, también la más complicada. Sin embargo, para los realmente paranoicos o expuestos, la mejor opción es ejecutar como usuario estándar y no elevar nunca. De cierta forma, ejecutar como administrador en Windows XP significaba que cuando se ejecutaba algún tipo de código malintencionado ya estaba todo perdido. En Windows Vista, si ejecuta código malintencionado y eleva dentro de esa sesión, lo más probable es que ya esté todo perdido. Es libre de elegir si este enfoque funciona mejor en su caso y ofrece un nivel de protección con el que se siente cómodo.
Figure 2 Prácticas recomendadas sobre elevación de cuentas (Close Figure 2)

Nivel de protección | Método de elevación
Peor | Desactivar UAC.
Malo | Elevar automáticamente a administradores.
Bueno | Ejecutar en modo de aprobación de administración.
Mejor | Ejecutar como usuario estándar y elevar a una cuenta de administración separada.
La mejor | Ejecutar como usuario estándar y cambiar a una cuenta separada de administración en vez de usar UAC para elevar.
Además, los realmente paranoicos no confían en el proveedor cuando dice que su aplicación debe ejecutarse como administrador. Uno de los ejemplos más claros de peticiones de este tipo que resultan innecesarias lo tenemos en Visual Studio® 2005 Service Pack 1. Cuando se inicia Visual Studio, se le pide que lo ejecute como administrador. Sin embargo, esto es sólo cierto para desarrolladores que necesitan realizar ciertas tareas. Hay más información disponible en msdn2.microsoft.com/en-us/vstudio/aa972193.aspx.

Refuerce al usuario
Debería reforzarse a los usuarios para que tomen más y mejores decisiones. Hay un contingente de profesionales de seguridad que creen que las decisiones de seguridad deberían estar ocultas al usuario. Su lógica no declarada es que los usuarios no sólo no están interesados en la seguridad, sino que no son lo bastante inteligentes para aprender a hacerlo apropiadamente. Sólo confiando en (inserte aquí su antitecnología favorita) estarán protegidos apropiadamente.
Me resulta imposible ver de qué forma puede la tecnología proteger a las personas de ataques que se concentran en personas. La mayoría de ataques hoy día, incluidos casi todos los ataques de phishing, se concentran principalmente en personas y la forma en que ejecutan sus equipos, no en la tecnología que contienen esos equipos. El más efectivo de estos ataques puede mezclar ataques sobre personas con ataques en la tecnología, pero al final suelen necesitar la interacción del usuario para ejecutarse. En resumen: no se puede esperar que la tecnología pueda proteger frente a ataques que no se concentran en la tecnología. Escribí mucho acerca de eso hace tiempo: technetmagazine.com/issues/2006/07/SecurityWatch.
UAC ya obliga a los usuarios a tomar decisiones sobre seguridad y hay algunos proveedores de tecnología que ya prometen soluciones que evitarán que los usuarios tomen esas decisiones. Indudablemente es cierto que los usuarios prefieren que no se los moleste con la seguridad. Sin embargo, también es cierto que ningún software puede conocer las intenciones de otro software. Ningún sistema de prevención frente a intrusiones puede saber si un sitio web le está pidiendo el número de la tarjeta de crédito para poderle enviar una copia de Windows Vista Security o para enviarlo a una organización criminal clandestina. Sólo el usuario final puede hacerlo, y sólo si se le ofrece la información apropiada. Como ingenieros de software, debemos acostumbrar a los usuarios al hecho de que necesitan tomar decisiones inteligentes sobre seguridad, enséñeles cómo y proporcióneles la información que necesitan para hacerlo.
Si persistimos en nuestra ruta actual (de intentar evitar que los usuarios tomen sus decisiones sobre seguridad) lo único que conseguiremos es darnos cuenta que no podemos protegerlos. Los usuarios se cansarán finalmente de que les pirateen y de que se infrinja su privacidad, cuentas bancarias, identidad, dignidad y autoestima. Cuando eso ocurra, dejarán de usar los productos que necesitamos que adquieran para mantener activo el sector. Los hay en el sector de la alta tecnología que creen que si ocultamos el hecho de que hay problemas de seguridad en equipos y todo lo relacionado con Internet, los usuarios usarán a ciegas todo lo que les ofrezcamos. Nada hay más lejos de la realidad. Cuando los usuarios se den cuenta finalmente de que no hemos sido abiertos y honestos con ellos, perderán totalmente la fe y la confianza y darán la espalda a nuestros productos, causando un colapso en el sector que estamos intentando proteger ocultando los hechos.
UAC es un paso interesante en la dirección de reforzar a los usuarios para que se hagan responsables de la seguridad de sus sistemas. En ningún caso se trata de una solución de seguridad completa, sino de un primer intento en la dirección correcta para ayudar a los usuarios a ejecutar con menos privilegios.

Dr. Jesper M. Johansson es ingeniero de seguridad principal que trabaja en problemas de seguridad de software y contribuye como editor en TechNet Magazine. Jesper tiene un doctorado en MIS y más de 20 años de experiencia en el ámbito de la seguridad de sistemas.


 Archivos de escritorio: Recuperaci&#243;n de equipos con Windows PE
Archivos de escritorio
Recuperación de equipos con Windows PE
Wes Miller

En columnas anteriores, he mencionado que nuestra visión inicial de Windows PE era que fuese un entorno de implementación. Al igual que con todos los buenos productos, Windows PE evolucionó más allá de eso. Los clientes (OEM, al principio) estaban ansiosos por crear una solución destinada a la fabricación y recuperación automática del usuario, y así varias compañías elaboraron
soluciones de Windows® PE que funcionaban en ambos casos.
La mayoría de las herramientas de recuperación que existen hoy en día se basan en la premisa de devolver al sistema a un conocido estado de buen funcionamiento al crear reflejos del proceso de implementación. Windows Vista® hace que la recuperación sea bastante más fácil de lo que lo era con Windows XP, e incluye además compatibilidad con la creación de imágenes (consulte el artículo sobre las tecnologías de copia de seguridad de Windows Vista de Christine Fok en este mismo número de TechNet Magazine).
En la columna de este mes, hablaré sobre cómo el usuario puede crear una solución de recuperación basada en Windows PE. Windows PE 2.0 se encuentra disponible de forma gratuita como componente del Kit de instalación automatizada de Windows (AIK) para todos los titulares de licencia de Windows. Esta licencia no sólo se aplica a la implementación, sino también al uso de Windows PE para fines de recuperación y solución de problemas.
Evidentemente, cada usuario individual deberá tener en cuenta las personalizaciones y ajustes que realiza, pero en este artículo se cubrirán los puntos generales que debe recordar, ya sea para la implementación de Windows XP o de Windows Vista. Si sabe algo sobre la creación de imágenes, ya sabrá mucho sobre este tema.
Los componentes clave de cualquier solución de recuperación de Windows PE son:
  • Windows PE
  • Una utilidad de creación de imágenes
  • Adherencia para scripts (o una aplicación formal) para mantenerlos juntos
Si desea, puede incluir compatibilidad con SQL y con las interfaces de servicio de Active Directory® (ADSI). Con la conectividad SQL, puede crear indirectamente una solución que permite a los sistemas tener una "lista de materiales" de diversos tipos que definan los elementos necesarios para la instalación. De forma similar, conectarse a Active Directory sirve para el controlar las propiedades de objetos de cuenta por equipo (MAO).
Observe que Microsoft no admite la inclusión de ADSI en Windows PE, pero hay bastantes artículos en Internet que explican cómo hacerlo. Y cuando se hace correctamente, funciona bastante bien. Si prefiere no molestarse, puede agregar compatibilidad con SQL y crear en el flujo de trabajo la herramienta de recuperación de Windows PE. Si necesita alguna propiedad de ADSI, se puede tener un sistema de servidor con una tarea programada para realizar consultas a ese mismo servidor SQL Server™ y luego consultas a Active Directory a través de ADSI; eso sería básicamente un paso intermedio.
No es una solución perfecta, y requerirá algunos scripts u otras automatizaciones, pero este diseño permite la interacción con Active Directory desde Windows PE.
Tenga en cuenta que también puede usar la utilidad LDIFDE para leer información de Active Directory desde Windows PE (para obtener más información, consulte el artículo de Knowledge Base sobre este tema en la dirección support.microsoft.com/kb/237677). Por ejemplo, puede usar el comando siguiente:
ldifde -m -f x:\output.ldf -b <username> <domain netbiosname> <accountPassword> -s
<DC or domain name> -d "DC=contoso,DC=com" -r "(&(objectclass=<computerclassname>)
(netbuisname=<mycomputername>))" - l "<attributename>"
Al escribir este comando, se recuperará un atributo desde un objeto del equipo especificado en x:\output.ldf, donde el resultado puede entonces analizarse.

SKU, bits e idiomas
Es necesario tener en cuenta las versiones, las arquitecturas y los idiomas de Windows que necesitan implementarse. En una organización pequeña específica a un idioma, es probable que se implemente un único sistema operativo, Windows XP o Windows Vista, o se use el que venga ya instalado en los equipos nuevos. Es probable que se implementen pocos sistemas Windows de x64 o incluso que no se implemente ninguno. Y lo probable es que se necesite un único idioma. Sin embargo, cuanto más grande y más global sea la organización, es probable que se trabaje con un mayor número de arquitecturas, versiones y configuraciones.
Mencioné en una columna anterior que las imágenes de volúmenes de x64 y x86 se pueden almacenar en el mismo archivo de Formato de imágenes de Windows (WIM), pero que no se ahorrará espacio en absoluto. Si crea una solución de recuperación y necesita justificar ambas arquitecturas, deberá almacenar cada una en un WIM independiente. De forma similar, si va a implementar y admitir tanto Windows XP como Windows Vista, no obtendrá ningún ahorro de espacio si almacena ambos sistemas operativos en la misma imagen. El único ahorro de espacio que podrá apreciar es si incluye muchas copias de las mismas aplicaciones (por ejemplo, 2007 Microsoft ® Office) en ambas implementaciones. De este modo, los archivos de la aplicación no tendrán que almacenarse muchas veces, pero esto es todavía improbable que genere ahorros de espacio significativos.
Métodos de arranque de Windows PE
Windows PE 1.6
Arranque de PXE desde una instalación remota
Servicio (RIS) (sin disco RAM)
Unidad de disco duro
Unidad flash USB
PXE de disco RAM
CD/DVD de disco RAM
Unidad flash USB de disco RAM
Unidad de disco duro de disco RAM

Windows PE 2.0
PXE de disco RAM
CD/DVD de disco RAM
Unidad flash USB de disco RAM
Unidad de disco duro de disco RAM

Arranque de PXE desde RIS Es la opción óptima si necesita PXE, pero vale la pena tener en cuenta que con este método el arranque es más largo y consume más recursos de red que un entorno de disco RAM de PXE.
Unidad de disco duro Usa una cantidad de memoria mínima pero bloquea la unidad de disco. Este método es ideal si usa un escenario de recuperación de partición doble biestable.
Unidad flash USB Permite un arranque cómodo. Sin embargo, la unidad flash USB (UFD), (tanto para los escenarios con disco RAM como para los sin disco RAM) es algo aleatoria si el OEM no ha comprobado que los sistemas de arranque admitan el arranque mediante UFD y dichos sistemas no tienen un logotipo de equipo apto para Windows Vista (que garantiza que el arranque mediante UFD es compatible como requisito del logotipo). El arranque mediante UFD requiere una unidad flash de gran rendimiento (para lectura y escritura) así como compatibilidad con USB de alta velocidad desde el controlador de USB y la BIOS.
Arranque de disco RAM (en todos los sentidos) Requiere más memoria, pero proporciona un rendimiento óptimo y deja aparte a Windows PE poniéndolo en un disco RAM en memoria. El arranque de disco RAM de Windows PE 1.6 normalmente debería usarse sólo en sistemas con al menos 256 MB de RAM. Windows PE 2.0 (que es siempre un arranque WIM de disco RAM) normalmente debe realizarse sólo con sistemas que tienen por lo menos 384 MB de RAM.

Observe, sin embargo, que hay un ahorro de espacio considerable al almacenar múltiples SKU de una versión concreta de Windows en el mismo WIM. Por ejemplo, supongamos que combina Windows XP Professional con XP Tablet PC Edition o Windows XP Tablet PC Edition con Windows Vista Ultimate Edition. Estas combinaciones consiguen un uso eficiente del espacio ya que dos SKU de la misma versión y nivel de Service Pack comparten gran parte del mismo código y archivos.
Por último, entra en juego el idioma. Cuanto más grande sea una organización, más idiomas deberán tenerse en cuenta. Con Windows XP, puede elegir entre usar compilaciones localizadas o una interfaz de usuario multilingüe (MUI). Con compilaciones completamente localizadas de Windows XP, casi todos las cadenas se localizaron en el idioma de destino. En cambio, con MUI el idioma de base es el inglés mientras que los paquetes de idioma de MUI (y más tarde, los paquetes de interfaz de idiomas) han cambiado tantas cadenas de idioma como sea posible. (MUI tuvo resultados satisfactorios en Windows 2000 y muchos mejores resultados en Windows XP y Windows Server 2003.)
Si su organización usa MUI, obtendrá un rendimiento relativamente bueno al combinar varias versiones de idioma en el mismo WIM. Esto se debe a que todas usan código binario en inglés en el núcleo. Sin embargo, esto no es el caso para las versiones localizadas anteriores a Windows Vista. Dado que los propios códigos binarios están localizados, no coincidirá el mismo código binario en todos los idiomas, lo cual significa que tiene que almacenar casi todo el sistema operativo (y cualquier aplicación localizada) para cada idioma.
Con Windows Vista, las versiones localizadas (localizadas como parte de un único código binario con recursos) se pueden considerar como obsoletas. Windows Vista usa archivos de recursos .mui para cada idioma, incluido el inglés. Básicamente, Windows Vista no tiene idioma, aunque casi toda la información de idioma reside en archivos MUI. De esta manera, almacenar más de una versión de idioma de Windows Vista en el mismo WIM tendrá como resultado un ahorro de espacio considerable. Almacenar dos, cuatro o más idiomas como WIM significa que no se necesita que la imagen crezca mucho, y que puede intercambiar o agregar idiomas más tarde a medida que cambien las necesidades.
En resumen, al crear una solución, deberá tener en cuenta qué versiones de Windows y qué versiones de otras aplicaciones, comparten códigos binarios idénticos, lo cual permite un único almacenamiento de instancias de archivos. Esto permitirá determinar cuántos archivos WIM se necesitan en toda la organización.

Escenarios de usuario
En general, cuanto más grande se haga una organización, más complicada será. Esto no se debe simplemente al tamaño, sino debido a todas las variables que se incorporan: hay más usuarios y más unidades de negocio, con necesidades más específicas.
Recuerdo una organización multinacional en concreto: tenía decenas de miles de usuarios y tuvo un proceso de implementación que fue administrado por completo desde una única ubicación geográfica y física. La persona encargada de esta organización siempre planteaba preguntas que presentaban un gran desafío. Por ejemplo, se preocupaba acerca de algunos de los usuarios remotos en algunos lugares de África que a menudo no disponían de una buena conexión de red. De hecho, muchos de ellos se encontraban a centenares de kilómetros de una línea telefónica. Necesitaba saber cómo podían estos usuarios recuperar sus sistemas estando sin servicio durante días y sin tener que viajar grandes distancias.
A la hora de desarrollar un producto, y en este sentido debería considerar su solución de recuperación como un producto, se debe pensar en los usuarios. Considere las necesidades específicas del negocio, pero piense también en las diversas complejidades asociadas con las diferentes categorías de usuarios. Se deberán incorporar casos de uso, mediante descripciones cortas, para describir cada tipo de usuario final que se debe admitir. Estos casos pueden ayudarle a reconocer a los usuarios que accidentalmente queden fuera de la solución de recuperación y a asegurarse de que se tienen en cuenta las necesidades de cada tipo de usuario.

Versión correcta de Windows PE
Otra decisión importante es determinar qué versión de Windows PE es adecuada para sus necesidades. Las entregas anteriores de esta columna pueden resultar de ayuda, pero intentaré que la decisión quede un poco más clara aquí. Si se da cualquiera de los siguientes escenarios, debería usar Windows PE 1.6:
  • Sólo se realiza la recuperación de Windows XP (o Windows Server 2003)
  • Se realiza la recuperación de sistemas que no son compatibles con la Interfaz avanzada de configuración y energía (ACPI)
  • Se realiza la recuperación de sistemas que no disponen de por lo menos 512 MB de RAM
  • Se realiza la recuperación de sistemas que deben realizar un arranque de ejecución de preinicio (PXE) con menos de 256 MB de RAM
Si se da cualquiera de los siguientes escenarios, debería usar Windows PE 2.0:
  • Sólo se realiza la recuperación Windows Vista (o Windows Server 2008)
  • Se realiza la recuperación de Windows Vista y de Windows XP
  • Se usa BitLocker™
Observe que ImageX (consulte la sección "Creación, actualización y almacenamiento") y la mayoría de las soluciones de creación de imágenes de terceros funcionarán correctamente con cualquier versión de Windows PE.

Arranque de Windows PE
Lo siguiente que deberá tener en cuenta es cómo arrancará Windows PE. Los escenarios de usuario desempeñan aquí un papel clave. ¿Es práctico para los usuarios llevar por todas partes CDs o DVDs para las recuperaciones? ¿Podrán colocarlos en un portátil cuando viajen? ¿Y cómo mantendrán actualizados estos medios para recuperación? Las imágenes de recuperación en medios extraíbles pueden quedar obsoletas muy rápidamente.
De lejos, la situación más común que he visto es la partición secundaria del disco duro. Otra opción es el arranque mediante PXE. También podría contemplar usar unidades USB externas o incluso unidades flash USB (UFD), pero tenga en cuenta que el hardware en cuestión debe ser compatible concretamente con el arranque desde un dispositivo UFD.
La barra lateral "Métodos de arranque de Windows PE" proporciona un resumen de los métodos compatibles para arrancar cada versión de Windows PE y ofrece algunas consideraciones importantes acerca de cada uno de ellos.
El objetivo al arrancar Windows PE debe iniciar el proceso de recuperación al mismo tiempo que se satisfacen criterios específicos:
  • Una interacción mínima del usuario
  • Un número mínimo de componentes móviles (medios o dispositivos extraíbles)
  • Cuando el equipo sin conectividad a la red
  • Cuando el equipo no puede arrancar de forma local (Windows no arranca)
Los administradores a menudo consideran que colocar Windows PE (normal o en disco RAM) en el disco duro es una opción inviable debido a las preocupaciones de que se produzcan errores en la unidad de disco. Pero lo cierto es que sí es viable dada la confiabilidad de los discos de hoy en día y al hecho de que si la unidad de disco física falla realmente, de todos modos el usuario no podrá recuperar el sistema por sí mismo.
Lo que yo prefiero es crear una partición secundaria y almacenar la imagen de la recuperación allí. No soy gran partidario de hacer que la partición sea oculta, ya que eso sólo desconcierta a los usuarios. Tampoco es viable usar una lista de control de acceso (ACL), a menos que los usuarios no sean administradores locales.
Al reducir la partición que se usa para Windows (consulte la barra lateral "Creación de una partición de recuperación"), es posible que se alcance que crear espacio suficiente como para almacenar Windows PE y la imagen de recuperación. Para colocar Windows PE en la partición secundaria, cree el sector de arranque apropiado en la partición de recuperación y coloque Windows PE en dicha partición (los documentos que se incluyen en Windows AIK y versiones anteriores de Windows PE explican este proceso, así que no entraré en mayor detalle aquí). Lo siguiente elemento clave que debe recordar es que la partición que se usa para el arranque está determinada por la partición marcada como activa. Diskpart incluye un marcador activo y un marcador inactivo igualmente importante. Para arrancar la partición de recuperación desde Windows (o desde una copia de Windows PE), use diskpart para intercambiar particiones activas (consulte la figura 1). A continuación, hay un ejemplo de un script de diskpart (use diskpart /s nameofscript.txt) que se usa para intercambiar un sistema de partición doble de disco único:
SEL DIS 0
SEL PAR 1
INACTIVE
SEL PAR 2
ACTIVE
EXIT
Figura 1 Diskpart cambia la partición activa
Figura 1 Diskpart cambia la partición activa
Este es el proceso que muchas herramientas de recuperación de consumidor usan para particiones biestables; algo que sólo puede realizarse desde Windows PE para ciertos tipos de partición, tales como las particiones ocultas de los OEM. A veces, estas herramientas mostrarán un tipo de partición oculta de OEM.

Creación, actualización y almacenamiento
Creación de una partición de recuperación
El proceso de crear una partición de recuperación y dejar al mismo tiempo Windows intacto no es difícil una vez que se conocen todos los pasos implicados. Aquí tenemos un ensayo rápido de lo que se debe llevar a cabo. Tenga en cuenta que este proceso requiere Windows PE 2.0. Aunque posiblemente no use Windows PE 2.0 para la implementación o recuperación, debe usarse la versión 2.0 para esta tarea. Este proceso puede también usarse al implementar Windows Vista y para crear una partición de arranque que se usará para los archivos de arranque BitLocker, ya que BitLocker requiere por lo menos dos particiones (una para los archivos de arranque y otra para el resto del sistema de Windows).
  1. Desfragmente el disco (esto puede aumentar la velocidad del proceso de reducción, lo cual llevará algún tiempo)
  2. Arranque en Windows PE 2.0
  3. Ejecute diskpart (si desea, puede crear un script para los pasos del 4 al 9 y pase a diskpart el argumento siguiente: /s nombre_del_script
  4. SEL VOL 1 (o el volumen que desee reducir)
  5. SHRINK DESIRED=N MIN=N (especificado en megabytes, DESIRED es el objetivo y MIN es el volumen mínimo que se necesita)
  6. Cuando finalice la reducción, ejecute SEL DIS 0
  7. CRE PAR PRI (puede especificar SIZE=N si desea especificar un tamaño diferente al que queda en el disco)
  8. ASSIGN LETTER=N: (esta letra sólo se usa en Windows PE)
  9. Salga de diskpart
  10. FORMAT N: /Q /Y /FS:NTFS (NTFS formatea la partición nueva)
  11. Ejecute bootsect N: /nt60 para 2.0, /nt52 para 1.x)
  12. Copie los archivos deseados de Windows PE en la partición de recuperación
  13. Apague el sistema

Aunque ImageX es una solución disponible de forma gratuita, es posible que ya disponga de una herramienta de creación de imágenes que ha estado usando durante un tiempo. Puede usar la herramienta con la que se sienta más cómodo. Si considera usar ImageX, hay unos cuantos elementos que deben tenerse en cuenta y que personalmente me gustan (aparte de su magnífico precio). En concreto, ImageX es agresivo en relación con la compresión. Otro aspecto bueno es adjuntar y editar una imagen es una tarea relativamente fácil.
También me gusta que ImageX permite crear una imagen de uno o más volúmenes sin que esto destruya datos, lo cual permite conservar datos de usuario tan solo apartándolos. Es decir, al recuperar Windows, no es necesario borrar todo el volumen.
A continuación, por supuesto, debe decidir dónde se almacenará la imagen. Si se supone que la solución usa una partición de recuperación, puede almacenar allí un archivo WIM u otro archivo de creación de imágenes. Incluso puede usar los servicios de implementación de Windows (WDS), crear una imagen estándar del sistema operativo y almacenarla en la red. Esto permite una solución de recuperación habitual y que está disponible en toda la infraestructura. Por supuesto, si hay usuarios en el campo de trabajo (como por ejemplo, los trabajadores mencionados anteriormente que se encuentran en lugares remotos), deberá asegurarse de que tienen a su disposición una solución propia cuando no tengan acceso a la red.
Mencioné antes que puede usar medios como los DVDs, pero hay varias razones por las que esta opción no me gusta para un uso general. Por ejemplo, el tamaño de una imagen puede crecer rápidamente más allá del tamaño disponible en un DVD, y los discos no pueden actualizarse fácilmente. Esto no quiere decir que los medios ópticos no sirven para nada; sólo hay que considerar cuál es el mejor escenario para cada tipo de usuario. Lo que yo prefiero, si es que todavía no ha quedado claro, es almacenar la imagen en una partición de recuperación, en un disco duro o unidad flash USB o bien, cuando sea posible, en la red mediante WDS.
Un aspecto que hace que WDS sea una opción atractiva es que una imagen centralizada puede actualizarse fácilmente. Ya sabe que las actualizaciones de Windows salen todos los meses y suelen ser actualizaciones críticas. Diseñe la solución de tal manera que la imagen de recuperación sea tan actualizada como sea posible. Con WDS puede actualizar la imagen completa en cada servidor.

Preocupaciones sobre los datos de usuario y la configuración
Hay unos cuantos temas que deben tenerse en cuenta a la hora de diseñar una solución de recuperación. Un aspecto clave de la planeación de cualquier solución de recuperación es garantizar la seguridad de los datos de usuario. No querrá que uno de los usuarios en el campo realice una recuperación sólo para descubrir que perdió todo sus datos importantes en el proceso. Lo ideal es que los datos de usuario se almacenen en una partición que no sea la partición C:, a menos que sea muy cauto en la recuperación del sistema.
Mencioné antes que ImageX permite restaurar un disco sin destruir datos. Por ejemplo, desplazará el árbol de directorio existente Documents and Settings (o Users) a otro directorio de modo que un usuario o script pueda recuperar manualmente los archivos después de la recuperación. Los usuarios que almacenan todos los archivos bajo su perfil o que usan perfiles móviles deberían, en la mayoría de los casos, poder recuperar un sistema sin perder datos de usuario. Pero es importante recordar que a menos que diseñe con mucho cuidado la solución de recuperación o disponga de una solución perfecta de copia de seguridad, aún es posible que se pierdan algunos datos de usuario.
Recuerde que a pesar de todo la planeación, algunos usuarios almacenan información en ubicaciones distintas a las de su perfil. Deberá asegurarse de que su solución tiene en cuenta que puede eliminar accidentalmente datos de usuario. Por lo que debería advertir a los usuarios antes de que realicen la recuperación.
Si usa el sistema de cifrado de archivos (EFS), asegúrese de ejecutar el plan de recuperación de claves, ya que no querrá perder los datos debido un cifrado que no se puede recuperar. Igualmente con BitLocker, asegúrese de estar preparado para recuperar los volúmenes cifrados con él. Esto significa que debe usar Windows PE 2.0 (la versión 1x. no puede interactuar con BitLocker). Para obtener más información acerca de la recuperación con BitLocker, consulte blogs.msdn.com/si_team.
Por último, esté preparado para el hecho de que algunos usuarios quedarán trastornados cuando algunas de sus personalizaciones o aplicaciones desaparezcan. Las personalizaciones (para aplicaciones y para el propio Windows) se almacenan en lugares aleatorios, no sólo en el perfil de usuario. Al restaurar la partición entera del sistema operativo, algunos usuarios llamarán para preguntar "¿dónde se fue X?" o "¿por qué ya no aparece Word?" Establezca expectativas entre los usuarios de forma que sean conscientes de que el entorno quizás no sea exactamente el mismo que tenían el día anterior.
Crear su propia solución de recuperación con Windows PE lleva tiempo y se necesita pensar en los usuarios mientras se planea y se dirige dicha solución. No es necesario que una solución de recuperación sea excesivamente compleja; simplemente debe permitir que los usuarios puedan volver a usar sus equipos lo más rápido posible y con el mínimo soporte técnico necesario.

Wes Miller es director de desarrollo de Pluck (www.pluck.com) en Austin, Texas. Anteriormente, trabajó en Winternals Software, en Austin, y en Microsoft como director de programas y director de productos para Windows. Si lo desea, puede ponerse en contacto con Wes en la dirección technet@getwired.com.


 Notas de campo: Comida gratis y sugerencias para cursos
Notas de campo
Comida gratis y sugerencias para cursos
Michael Dragone

Soy ingeniero de sistemas en una compañía aseguradora de títulos inmobiliarios que cuenta con alrededor de 150 personas. Nuestras necesidades de informática son realmente bastante sencillas debido a que nuestra principal aplicación empresarial se basa en web. Por lo tanto, interactuamos principalmente con Internet Explorer® y, por supuesto, con Microsoft® Office.
Con una implementación de la aplicación relativamente sencilla como ésta, quizás espere que nuestros usuarios tengan pocos problemas diarios, o incluso ninguno, cuando usan estas aplicaciones. La mayoría de las veces, eso es cierto. Los problemas que surgen son a menudo de la variedad que el lector medio de TechNet Magazine podría resolver en pocos segundos.
A través de la experiencia, he aprendido que una buena educación del usuario es crítica para mantener al mínimo los problemas. Quisiera compartir dos de las cosas que realizamos con nuestros usuarios con la esperanza de que pueda seguir pasos similares con los suyos.
La primera son las clases de aprendizaje. Con mucha frecuencia, tenemos una clase que abarca los nuevos sistemas que hemos instalado, las nuevas aplicaciones que implementaremos y las nuevas directivas establecidas. Igualmente, si vamos a introducir un cambio importante en el sistema, impartimos una clase especial sólo para abarcar ese cambio y contestar cualquier pregunta. Hacemos esto de antemano al cambio para que nuestros usuarios estén totalmente preparados.
Por ejemplo, estamos planeando la implementación de una actualización importante de nuestro sistema telefónico. Aunque nuestros usuarios todavía podrán tener acceso a su correo de voz a través de Outlook® como lo hacen ahora, cambiará el software que usan para hacerlo. Tenemos planeada una sesión de aprendizaje en la que el proveedor del sistema telefónico realizará una demostración de la nueva interfaz a nuestros usuarios y les permitirá hacer preguntas con suficiente anticipación a la verdadera implementación.
También abarcamos temas existentes con los que nuestros usuarios tienen problemas. Si ha invertido algo de tiempo en su sistema de vales de incidencias, conocerá lo que son esos problemas. Por ejemplo, uno de nuestros usuarios no entendía por qué dos sistemas independientes debían tener dos contraseñas diferentes. Ninguna explicación verbal la dejó satisfecha hasta que la vio mencionada en una diapositiva de PowerPoint® y tuvo una experiencia de "¡Ajá!".
En mi experiencia he encontrado que, independientemente del tema en particular, las claves para una reunión correcta son la comida gratis y un tono informal. Permite que sus usuarios formulen con facilidad cualquier tipo de preguntas, incluso las preguntas "tontas".
Mi segunda sugerencia es simplemente caminar alrededor de la oficina. Cada día, empleo 10 a 15 minutos para ponerme en contacto con nuestros usuarios. Si veo que alguien realiza una tarea de manera extraña, me detengo y converso sobre lo que hace y porqué, durante algunos minutos. A menudo puedo mostrarle un método alternativo que es mucho más fácil. Por ejemplo uno de nuestros usuarios continuamente reordenaba accidentalmente sus barras de herramientas de Outlook, pero no tenía la menor idea de cómo corregir el problema. Sufría en silencio hasta que me di cuenta. Le demostré cómo realizar los cambios en sus barras de herramientas para que cuando accidentalmente las volviera a reordenar, las pudiera restaurar de la manera que prefería.
Otros usuarios quizás tengan problemas que no desean compartir con su personal de asistencia ni su grupo de soporte técnico por distintas razones. Quizás algunos se sientan avergonzados, pensando que las preguntas que tienen son tontas y que no merecen la atención de TI. Otros viven con un teclado o mouse en mal estado, sin darse cuenta de que TI a menudo mantiene repuestos justamente para estas ocasiones. Si emplea algunos minutos para visitar a sus usuarios, puede resolver muchos de estos problemas y proponer ideas en su siguiente clase de aprendizaje. (Y no se olvide de la comida gratis).
Es importante tener presentes a sus usuarios en todos los aspectos de su trabajo. La mayoría de los cambios, si no todos, que realice en sus sistemas, directivas y procedimientos tendrá por lo menos algún impacto para el usuario. Cada usuario es exclusivo y reaccionará de forma distinta a estos cambios.
Con frecuencia, nos es difícil tener en cuenta la tecnología como algo rutinario para servir mejor a nuestros usuarios que no son expertos con la tecnología. Con un poco de paciencia y algunos cursos para los usuarios, puede ayudarles a que aprecien a sus equipos tanto como usted lo hace. Por supuesto, de a pasos pequeños.

Michael Dragone es Ingeniero de sistemas en una compañía aseguradora de títulos inmobiliarios en Nueva York. Es MCDST y MCSE en: Mensajería. En su tiempo libre disfruta de largas caminatas en la playa, jugando con su perro y de servidores a los que se han aplicado todas las revisiones.


 Confidencial de Windows: Actos de equilibrio de DLL conocidas
Confidencial de Windows
Actos de equilibrio de DLL conocidas
Raymond Chen

La característica de Windows denominada de manera informal "DLL conocidas" se refiere a una lista de DLL (bibliotecas de vínculos dinámicos) que reciben tratamiento especial por parte del cargador de módulos del kernel. Cuando el cargador encuentra un programa con un vínculo dinámico en tiempo de carga a una DLL conocida, usa inmediatamente la copia conocida, pasando por alto el algoritmo de búsqueda que normalmente se aplica a la carga del módulo. Es posible que algunas personas consideren que esta es una característica de seguridad (aunque hay que reconocer que bastante deficiente), pero en realidad la seguridad nunca fue la intención de esta característica. Las DLL conocidas son en realidad una característica de rendimiento.
La mecánica de la característica de DLL conocidas ha cambiado con el tiempo. En algunas versiones de Windows®, el kernel usa la lista de DLL conocidas como un punto de partida, posteriormente examina todas las DLL a las que se vinculan esas DLL conocidas, a continuación todas las DLL a las que aquellas DLL se vinculan, etc. Este proceso construye el cierre transitivo de todas las dependencias y las trata a todas como conocidas. En otras versiones de Windows, este cierre transitivo no se construye; en vez de eso, sólo las DLL explícitamente enumeradas como conocidas se tratan como tales. En algunas versiones de Windows, el kernel carga de antemano las DLL conocidas cuando se inicia el sistema; en otras versiones, no se produce esta carga anticipada y el kernel solamente usa la lista para ahorrarse el problema de tener que buscar la ruta de acceso de una DLL.
No es sólo la interpretación de la lista de DLL conocidas que cambia entre una versión y versión. El contenido de la clave de registro de las DLL conocidas también están sujetos a cambios. El equipo de rendimiento de Windows cambia tanto la lista de DLL conocidas como las reglas mediante las cuales la lista se convierte en un conjunto de DLL según su comprensión de cómo las aplicaciones usan Windows. Como es típico en la ingeniería, es un juego de equilibrios. La carga anticipada de DLL conocidas en el inicio del sistema permite que las aplicaciones usen esas DLL para iniciar más rápido, pero hay un precio. Lleva más tiempo iniciar el sistema y aumenta el consumo de memoria, debido a que esas DLL permanecen en memoria independientemente de si se usan en realidad. Es un juego de equilibrio, de mejorar el rendimiento de algunos componentes al costo de otros. Obtener el equilibrio correcto es una tarea difícil y, como puede ver, se ajusta constantemente a medida que evoluciona el patrón de uso.
Una consecuencia de las DLL conocidas que no es obvia de inmediato es que tienen prioridad sobre la redirección de DLL realizada de forma local. (Analizamos la redirección de DLL realizada de forma local en la edición de enero 2007 de esta columna). Si lo piensa, se dará cuenta que se trata de un comportamiento realmente esperado antes que de una rareza. A fin de cuentas, el propósito de la lista de DLL conocidas es omitir la ruta de acceso de la búsqueda y de este modo acelerar la carga de DLL. Si el kernel tuviera que buscar las DLL redirigidas de forma local, sólo se demoraría más el proceso. Es posible que piense que solamente agregar un directorio a la ruta de acceso de la búsqueda no es gran cosa, pero cuando ese único directorio puede ser un servidor de red en la otra mitad del planeta, agregar incluso un directorio puede representar un enorme consumo del rendimiento.
Créalo o no, hemos visto programas que dependen de que DLL específicas sean conocidas. Había un programa que tenía un archivo denominado Version.dll en el directorio de la aplicación. Normalmente, esta copia privada de Version.dll invalidaría la que se encuentra en el directorio de sistema, pero en Windows XP, Version.dll se incluye como DLL conocida. Esto significa que se omite la copia en el directorio de la aplicación y que prevalece la versión en el directorio de sistema.
En Windows Vista®, Version.dll ya no se incluye como DLL conocida, probablemente porque la gente de rendimiento determinó que las aplicaciones no la usaban lo suficiente como para justificar el costo. Como resultado, este programa deja de funcionar en Windows Vista porque la aplicación dependía de que el kernel omitiere la DLL que el programa instalaba en su propio directorio de la aplicación. El programa instalaba con toda su voluntad una DLL en la ruta de acceso de búsqueda y posteriormente dependía de Windows para omitirla. Seguramente si deseaba que Windows omita un archivo, un mecanismo mucho más eficiente hubiera sido simplemente no instalar primero el archivo. Lo más gracioso fue que la compañía que escribió el programa archivó un error que reclamaba que había encontrado un agujero de seguridad.

Raymond Chen The Old New Thing, y en su libro del mismo nombre (Addison-Wesley, 2007) se trata la historia de Windows y la programación de Win32. Ya no tiene la menor idea de cuál es el tamaño de su propia camiseta.