Blog de Fernando Machado Piriz

Artículos sobre arquitectura corporativa y temas relacionados

.NET Conf UY 2014 – Arquitectura para Windows Azure: Pienso, luego existo

leave a comment »

Gracias a los amigos de .NET Conf UY la charla que dí sobre arquitectura para Windows Azure en ese evento está disponible en YouTube:

Written by fernandomachadopiriz

26/10/2014 at 21:47

Publicado en Azure

Una nueva vida para un viejo blog

leave a comment »

Este blog nació hace más de cuatro años. En aquél tiempo trabajaba como Arquitecto de Soluciones independiente y como docente de los cursos Programación e Ingeniería de Software en la Universidad Católica del Uruguay. Había sido designado por Microsoft como Most Valuable Professional desde 2008 hasta 2010 cuando comencé a trabajar como Consultor de Desarrollo en Microsoft.

En aquél tiempo escribía sobre los temas que sabía o aprendía y que creía que a los lectores les podían interesar: programación —C#, .NET Framework, Visual Studio—, gestión del ciclo de vida del software —Team Foundation Server—, nuevas tecnologías —LightSwitch—, y trataba de explicar conceptos difíciles en forma fácil —Covarianza & Contravarianza, Inversion of Control & Dependency Injection, Model View ViewModel-.

Luego por el trabajo que hacía y los temás que desarrollaba dejé de escribir. Ahora hace más de dos años que trabajo como Arquitecto Empresarial en Microsoft y estoy comenzando nuevos cursos de Arquitectura en el grado y en la maestría de la Universidad Católica del Uruguay.

Entonces quiero comienzar a escribir nuevamente pero, en temas de arquitectura, que podrán comenzar a leer en breve. Espero poder escribir artículos tan interesantes como antes, más allá que sean otros temas.

No puedo afirmar si el blog fue exitoso o no hasta ahora, aunque algunos números pueden dar una idea: entre los artículos en español y en inglés más los videos de demos correspondientes en YouTube, hay más de 260.000 visitas en poco más de 4 años y desde los más diversos lugares del mundo:

image

Visitas por mes al blog en español

image

Visitas por país al blog en español

Espero que los viejos lectores todavía quieran acompañarme y espero nuevos lectores también. Hasta la próxima.

Written by fernandomachadopiriz

20/07/2014 at 08:52

Publicado en Anuncios

.NET UY Conf, 3 y 4 de octubre

leave a comment »

Written by fernandomachadopiriz

11/06/2014 at 14:01

Publicado en Anuncios

Conectando una máquina virtual de Hyper-V a Internet a través de una conexión inalámbrica

with one comment

En un artículo anterior escribí acerca de cómo configurar un equipo portátil para actual alternativamente como servidor de virtualización o como un equipo de escritorio casi estándar. ¿Por qué querría hacer eso? Bueno, si necesita usar máquinas virtuales de 64 bits sobre soluciones de virtualización de Microsoft, su única opción es usar Windows Server 2008 o Windows Server 2008 R2 con Hyper-V. Por ejemplo, si necesita tener diferentes configuraciones de entornos de desarrollo SharePoint 2010 en el mismo equipo, necesitará usar máquinas virtuales de 64 bits.

En aquel artículo mostré cómo configurar un sistema operativo hypervisor -específicamente Windows Server 2008 R2- para que se comporte casi como un sistema operativo de escritorio –digamos Windows 7-, habilitando las características que vienen inhabilitadas en forma predeterminada: red inalámbrica, audio, Areo, hibernación, etc. Incluso, como probablemente quieran alternar entre el escenario de servidor hypervisor al escenario de escritorio, incluí algunos archivos de script para habilitar los servicios requeridos e inhabilitar los innecesarios en cada caso.

Aunque puedan correr exitosamente máquinas virtuales de 32 y 64 bits en sus equipos portátiles cuando Hyper-V está configurado correctamente, teniendo los recursos de hardware apropiados, se darán cuenta tarde o temprano que Hyper-V está diseñado para ejecutarse en un servidor físico, no en un equipo portátil. Permítanme darles un ejemplo: ¿Para qué usan un equipo portátil después de todo? Por la movilidad, ¿cierto? Pues bien, con la movilidad estarán conectados a una red inalámbrica, al menos ocasionalmente. Entonces se van a dar cuenta que Hyper-V muestra solamente los adaptadores de red Ethernet al crear conexiones virtuales externas.

Las dos alternativas que encontré en Internet –configurar Internet Connection Sharing o usar Routing and Remote Access Service– no me resultaron útiles porque ICS está inhabilitado por mi administrador y RRAS es demasiado complicado de configurar.

Tengo dos tarjetas de red en mi equipo portátil, una Intel® 82567LM-3 Gigabit Network Connection, y una Intel® Centrino® Ultimate-N 6300 AGN:

clip_image002

Pero sólo una está disponible en la lista de tarjetas de red para ser usadas cuando creo una conexión virtual externa:

clip_image004

Hay una forma fácil que resolver esto, y tener la conexión virtual externa conectada a través de una conexión inalámbrica:

  1. Configuren una conexión virtual externa usando la conexión cableada como es habitual. Las máquinas virtuales usan esta conexión cuando están conectados por cable para acceder a Internet.
  2. Cuando no estén conectados por cable, creen un puente entre la conexión inalámbrica y la conexión externa virtual, seleccionando ambas conexiones en la ventana Network Connections, haciendo clic con el botón secundario, y seleccionando Bridge Connections del menú desplegable.

Verán una conexión de red adicional llamada Network Bridge y podrán acceder a Internet desde la máquina virtual a través de la conexión inalámbrica. Borren la conexión puente cuando estén conectados por cable nuevamente.

clip_image006

Como probablemente no necesiten estar permanentemente conectados a Internet, pero quieran acceder a los archivos y carpetas del equipo huésped, habitualmente configuro una red interna virtual además de la externa, y todas mis máquinas virtuales tienen dos adaptadores de red conectados a cada una de estas conexiones.

Si tienen un escenario similar al mío, este dato puede simplificarles el trabajo. Saludos.

Written by fernandomachadopiriz

26/03/2011 at 08:28

Publicado en SharePoint

Tagged with

Nueva versión de Visual Studio 2010 and .NET Framework 4 Training Kit

leave a comment »

imageDesde ayer está disponible para descarga desde el sitio de Microsoft la actualización de marzo de 2011 del Visual Studio 2010 and .NET Framework 4 Training Kit. Pueden descargar el kit desde aquí. Este training kit incluye presentaciones, hands-on labs y demos, que cubren las últimas novedades en las versiones de Visual Studio 2010 y .NET Framework 4 recientemente actualizadas . Que lo disfruten.

 

 

 

 

 

 

Written by fernandomachadopiriz

15/03/2011 at 19:03

Liberado Visual Studio 2010 Service Pack 1

leave a comment »

Está disponible desde ayer para descarga para los suscriptores de MSDN la versión final (RTM) del Service Pack 1 para Visual Studio 2010. Pueden ver la lista de novedades y correcciones completa aquí.

Dentro de las cosas que considero más interesantes en esta versión están:

  • Compatibilidad con Silverlight 4
  • Soporte para pruebas de unidad contra .NET Framework 3.5
  • IntelliTrace para aplicaciones de 64 bits y SharePoint
  • Albergar aplicaciones y proyectos web en Internet Information Services (IIS) 7.5 Express
  • Soporte para Microsoft Web Platform Installer

Written by fernandomachadopiriz

10/03/2011 at 07:01

Desarrollando soluciones para SharePoint 2010 en un equipo portátil con Windows Server 2008 R2 con Hyper-V

with 2 comments

Si normalmente desarrollan soluciones para SharePoint Server 2010 desde un escritorio en una oficina de una empresa, es muy probable que tengan acceso un servidor completo, con todos los servidores (SharePoint Server, SQL Server, etc.) y las herramientas necesarias ya instaladas, o mejor aún si usan versiones o configuraciones diferentes de los servidores, probablemente tengan múltiples máquinas virtuales, cada una con todo el software requerido instalado. En tal caso, este artículo no es para ustedes.

Pero si tienen un escenario diferente, como en mi caso, porque necesitan trabajar desde diferentes lugares utilizando un equipo portátil, y necesitan tener diferentes instalaciones de los servidores y herramientas (diferentes versiones, diferentes idiomas, etc.), entonces necesitan usar máquinas virtuales en su equipo portátil.

Con Microsoft Office SharePoint Server 2007, tanto el sistema operativo anfitrión (sobre el que corre el software de virtualización) como el invitado (el que se instala en la máquina virtual) podían ser 32 bits, ya que era posible usar la versión de 32 bits de los servidores (SharePoint Server, SQL Server, etc.). Además, era posible utilizar un sistema operativo de escritorio (no servidor) como anfitrión, empleando Microsoft Virtual PC 2007 por ejemplo. Con SharePoint Server 2010 el sistema operativo de base debe ser de 64 bits, digamos por ejemplo Windows Server 2008 R2 x64. Esto es porque SharePoint Server 2010 sólo se ejecuta sobre un sistema operativo de 64 bits.

No es posible tener un sistema operativo de 64 bits en una máquina virtual usando Microsoft Virtual PC 2007 o el nuevo Windows Virtual PC de Windows 7; la única forma de tener un sistema operativo virtual de 64 bits es mediante el uso de un hypervisor: Windows Server 2008 R2 con el rol Hyper-V.

Resulta un poco extraño ejecutar un hypervisor en un equipo portátil, ¿no? Bueno, probablemente tengan razón, pero uno se acostumbra, créanme.

¿Qué cosas de las que estamos acostumbrados a tener en un equipo portátil se pierden al usar Windows Server 2008 R2 con Hyper-V como sistema operativo? Al usar la instalación predeterminada, ocurre lo siguiente:

  • No hay Audio y ni Windows Media Player. El servicio Windows Audio está desactivado en forma predeterminada y el reproductor de Windows Media no está instalado en un servidor. Generalmente no hay nadie escuchando música en la sala de servidores, es un entorno muy ruidoso.
  • No hay conectividad inalámbrica El servicio Wireless LAN Service no está instalado. Por lo general servidores están conectados a la red mediante cables.
  • No está disponible Aero. El servicio de Themes está deshabilitado de forma predeterminada para preservar los recursos del servidor.
  • No hay búsquedas disponibles. El servicio Windows Search está deshabilitado en forma predeterminada también para preservar los recursos del servidor.
  • No se puede suspender ni hibernar. Generalmente servidores están siempre encendidos y nunca se suspenden ni hibernan, e incluso nunca se apagan.
  • El molesto Event Tracker aparece al apagar el sistema. No se puede apagar el sistema sin explicar primero la razón.
  • La seguridad mejorada de Internet Explorer. Cada vez que se intenta visitar un sitio web aparece un mensaje indicando por qué no deberían navegar por la web desde un servidor.

Pero lo que es razonable en un servidor, no es razonable en el equipo portátil que utilizan para el trabajo de todos los días, ¿cierto? Ustedes como yo quieren escuchar música, necesitan las conexiones inalámbricas, necesitan buscar archivos y mensajes de correo electrónico (Microsoft Outlook también usa el servicio Windows Search), quieren el aspecto y funcionalidad de Aero, y no quieren llevar su equipo portátil de un lugar a otro con el disco duro girando.

Excepto por lo de suspender e hibernar, pueden tener audio, conectividad inalámbrica, búsqueda de archivos y de correo electrónico, y hasta el aspecto de un sistema operativo de escritorio (no servidor) en Windows Server 2008 R2 con Hyper-V. Desafortunadamente, tan pronto como agreguen la función de Hyper-V, perderán la capacidad de suspender o hibernar. Pero no son tan malas noticias, una vez agregado Hyper-V, podrán suspender o hibernar el equipo portátil deshabilitando temporalmente el hypervisor, sin necesidad de quitar el rol.

En este artículo les mostraré cómo configurar una instalación predeterminada de Windows Server 2008 R2, para que se parezca y se comporte (casi) como un sistema operativo Windows 7 de escritorio. Este es el aspecto de mi equipo:

WS2008R2

Habilitar audio

Esto es fácil. Simplemente hagan clic en el botón Start y escriban “services” en el cuadro de búsqueda para abrir la consola Services. Busquen el servicio Windows Audio, hagan clic con el botón secundario y seleccionen Properties, y luego en el cuadro de diálogo Properties, cambien Start type de Disabled a Automatic.

O abran un símbolo del sistema con permisos de administrador y escriban sc \\[equipo] config audiosrv start= auto reemplazando [equipo] por el nombre de su equipo y luego escriban net start audiosrv. Noten que en el argumento start del comando sc hay un espacio en blanco luego del símbolo = y no hay un espacio en blanco antes.

Habilitar la red inalámbrica, Aero y la búsqueda

Instalen las funciones que faltan. Hagan clic en el botón Start y escriban “server” en el cuadro de búsqueda para abir la consola Server Manager. En el panel izquierdo hagan clic en Features y luego hagan clic en el vínculo Add Features en el panel de la derecha. En el asistente Add Feature Wizard seleccionen e instalen las características Desktop Search y Wireless LAN Service.

Una vez que estas características están instaladas, abran la consola Services nuevamente y busquen el servicio Themes, hagan clic con el botón secundario del mouse y seleccionen Propiedades, luego en el cuadro de diálogo Propiedades cambien Start type de Disabled a Automatic. Lo mismo con el servicio Desktop Window Manager Session Manager. Y lo mismo también con el servicio Windows Search, pero establezcan el tipo de inicio en Automatic (Delayed start).

O abran un símbolo del sistema con permisos de administrador y escriban for %%s in (uxsms themes) do (sc \\[machine] config %%s start= auto) y luego sc \\[machine] config wsearch start= auto y finalmente for %%s in (uxsms themes wsearch) do (net start %%s).

Habilitar suspender/hibernar

Supongamos que han instalado Windows Server 2008 R2 y luego agregaron el rol Hyper-V. Si abren un símbolo del sistema con permisos de administrador y luego ejecutan el comando bcdedit /enum {current} obtendrán una salida como esta:

clip_image003

bcdedit no es un editor “binario codificado decimal”, como probablemente podrían suponer, sino un editor del “almacén de datos de configuración de arranque” o “boot configuration datastore”. Noten la línea hypervisorlaunchtype asignada en Auto en la última línea. Noten también la descripción Windows Server 2008 R2; este es el texto que ven durante el inicio del equipo o durante la recuperación del sistema cuando varias configuraciones de arranque están disponibles.

Copien esta configuración de inicio a una nueva, escribiendo bcdedit /copy {current} /d “Microsoft Windows Server 2008 R2 (w/o Hyper-V)” en un símbolo del sistema con permisos de administrador. El texto entre las comillas es la descripción de la nueva configuración de inicio. Pueden elegir una descripción diferente a la mía.

Como resultado del comando anterior aparece un mensaje que incluye un GUID de la nueva configuración de inicio. Deshabiliten la función del hypervisor en la nueva configuración de arranque utilizando bcdedit /set {GUID} hypervisorlaunchtype off donde GUID es el GUID mostrado como resultado del comando anterior.

Ya está. Al iniciar el equipo podrán elegir la configuración con o sin hypervisor. Además, si desean cambiar la configuración de inicio predeterminada, o cambiar el tiempo durante el que se muestra la lista de configuraciones durante el inicio del equipo, pueden utilizar el comando bcdedit o el cuadro de diálogo Startup and Recovery en las propiedades del sistema.

Esta nueva configuración de inicio deshabilitará Hyper-V y les permitirá habilitar la suspensión o hibernación del equipo, aunque (obviamente) tendrán que reiniciar el equipo portátil para pasar a la configuración con Hyper-V habilitado. Esto es mucho más eficiente que eliminar completamente el rol de Hyper-V, lo que por cierto, también requiere reiniciar el equipo.

Para habilitar la hibernación después de reiniciar el sistema en la configuración sin Hyper-V, deben abrir un símbolo del sistema con permisos de administrador y ejecutar el comando powercfg –H (hache en mayúsculas).

Deshabilitar Event Tracking

Abran la consola Local Group Policy Editor, haciendo clic en Start y escribiendo “edit policy” en el cuadro de búsqueda. Luego expandan el nodo Local Computer Policy en el panel izquierdo, luego Computer Configuration, luego Administrative Templates, y finalmente System. En el panel de la derecha busquen Display Shutdown Event Tracker, hagan doble clic en él para modificar su configuración y luego elijan Disable.

Desactivar la seguridad mejorada de Internet Explorer

Hagan clic en el botón Start luego escriban “server” en el cuadro de búsqueda y abran la consola Server Manager. Seleccionen el nodo raíz en el árbol de la izquierda y luego hagan clic en el vínculo Configure IE ESC en el panel derecho. Seleccionen Off para desactivar la seguridad mejorada.

Comentarios finales

Ahora pueden usar su equipo portátil en dos escenarios: como un hypervisor o como un portátil normal. En el primer escenario, les recomiendo deshabilitar nuevamente los servicios como Windows Audio, Themes, Windows Search, etc. y desactivar los temas de Aero, con el fin de preservar los recursos del sistema. Además, si tienen otros servidores como SQL Server o incluso un servidor de SharePoint instalado en el sistema operativo anfitrión, les recomiendo también deshabilitarlos mientras utilizan el hypervisor.

Dado que es necesario apagar el sistema antes de mover el equipo portátil mientras se utiliza el hypervisor, y dado que es necesario reiniciar para cambiar de un escenario a otro, consideren la posibilidad de comprar una unidad de disco de estado sólido para la partición del sistema y así acelerar el apagado y puesta en marcha del equipo. Por cierto, con un disco así, reiniciar el equipo puede ser incluso más rápido que hibernar y restaurar desde una unidad de disco duro normal, sobre todo cuando el equipo portátil tiene mucha memoria, como debería tener para poder usar eventualmente múltiples máquinas virtuales simultáneamente con el hypervisor.

Para facilitar pasar del escenario de hypervisor al escenario de portátil normal, pueden utilizar los siguientes archivos de proceso por lotes y secuencias de comandos.

Utilicen este archivo por lotes search.bat para habilitar o deshabilitar el servicio de búsqueda escribiendo simplemente search on o search off en un símbolo del sistema con permisos de administrador. Este archivo por lotes no sólo detiene o inicia el servicio de búsqueda, sino que también lo activa o desactiva, por lo que se mantiene el estado configurado después de reiniciar el equipo.

@echo off

rem Enables and starts or stops and disables search services

rem Search services:
rem	Windows Search

set x=%1%#
if %x%==# goto usage
if %1%==on goto enable
if %1%==off goto disable

:usage

echo "Usage: search on|off"
goto end

:enable

rem Enables desktop services

for %%s in (wsearch) do (sc \\[machine] config %%s start= delayed-auto)
for %%s in (wsearch) do (net start %%s)

pause
goto end

:disable

rem Disables search services

for %%s in (wsearch) do (net stop %%s)
for %%s in (wsearch) do (sc \\[machine] config %%s start= disabled)

pause
goto end

:end

 

Pueden usar este otro archivo de procesamiento por lotes audio.bat para habilitar o deshabilitar los servicios relacionados con audio escribiendo audio on o audio off en un símbolo del sistema con permisos de administrador.

@echo off

rem Enables and starts or stops and disables audio related services

rem Audio services:
rem	Windows Audio
rem	Windows Audio Endpoint Builder

set x=%1%#
if %x%==# goto usage
if %1%==on goto enable
if %1%==off goto disable

:usage

echo "Usage: audio on|off"
goto end

:enable

rem Enables audio services

for %%s in (audiosrv audioendpointbuilder) do (sc \\[machine] config %%s start= auto)
for %%s in (audiosrv audioendpointbuilder) do (net start %%s)

pause
goto end

:disable

rem Disables audio services

for %%s in (audiosrv audioendpointbuilder) do (net stop %%s)
for %%s in (audiosrv audioendpointbuilder) do (sc \\[machine] config %%s start= disabled)

pause
goto end

:end

 

Para detener todos los servicios de servidor aquí hay otro archivo de procesamiento por lotes servermode.bat para detener y deshabilitar o habilitar e iniciar estos servicios escribiendo servermode off o servermode on en un símbolo del sistema con permisos de administrador.

@echo off

rem Enables and starts or stops and disables server related services

rem Server services:
rem	Application Host Helper Service
rem	Distributed Transaction Coordinator
rem	Simple Mail Transfer Protocol (SMTP)
rem	IIS Admin Service
rem	Net.Msmq Listener Adapter (depends on Message Queuing)
rem	Message Queuing
rem	SharePoint 2010 Timer
rem	SharePoint 2010 Tracing
rem	SharePoint 2010 User Code Host
rem	SharePoint Foundation Search V4
rem	SharePoint Server Search 14
rem	SQL Full-text Filter Daemon Launcher (MSSQLSERVER)
rem	SQL Server Agent (MSSQLSERVER) (depends on SQL Server (MSSQLSERVER))
rem	SQL Server (MSSQLSERVER)
rem	SQL Server (SHAREPOINT)
rem	SQL Server (SQLEXPRESS)
rem	SQL Server Analysis Services (MSSQLSERVER)
rem	SQL Server Browser
rem	SQL Server Integration Services 10.0
rem	SQL Server Reporting Services (MSSQLSERVER)
rem	SQL Server VSS Writer
rem	Visual Studio Team Foundation Background Job Agent
rem	Visual Studio Team Foundation Build Service Host
rem	World Wide Web Publishing Service

set x=%1%#
if %x%==# goto usage
if %1%==off goto disable
if %1%==on goto enable

:usage

echo "Usage: servermode on|off"
goto end

:disable

rem Disables server services

for %%s in (apphostsvc SMTPSVC msdtc iisadmin NetMsmqActivator msmq sptimerv4 sptracev4 spusercodev4 spsearch4 osearch14 SQLSERVERAGENT MSSQLSERVER MSSQL$SHAREPOINT MSSQL$SQLEXPRESS MSSQLServerOLAPService SQLBrowser MsDtsServer100 ReportServer SQLWriter TFSJobAgent TFSBuildServiceHost W3SVC) do (net stop %%s)
for %%s in (apphostsvc msdtc SMTPSVC iisadmin NetMsmqActivator msmq sptimerv4 sptracev4 spusercodev4 spsearch4 osearch14 MSSQLFDLauncher SQLSERVERAGENT MSSQLSERVER MSSQL$SHAREPOINT MSSQL$SQLEXPRESS MSSQLServerOLAPService SQLBrowser MsDtsServer100 ReportServer SQLWriter TFSJobAgent TFSBuildServiceHost W3SVC) do (sc \\[machine] config %%s start= disabled)

pause
goto end

:enable

rem Enables server services

for %%s in (apphostsvc msdtc iisadmin NetMsmqActivator msmq sptimerv4 sptracev4 spusercodev4 MSSQLFDLauncher SQLSERVERAGENT MSSQLSERVER MSSQL$SHAREPOINT MSSQL$SQLEXPRESS MSSQLServerOLAPService SQLBrowser MsDtsServer100 ReportServer SQLWriter TFSJobAgent TFSBuildServiceHost W3SVC) do (sc \\[machine] config %%s start= auto)
for %%s in (msdtc) do (sc \\[machine] config %%s start= delayed-auto)
for %%s in (spsearch4 osearch14 MSSQLFDLauncher SMTPSVC) do (sc \\[machine] config %%s start= demand)
for %%s in (apphostsvc msdtc iisadmin NetMsmqActivator msmq sptimerv4 sptracev4 spusercodev4 spsearch4 osearch14 MSSQLFDLauncher SQLSERVERAGENT MSSQLSERVER MSSQL$SHAREPOINT MSSQL$SQLEXPRESS MSSQLServerOLAPService SQLBrowser MsDtsServer100 ReportServer SQLWriter TFSJobAgent TFSBuildServiceHost W3SVC SMTPSVC) do (net start %%s)

pause
goto end

:end

 

Como los servicios del hypervisor sólo son necesarios cuando inician el equipo con la configuración con Hyper-V, estos servicios son habilitados o deshabilitados en un archivo de procesamiento por lotes separado:

@echo off

rem Starts or stops Hyper-V related services

if %1%==off goto disable
if %1%==on goto enable
goto end

:disable

for %%s in (vhdsvc nvspwmi vmms hvboot) do (net stop %%s)
for %%s in (vhdsvc nvspwmi vmms hvboot) do (sc \\[machine] config %%s start= disabled)
pause
goto end

:enable

for %%s in (vhdsvc nvspwmi vmms) do (sc \\[machine] config %%s start= auto)
for %%s in (hvboot) do (sc \\[machine] config %%s start= demand)
for %%s in (vhdsvc nvspwmi vmms hvboot) do (net start %%s)
pause
goto end

:end

 

Como tengo que tener varios servidores instalados (SQL Server, SharePoint Server, Team Foundation Server, etc.) la lista de servicios en el archivo servermode.bat es grande. Pueden remover o agregar los servicios que ustedes necesiten. Si van a modificar estos archivos, tengan en cuenta lo siguiente:

  1. Dependencias. Pueden necesitar detener un servicio solamente después de haber detenido todos los servicios que dependan de él, para evitar que aparezcan mensajes de confirmación durante el procesamiento de archivo por lotes. Asegúrense de iniciar los servicios en el orden inverso.
  2. Tipo de inicio. Deshabilitar los servicios es fácil: hay solo un estado deshabilitado. Pero habilitaros es un poco más complicado, porque hay más de un tipo de inicio: automático, automático demorado, y manual. Asegúrense que retornan los servicios a su tipo de inicio original.

La yapa: si quieren que su instalación de Windows Server 2008 R2 luzca exactamente (bueno, casi) como una de Windows 7, con los temas de Aero, pueden usar estos archivos de procesamiento por lotes y secuencias de comandos. Adivinaron, el archivo de procesamiento por lotes se llama desktopmode.bat y los comandos son desktopmode on y desktopmode off.

@echo off

rem Enables and starts or stops and disables desktop related services

rem Desktop services:
rem	Windows Audio
rem	Windows Audio Endpoint Builder
rem	Windows Search
rem	Desktop Window Manager Session Manager
rem	Disk Defragmenter (stop only)
rem	Themes

set x=%1%#
if %x%==# goto usage
if %1%==on goto enable
if %1%==off goto disable

:usage

echo "Usage: desktopmode on|off"
goto end

:enable

rem Enables desktop services

for %%s in (audiosrv audioendpointbuilder uxsms defragsvc themes) do (sc \\[machine] config %%s start= auto)
for %%s in (wsearch) do (sc \\[machine] config %%s start= delayed-auto)
for %%s in (defragsvc) do (sc \\[machine] config %%s start= demand)
for %%s in (audiosrv audioendpointbuilder wsearch uxsms themes) do (net start %%s)
DesktopTheme.vbs

pause
goto end

:disable

rem Disables desktop services

for %%s in (audiosrv audioendpointbuilder wsearch uxsms defragsvc themes) do (net stop %%s)
for %%s in (audiosrv audioendpointbuilder wsearch uxsms defragsvc themes) do (sc \\[machine] config %%s start= disabled)
ServerTheme.vbs

pause
goto end

:end

 

Archivo DesktopTheme.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "rundll32.exe %SystemRoot%\system32\shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Themes /Action:OpenTheme /file:""C:\Windows\Resources\Themes\aero.theme"""

Wscript.Sleep 15000
WshShell.AppActivate("Desktop Properties")
WshShell.Sendkeys "%FC"
WshShell.Sendkeys "{F4}"

 

Archivo ServerTheme.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "rundll32.exe %SystemRoot%\system32\shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Themes /Action:OpenTheme /file:""C:\Windows\Resources\Ease of Access Themes\classic.theme"""

Wscript.Sleep 1000
WshShell.AppActivate("Desktop Properties")
WshShell.Sendkeys "%FC"
WshShell.Sendkeys "{F4}"

 

Una recomendación final: agreguen la carpeta donde hayan dejado estos archivos a la variable de entorno PATH.

Diviértanse.

PS: para ser completamente honesto, hay otras cosas que pueden dejar de tener si instalan Windows Server 2008 R2 en un equipo portátil. En primer lugar, los controladores de Bluetooth habitualmente no están disponibles para los sistemas operativos de servidor, por esto ténganlo en cuenta si dependen de dispositivos Bluetooth conectados al equipo portátil para el trabajo de todos los días. En segundo término, dependiendo del hardware que tengan, otros controladores de hardware pueden no estar disponibles para un sistema operativo de servidor. Los más frecuentemente faltan son los del lector de huellas y los del lector de smartcards. Pueden tratar instalar los de Windows 7, pero estos pueden funcionar o no. Por último, algunas herramientas de terceros detectan que no están sobre un sistema operativo de escritorio y no ejecutan o ni siquiera se instalan. Hasta ahora yo he sobrevivido a estas limitaciones, pero no pueden decir que no les avisé.

Written by fernandomachadopiriz

12/02/2011 at 18:03

Publicado en SharePoint

Tagged with ,

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 222 seguidores