Be Geek My Friend

Daniel Matey, Ingeniero Preventa Datacenter, Microsoft

May 2007 - Artículos

No comments :-)
Posted: 18/5/2007 6:05 por Daniel Matey | con 6 comment(s)
Archivado en:
Video: Haciendo el gamberro en las oficinas de Intel.

Conan O'Brien visita las oficinas centrales de Intel y como siempre hace el gamberro todo lo que puede.

 

Posted: 15/5/2007 10:01 por Daniel Matey | con 1 comment(s)
Archivado en:
Material de la webcast sobre Scripting en Virtual Server

Todos los scripts y la DLL necesaria para usar powershell para automatizar Virtual Server estan en un fichero zip en el siguiente enlace.

http://geeks.ms/files/folders/14655/download.aspx

El script que permite crear maquinas virtuales con discos duros diferenciales a partir de una maquina virtual base por linea de comandos es el DEMO5_1.vbs.

La charla la podeis ver en:

http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=es-AR&EventID=1032327773&CountryCode=AR

Recursos mencionados durante la charla:

Programación en vbscript, funciones, objetos, etc: http://devguru.com/

Información sobre el Modelo de objetos de Virtual Server http://msdn2.microsoft.com/en-us/library/aa368876.aspx

Repositorio de scripts de ejemplo: http://www.microsoft.com/technet/scriptcenter/scripts/vs/default.mspx?mfr=true

Descarga PowerShell: http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx

Recuerda que durante la instalación de Virtual Server se crea en el menu de programas un acceso directo a la "programmer's guide donde podras encontrar tambien mucha información sobre el modelo de objetos de Virtual Server.

 

Posted: 14/5/2007 10:35 por Daniel Matey | con 6 comment(s)
Archivado en:
Cosas Interesantes 12/05/2007

Hoy en cosas interesantes: Viajando en el tiempo dentro del Directorio Activo con Longhorn, iFilter 64bits PDF, Scripta tus datos, Arquitectura de Exchange 2007, PowerShell en Linux, Libro gratuito sobre PowerShell.

Viajando en el tiempo dentro del Directorio Activo con Longhorn.

Con Longhorn es posible cargar instantáneas del AD y conectarnos a ellas para ver cómo estaba el directorio activo en un momento dado.

Es una funcionalidad increíble.

Mas información

iFilter 64bits PDF.

Foxit PDF IFilter is designed to help users to index a large amount of PDF documents and then quickly find text within these documents. The PDF documents can be files, email attachments or database records.

Foxit PDF IFilter supports following Microsoft products: Windows Indexing Service, MSN Desktop Search, Internet Information Server, SharePoint Portal Server, Windows SharePoint Services (WSS), Site Server, Exchange Server, SQL Server and all other products based on Microsoft Search technology. Hereafter, we use term "search engine" to refer to these products.

Mas información

Scripta tus datos.

Con este add-in para SQL Server podrás sacar un script de tus datos para ejecutarlos en otros servidores.

Mas información

Arquitectura de Exchange 2007.

Por fin!!, un documento que estaba esperando.

http://www.microsoft.com/downloads/details.aspx?FamilyID=b34fa7cc-8f13-4e21-ae87-eb824728ddd1&DisplayLang=en

PowerShell en Linux.

Resulta que alguien ha portado PowerShell a Linux (o eso dice él)

Mas información

Libro gratuito sobre PowerShell.

http://thepowershellguy.com/blogs/posh/archive/2007/05/10/free-english-version-of-windows-powershell-book-available-for-download.aspx

 

Lentitud en MOSS 2007

Por defecto los application pools sobre los que corramos nuestros sites de Sharepoint se reciclan todos los días a la 1:00 de la madrugada.

Este reciclado es muy beneficioso para la salud de Sharepoint pero tiene un efecto secundario muy incomodo y es que debido a ese reciclado se pierde toda la cache de compilaciones que ya teníamos motivo por el cual cada vez que entremos en una página por primera vez notaremos una lentitud extrema.

En el siguiente enlace podéis encontrar un script que programado convenientemente para ejecutarse después del reciclado nos permitirá hacer un warmup de todas las páginas de los sites que indiquemos de forma que después de correr ya no tengamos que sufrir esta lentitud.

http://www.pptspaces.com/sharepointreporterblog/Lists/Posts/Post.aspx?ID=24

Además el script es muy útil en las demos.

 

Posted: 11/5/2007 12:59 por Daniel Matey | con 1 comment(s)
Archivado en:
Viridian, mas cambios.

Lo bueno:

Se confirma el soporte de Viridian (Windows Server Virtualization) para:

-Soportar NLB dentro de las maquinas virtuales y de un virtual switch.

-Soporte nativo para clustering, lo cual si es añadido a un buen hardware de almacenamiento y dependiendo de la RAM asignada a la maquina virtual, puede significar menos de 5 segundos para el fail-over de una VM.

-Hasta 32Gb de Ram por maquina.

-Soporte para geo-clustering.

-VSS para sacar instantáneas y backups con las maquinas virtuales arrancadas.

Lo malo:

-En la primera versión solo soportara 16 Cores.

-Tampoco estara la feature de live migration.

-La beta saldra con la RTM de longhorn :-(.

Datos sacados de: http://blogs.technet.com/windowsserver/archive/2007/05/10/viridian-features-update-beta-planned-for-longhorn-rtm.aspx

 

Posted: 11/5/2007 9:21 por Daniel Matey | con 5 comment(s)
Archivado en:
100 Dias despues de Vista.

Mucho se ha hablado sobre si vista es o no un éxito, ahí queda la anécdota de china o los vaivenes del indeciso Dell, al final el análisis de las ventas de Vista en los 100 días posteriores a su lanzamiento arrojan que solo en los 30 primeros días ya se vendieron 20 millones de copias lo cual supone el doble que las vendidas por XP en el mismo periodo.

Según una encuesta de IDC el 25% de las grandes empresas ya están migrando a Vista con mayor o menor fuerza y se prevé que evidentemente de la mano de las ventas de ordenadores nuevos con el sistema ya pre instalado el número de ordenadores con Windows Vista crezca hasta los 100 millones antes de fin de año.

Tal vez la adopción de Vista por parte de las empresas nos pueda parecer lenta, pero recuerdo que vimos algo parecido con XP, es normal que el sector tenga miedo al cambio, especialmente cuando la mayoría de las empresas quiere aprovechar Vista para realizar mejoras en su plataforma cliente, lo cual requiere de tiempo para analizar correctamente cada caso.

Hay gente que ha criticado vista por los Drivers, hay que decir que Visa es compatible con 1.9 millones de dispositivos y que según el análisis de los errores enviados por los usuarios a Microsoft solo hay problemas con 70.000 de los cuales 4.000 producen el 80% de los problemas, sin duda es el soporte más amplio de Hardware del mercado.

En mi opinión Vista es el mejor sistema operativo que hemos tenido nunca, como sabéis mis opiniones son solo referidas al terreno Empresarial, donde Vista me permite un despliegue fantástico, que los usuarios no sean administradores locales sin sacrificar un soporte a usuarios sostenible, entornos mucho mas gestionados, buen rendimiento y estupenda productividad y por si fuera poco decenas de funcionalidades que permiten que el resto de la infraestructura pueda evolucionar.

Datos extraídos de: http://www.windowsitpro.com/Articles/ArticleID/96022/96022.html?Ad=1

Posted: 10/5/2007 6:20 por Daniel Matey | con 9 comment(s)
Archivado en:
WebCast sobre Virtual Server Scripting este Jueves

Este jueves a las 17:30 dará comienzo una WebCast impartida por mi sobre Scripting con Virtual Server, la agenda sera:

       Beneficios del uso de scripting.

       ¿Qué necesito para hacer y correr scripts?

       La seguridad en los scripts.

       ¿Para qué pueden ser útiles los scripts de VS 2005?

       Un repaso a las técnicas básicas de scripting.

       Scripting en Virtual Server 2005 R2.

       Powershell.

       Scripting con MOM 2005 y 2007.

       El futuro del scripting en entornos virtuales.

La webcast tendrá varias demos y creo que será interesante para todos los niveles.

Os podéis apuntar en:

http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032327772&EventCategory=4&culture=es-ES&CountryCode=ES

Espero veros a todos ;-)

Nuevo Management Pack de Operations Manager 2007 para HP StorageWorks.

HP ya tiene un sistio web la versión final del Management Pack de OM 2007 para monitorizar dispositivos de almacenamiento, estan soportados los siguientes productos:

  • HP StorageWorks Modular Storage Array 1000
  • HP StorageWorks Modular Storage Array 1500
  • HP StorageWorks Virtual Array 7110 and 7410
  • HP StorageWorks Modular Array and Enterprise Modular Array
  • HP StorageWorks 3000 and 5000 Enterprise Virtual Array
  • HP StorageWorks 4000, 6000 and 8000 Enterprise Virtual Array
  • HP StorageWorks XP 12000, 1024 and 128 Arrays
  • HP StorageWorks XP 10000, 512, and 64 Arrays
  • HP StorageWorks ESL E-Series Tape Libraries
  • HP StorageWorks EML E-Series Tape Libraries
  • HP StorageWorks ESL 9000 Series Tape Libraries
  • ESL 9000 Series Tape Libraries may require ETLA upgrade components for support)
  • Desgraciadamente al igual que anteriores versiones es necesario instalar un producto gratuito de HP denominado WEBES que se encarga de recoger los eventos de los dispositivos e introducirlos en OM.

    http://h18006.www1.hp.com/storage/SCOM_managementpack.html

    Posted: 8/5/2007 7:02 por Daniel Matey | con no comments
    Archivado en:
    Un vistazo rápido a WSUS 3.0 y PowerShell

    Soy un enamorado de PowerShell, me recuerda los viejos tiempos y me permite desarrollar mejores soluciones de automatización.

    Yo soy un fiel defensor de la automatización, me parece una herramienta fundamental para evitar errores humanos, mejorar los tiempos de respuesta y gestionar los cambios.

    Si vas a realizar un cambio y lo puedes meter en un script, correrlo en el entorno de pruebas, ver si funciona y finalmente ejecutar el mismo script en producción, te aseguraras de estar haciendo exactamente lo mismo y si el escenario de pruebas era una fiel reproducción del entorno de producción  tendremos la seguridad de que irá bien.

    Es más fácil de documentar pues basta con incluir el script en la gestión de cambios, además hoy en día es fácil contar con entornos de pruebas realistas gracias a las maquinas virtuales.

    Desde hace un tiempo estoy realizando además las pruebas también por script, de forma parecida a como en desarrollo se hacen las pruebas unitarias y de integración pero en sistemas, esto me permite ahorrar mucho tiempo a la hora de probar los cambios y garantizar que se han realizado todas las pruebas que se tienen que realizar antes de dar un cambio como nuevo.

    Como sabréis los scripts de powershell los podremos hacer con herramientas como el poweranalyzer o bien usar el bloc de notas, yo soy fan del bloc de notas también conocida como “la herramienta más poderosa jamás desarrollada”, a los scripts los tendremos que llamar con la extensión .PS1.

    Para poder ejecutar un script tendremos que haber configurado el entorno de powershell con una política de ejecución de scripts, esto indicara a powershell si puede ejecutar scripts no firmados o si es obligatorio firmarlos (entre otras opciones), mirar la documentación de powershell para mas información o bien usar el comando “get-help set-executionpolicy –detailed” para leer la ayuda en pantalla.

    Una vez que tengáis la política ya configurada podréis ejecutar los scripts.

    Lo primero que tendremos que hacer en el script, será indicar a PowerShell que cargue el assembly con la API de WSUS 3.0.

    [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null

    Después tendremos que crear un objeto que referencie al servidor wsus, en este caso lo haremos al servidor desde el que estamos corriendo el script.

    $wsus=[Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();

    Para ver todos los métodos y propiedades que nos expone el servidor podemos usar el cmdlet get-member.

    Por lo tanto el siguiente script:

    [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null
    $wsus=[Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();

    $wsus | get-member

    Nos devolverá esto:

    PS C:\Documents and Settings\Administrator.ADROOT> ./wsus2.ps1


       TypeName: Microsoft.UpdateServices.Internal.BaseApi.UpdateServer

    Name                                 MemberType Definition
    ----                                 ---------- ----------
    CancelAllDownloads                   Method     System.Void CancelAllDownloads()
    CreateComputerTargetGroup            Method     Microsoft.UpdateServices.Administration.IComputerTargetGroup CreateC.
    CreateInstallApprovalRule            Method     Microsoft.UpdateServices.Administration.IAutomaticUpdateApprovalRule.
    CreateObjRef                         Method     System.Runtime.Remoting.ObjRef CreateObjRef(Type requestedType)
    DeleteInstallApprovalRule            Method     System.Void DeleteInstallApprovalRule(Int32 ruleId)
    DeleteUpdate                         Method     System.Void DeleteUpdate(Guid updateId)
    Equals                               Method     System.Boolean Equals(Object obj)
    ExportUpdates                        Method     System.Void ExportUpdates(String packagePath, String logPath)
    GetChildServers                      Method     Microsoft.UpdateServices.Administration.DownstreamServerCollection G.
    GetCleanupManager                    Method     Microsoft.UpdateServices.Administration.ICleanupManager GetCleanupMa.
    GetComponentsWithErrors              Method     System.Collections.Specialized.StringCollection GetComponentsWithErr.
    GetComputersNotContactedSinceCount   Method     System.Int32 GetComputersNotContactedSinceCount(DateTime fromDate)
    GetComputerStatus                    Method     Microsoft.UpdateServices.Administration.UpdateServerStatus GetComput.
    GetComputersWithRecentNameChange     Method     System.Collections.Specialized.StringCollection GetComputersWithRece.
    GetComputerTarget                    Method     Microsoft.UpdateServices.Administration.IComputerTarget GetComputerT.
    GetComputerTargetByName              Method     Microsoft.UpdateServices.Administration.IComputerTarget GetComputerT.
    GetComputerTargetCount               Method     System.Int32 GetComputerTargetCount(), System.Int32 GetComputerTarge.
    GetComputerTargetGroup               Method     Microsoft.UpdateServices.Administration.IComputerTargetGroup GetComp.
    GetComputerTargetGroups              Method     Microsoft.UpdateServices.Administration.ComputerTargetGroupCollectio.
    GetComputerTargets                   Method     Microsoft.UpdateServices.Administration.ComputerTargetCollection Get.
    GetConfiguration                     Method     Microsoft.UpdateServices.Administration.IUpdateServerConfiguration G.
    GetContentDownloadProgress           Method     Microsoft.UpdateServices.Administration.ContentDownloadProgress GetC.
    GetCurrentUserRole                   Method     Microsoft.UpdateServices.Administration.UpdateServerUserRole GetCurr.
    GetDatabaseConfiguration             Method     Microsoft.UpdateServices.Administration.IDatabaseConfiguration GetDa.
    GetDownstreamServer                  Method     Microsoft.UpdateServices.Administration.IDownstreamServer GetDownstr.
    GetDownstreamServers                 Method     Microsoft.UpdateServices.Administration.DownstreamServerCollection G.
    GetEmailNotificationConfiguration    Method     Microsoft.UpdateServices.Administration.IEmailNotificationConfigurat.
    GetFailedToDownloadUpdatesCount      Method     System.Int32 GetFailedToDownloadUpdatesCount()
    GetFrontEndServers                   Method     System.Collections.ObjectModel.ReadOnlyCollection`1[[Microsoft.Updat.
    GetHashCode                          Method     System.Int32 GetHashCode()
    GetInstallApprovalRules              Method     Microsoft.UpdateServices.Administration.AutomaticUpdateApprovalRuleC.
    GetLifetimeService                   Method     System.Object GetLifetimeService()
    GetPublisher                         Method     Microsoft.UpdateServices.Administration.IPublisher GetPublisher(Stri.
    GetReplicaStatus                     Method     Microsoft.UpdateServices.Administration.UpdateServerStatus GetReplic.
    GetRootUpdateCategories              Method     Microsoft.UpdateServices.Administration.UpdateCategoryCollection Get.
    GetStatus                            Method     Microsoft.UpdateServices.Administration.UpdateServerStatus GetStatus.
    GetSubscription                      Method     Microsoft.UpdateServices.Administration.ISubscription GetSubscription
    GetSubscriptionEvent                 Method     Microsoft.UpdateServices.Administration.ISubscriptionEvent GetSubscr.
    GetSummariesPerComputerTarget        Method     Microsoft.UpdateServices.Administration.UpdateSummaryCollection GetS.
    GetSummariesPerUpdate                Method     Microsoft.UpdateServices.Administration.UpdateSummaryCollection GetS.
    GetSynchronizationInfo               Method     Microsoft.UpdateServices.Administration.ISynchronizationInfo GetSync.
    GetType                              Method     System.Type GetType()
    GetUpdate                            Method     Microsoft.UpdateServices.Administration.IUpdate GetUpdate(UpdateRevi.
    GetUpdateApproval                    Method     Microsoft.UpdateServices.Administration.IUpdateApproval GetUpdateApp.
    GetUpdateApprovals                   Method     Microsoft.UpdateServices.Administration.UpdateApprovalCollection Get.
    GetUpdateCategories                  Method     Microsoft.UpdateServices.Administration.UpdateCategoryCollection Get.
    GetUpdateCategory                    Method     Microsoft.UpdateServices.Administration.IUpdateCategory GetUpdateCat.
    GetUpdateClassification              Method     Microsoft.UpdateServices.Administration.IUpdateClassification GetUpd.
    GetUpdateClassifications             Method     Microsoft.UpdateServices.Administration.UpdateClassificationCollecti.
    GetUpdateCount                       Method     System.Int32 GetUpdateCount(), System.Int32 GetUpdateCount(UpdateSco.
    GetUpdateEventHistory                Method     Microsoft.UpdateServices.Administration.UpdateEventCollection GetUpd.
    GetUpdates                           Method     Microsoft.UpdateServices.Administration.UpdateCollection GetUpdates(.
    GetUpdatesAndApprovals               Method     Microsoft.UpdateServices.Internal.BaseApi.UpdatesAndApprovals GetUpd.
    GetUpdateStatus                      Method     Microsoft.UpdateServices.Administration.UpdateServerStatus GetUpdate.
    get_BypassApiRemoting                Method     System.Boolean get_BypassApiRemoting()
    get_IsConnectionSecureForApiRemoting Method     System.Boolean get_IsConnectionSecureForApiRemoting()
    get_IsServerLocal                    Method     System.Boolean get_IsServerLocal()
    get_Name                             Method     System.String get_Name()
    get_PortNumber                       Method     System.Int32 get_PortNumber()
    get_PreferredCulture                 Method     System.String get_PreferredCulture()
    get_ServerName                       Method     System.String get_ServerName()
    get_Version                          Method     System.Version get_Version()
    get_WebServiceUrl                    Method     System.String get_WebServiceUrl()
    HasApprovalsChanged                  Method     System.Boolean HasApprovalsChanged(String cookie)
    ImportUpdateFromCatalogSite          Method     System.Void ImportUpdateFromCatalogSite(String updateIdStr, String[].
    ImportUpdates                        Method     System.Void ImportUpdates(String packagePath, String logPath)
    InitializeLifetimeService            Method     System.Object InitializeLifetimeService()
    IsValidComputerTargetGroupName       Method     System.Boolean IsValidComputerTargetGroupName(String name)
    LogMessage                           Method     System.Void LogMessage(LogLevel logLevel, String message, Params Obj.
    RegisterComputer                     Method     Microsoft.UpdateServices.Administration.IComputerTarget RegisterComp.
    ResetAndVerifyContentState           Method     System.Void ResetAndVerifyContentState()
    ResumeAllDownloads                   Method     System.Void ResumeAllDownloads()
    RollupReportingData                  Method     System.Void RollupReportingData()
    SearchComputerTargets                Method     Microsoft.UpdateServices.Administration.ComputerTargetCollection Sea.
    SearchUpdates                        Method     Microsoft.UpdateServices.Administration.UpdateCollection SearchUpdat.
    set_PreferredCulture                 Method     System.Void set_PreferredCulture(String value)
    ToString                             Method     System.String ToString()
    BypassApiRemoting                    Property   System.Boolean BypassApiRemoting {get;}
    IsConnectionSecureForApiRemoting     Property   System.Boolean IsConnectionSecureForApiRemoting {get;}
    IsServerLocal                        Property   System.Boolean IsServerLocal {get;}
    Name                                 Property   System.String Name {get;}
    PortNumber                           Property   System.Int32 PortNumber {get;}
    PreferredCulture                     Property   System.String PreferredCulture {get;set;}
    ServerName                           Property   System.String ServerName {get;}
    Version                              Property   System.Version Version {get;}
    WebServiceUrl                        Property   System.String WebServiceUrl {get;}

    A partir de esto y con un poco de maña y conocimientos de PowerShell podremos hacer verdaderas virguerías.

    Una pista: el metodo GetComputerTargets() nos retornara una coleccion con todos los ordenadores administrados por el wsus al que estemos conectados, cada objeto de esa coleccion sera un ordenador y tendra sus propios metodos y propiedades que son:

    CreateObjRef
    Delete
    Equals
    GetComputerTargetGroups
    GetHashCode
    GetInventory
    GetLifetimeService
    GetParentServer
    GetType
    GetUpdateInstallationInfoPerUpdate
    GetUpdateInstallationSummary
    get_BiosInfo
    get_ClientVersion
    get_ComputerRole
    get_ComputerTargetGroupIds
    get_FullDomainName
    get_Id
    get_IPAddress
    get_LastReportedInventoryTime
    get_LastReportedStatusTime
    get_LastSyncResult
    get_LastSyncTime
    get_Make
    get_Model
    get_OSArchitecture
    get_OSDescription
    get_OSInfo
    get_ParentServerId
    get_RequestedTargetGroupName
    get_RequestedTargetGroupNames
    get_SyncsFromDownstreamServer
    get_UpdateServer
    InitializeLifetimeService
    PurgeAssociatedReportingEvents
    set_BiosInfo
    set_ClientVersion
    set_FullDomainName
    set_Id
    set_IPAddress
    set_LastReportedInventoryTime
    set_LastReportedStatusTime
    set_LastSyncResult
    set_LastSyncTime
    set_Make
    set_Model
    set_OSArchitecture
    set_OSInfo
    set_ParentServerId
    set_RequestedTargetGroupName
    ToString
    BiosInfo
    ClientVersion
    ComputerRole
    ComputerTargetGroupIds
    FullDomainName
    Id
    IPAddress
    LastReportedInventoryTime
    LastReportedStatusTime
    LastSyncResult
    LastSyncTime
    Make
    Model
    OSArchitecture
    OSDescription
    OSInfo
    ParentServerId
    RequestedTargetGroupName
    RequestedTargetGroupNames
    SyncsFromDownstreamServer
    UpdateServer

     

    Posted: 6/5/2007 19:55 por Daniel Matey | con 1 comment(s)
    Archivado en:
    WSUS 3.0, Evaluando la situación 3ª Parte: "Obteniendo la información para el informe"

    WSUS guarda su información en SQL Server 2005 SP1 o en una base de datos “interna” que es en realidad un SQL Server Express pero sin las herramientas de administración.

    La buena noticia es que podemos acceder a la información almacenada en la base de datos para crear nuestros propios informes.

    En este artículo veremos cómo recoger los datos básicos, que mas tarde uniremos con el directorio activo para generar un informe global de la situación de actualizaciones.

    La base de datos de WSUS se llama “SUSDB” y provee de una serie de vistas públicas que son las que se supone que deberíamos usar para crear nuestros informes.

    Desgraciadamente estas vistas son un tanto enrevesadas y no incluyen algunos datos que queremos así que tendremos que acceder directamente a las tablas en las que se almacena la información, usar las tablas no está recomendado ni soportado y hay que entender que cualquier Service Pack o actualización de WSUS podría modificar el esquema de dichas tablas y nuestros informes dejarían de funcionar.

    Tendremos que usar dos tablas.

    -tbComputerTarget, que contiene la lista de todos los ordenadores conectados al WSUS y su información básica como cuando se conectaron por última vez, la ip, etc.

    -tbComputerSummaryForMicrosoftUpdates, que nos permitirá saber cuántas actualizaciones tiene pendiente cada ordenador, cuantas ha instalado ya, etc.

    Estas dos tablas tienen un campo que nos permite unirlas y que se llama TargetID.

    Por lo tanto la siguiente instrucción creara una vista que nos dará una visión detallada del estado de las actualizaciones.

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE VIEW [dbo].[vWsusDetalle]

    AS

    select

          WSUSComputers.FullDomainName as [Nombre Maquina],

          WSUSComputers.LastSyncTime as [Ultima Sincronización],

          WSUSComputers.LastReportedStatusTime as [Ultima Conexión],

          WSUSSumary.Unknown as Desconocido,

          WSUSSumary.NotInstalled as [No Instaladas],

          WSUSSumary.Downloaded as [Necesarias],

          WSUSSumary.Installed as [Instaladas],

          WSUSSumary.Failed as [Errores],

          WSUSSumary.InstalledPendingReboot as [Pendientes De Reinicio]

     

    from

          tbComputerTarget WSUSComputers

    inner join

          tbComputerSummaryForMicrosoftUpdates WSUSSumary

    on

          WSUSComputers.TargetID= WSUSSumary.TargetID

    Para obtener una información sumariada usaremos esta otra query que aunque poco elegante es efectiva y nos mostrara cuantos ordenadores tenemos en cada situación y cuantos ordenadores están administrados por el WSUS.

    Select

          'Maquinas Administradas' as Contador,

          count(*) as Valor

    from

          vWsusDetalle

    Union All

    select

          'Desconocido/ No Aplicable' as Contador,

          count(*) as Valor

    from

          vWsusDetalle

    Where

          Desconocido > 0

    union all

    select

          'No Instaladas' as Contador,

          count(*) as Valor

    from

          vWsusDetalle

    where

          [No Instaladas]>0

    union all

    select

          'Necesarias' as Contador,

          count(*) as Valor

    from

          vWsusDetalle

    where

          Necesarias>0

    union all

    select

          'Con Errores' as Contador,

          count(*) as Valor

    from

          vWsusDetalle

    where

          Errores >0

    union all

    select

          'Pendientes De Reinicio' as Contador,

          count(*) as Valor

    from

          vWsusDetalle

    where

          [Pendientes De Reinicio] >0

    En la siguiente parte de esta serie de artículos veremos cómo unir estos datos con el directorio activo para saber cuántos ordenadores hay en total en el directorio activo que no se estén usando y cuantos hay que se están usando y no se están en contacto con el WSUS, después veremos cómo juntar todo esto en un informe hecho con Reporting Services.

    Posted: 6/5/2007 19:33 por Daniel Matey | con 2 comment(s)
    Archivado en:
    Management Pack de OM 2007 para SCVMM

    Los que me conocéis sabéis que no concibo los sistemas no monitorizados, así que con esta limitación que tengo, ver un management pack para MOM 2007 que me permite mejorar la monitorización de mi infraestructura virtual es sinónimo de tener que instalarlo.

    El Viernes por la noche me llego el correo que anunciaba que tenia disponible la beta del management pack para Virtual Machine Manager, tanto David Cervigón como yo lo estábamos esperando así que he estado esperando a tener un minuto para instalarlo y probarlo y aquí os dejo el proceso de instalación y algunos pantallazos para que podáis ver que incluye.

    Dado que al instalarlo también monta el MP de Virtual Server y hasta ahora no había hablado de el aprovecho para poner también alguna información sobre él.

    Instalación:

    La instalación es muy sencilla, lo unico que teneis que tener en cuenta es que antes de realizarla necesitais tener ya el MP de SQL Server 2005 y el del IIS.

    Importarmos el MP

    Y Listo:

    En el apartado de monitoring ya tendremos un nuevo grupo de vistas para VMM

    Y otro para virtual server

    La verdad es que estos dos management packs monitorizan y controlan un monton de aspectos, a continuación os pongo algunos pantallazos para que juzgueis por vosotros mismos el grado de detalle que contemplan.

    El numero total de vistas es tambien impresionante:

     

    Y por ultimo mi preferida la vista de diagrama, aqui teneis el diagrama de un servidor con 15 maquinas virtuales corriendo (no se por que lo separa en grupos de 4, pero lo he comprobado en dos servidores diferentes y sale asi siempre.

     

     

     

     

     

     

     

     

     

    Posted: 6/5/2007 19:09 por Daniel Matey | con no comments
    Archivado en:
    Instalación de SCVMM Beta 2

    Siguiendo la costumbre y para permitir curiosear a aquellos que no tengan tiempo para instalar el producto os muestro a continuación un paso a paso de la instalación del System Center Virtual Machine Manager Beta 2.

    Del producto solo puedo decir que es espectacular y que no puedo esperar a que salga la versión RTM y especialmente a ver como administra las maquinas virtuales de “Viridian” el hypervisor de Microsoft.

    Los prerrequisitos son sencillos, Framework 2.0 y Windows 2003 al menos con SP1, el setup se encargara de instalarnos el Framework 3.0 y la última versión del parser XML.

    El setup puede instalar un SQL por nosotros o bien le podemos indicar una instancia remota o local para que sea usara por el VMM para guardar su información.

    Para indicar la instancia por defecto, sera suficente con dejar vacio el cuadro de texto.

    El setup nos permite crear una libreria de maquinas virtuales en el propio equipo y crear un share para que pueda ser accedido por los servidores administrados o bien usar una libreria que tengamos ya montada en un share.

    El paso siguiente sera instalar la consola de administración, esta consola tambien la podemos instalar en otros servidores o puestos desde los cuales queramos administrar nuestra infraestructura virtual.

    VMM tiene una funcionalidad que consiste en un portal web que permite que los propios usuarios puedan crear maquinas virtuales basadas en plantillas, los administradores tienen que crear politicas para indicar que usuarios pueden y con que plantillas, tambien se pueden configurar cuotas y otras limitaciones.

    Instalar el portal es muy sencillo si tenemos IIS instalado y con el framework 2.0 habilitado para .Net.

    En producción recomiendo usar un header para diferenciarlo de otras webs en el servidor, tambien podemos cambiar el puerto.

    Ahora con todo instalado lo primero sera añadir un host para administrar, los servidores que queramos administrar tienen que tener los mismos requisitos que el servidor en el que hemos instalado el VMM.

    VMM necesita instalar un agente en los host para poder controlarlos, el Virtual Server de los hosts tiene que ser como minimo R2.

    Si añadimos un host que no tiene VS VMM lo instalara automaticamente.

    Ahora veamos como añadir el host para que sea administrado por VMM:

    Tengo que leer mas sobre esta opción de las DMZ ;-)

    Tendremos que indicar una cuenta con privilegios en el servidor remoto.

    Indicaremos una descripción que nos sea util y los puertos para acceder.

    Una de las cosas estupendas de VMM es que al igual que la consola de Exchange 2007, la consola de VMM nos permite siempre ver los scripts powershell para automatizar las acciones que estemos realizando.

    En unos segundos veremos como aparecen en la consola todas las maquinas virtuales del host que hemos añadido.

    Es espectacular la cantidad de opciones que tiene la consola.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Posted: 5/5/2007 21:59 por Daniel Matey | con 1 comment(s)
    Archivado en:
    SCVMM y las SAN: En un abrir y cerrar de ojos.

    Pese a que se que mi e-amigo “J.L”   me dirá que hacía esto en VMWare desde el principio de los tiempos ;-) os voy a contar una cosa que me gusta mucho del System Center Virtual Machine Manager.

    En una infraestructura moderna, lo normal será que los servidores de maquinas virtuales orientados a la consolidación, estén conectados a redes de almacenamiento SAN, ya sea por I-SCSI o por Fibra con sus correspondientes HBAs.

    Si este es el caso y los servidores son Windows 2003 R2 y nuestro hardware dispone de un driver VDS como por ejemplo pasa con las de HP (MSA 1000, 1500 y EVAS 3K,4K,5K,6K y algunas XP)  http://h18006.www1.hp.com/products/storageworks/vdsvsshard/index.html, entonces podremos usar VMM para traspasar las maquinas virtuales de unas maquinas a otras en cuestión de pocos segundos.

    Dado que con el VDS, el sistema operativo es capaz de controlar la asignación de LUNs a las maquinas conectadas a la SAN, VMM cambiara la asignación del LUN del disco duro lógico en el que este la maquina virtual para que el servidor origen deje de ver el disco y el servidor destino lo pueda ver y voila!!!! Ya tendremos nuestra maquina virtual cambiada de servidor y en segundos.

    VMM tiene un soporte fantástico para automatización tanto a través de los scripts típicos como del potentísimo PowerShell, lo cual hace muy fácil hacer un script que tome como parámetro la maquina virtual y el servidor destino y se encargue automáticamente de pausar la maquina, moverla y re arrancarla.

    En el sitio de connect para la beta 2 de VMM tenéis un documento específico sobre los requisitos y funcionamiento de esta estupenda feature aqui teneis el link https://connect.microsoft.com/vmm/Downloads/DownloadDetails.aspx?DownloadID=6238 .

    Posted: 5/5/2007 20:23 por Daniel Matey | con 5 comment(s)
    Archivado en:
    Video del primer tecnico de soporte a usuarios conocido hasta el momento.
    Posted: 5/5/2007 12:00 por Daniel Matey | con 7 comment(s) |
    Archivado en:
    WSUS 3.0, Evaluando la situación 2ª Parte: "haciendo limpieza".

    Antes de poder dar importancia a la información que nos pueda dar WSUS, es necesario asegurarnos de que su base de datos esta limpia.

    En WUS 3.0 podemos usar la consola para correr un wizard de limpieza.

    En las siguientes imagenes se puede ver paso a paso como limpiar el servidor de:

    • Actualizaciones y revisiones que no se utilizan
    • Equipos que no están en contacto con el servidor
    • Archivos de actualización que no se necesitan
    • Actualizaciones caducadas
    • Actualizaciones reemplazadas

    Si queremos programar la limpieza de equipos que no contactan con el servidor, podremos correr el siguiente script de powershell.

    #--------------------------------------------------------------------------------------------------
    #Script para borrar del WSUS los ordenadores o servidores que lleven mas de 30 dias sin conectarse.
    #WSUS 3.0
    #--------------------------------------------------------------------------------------------------
    # Daniel Matey 29/04/2007

    [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null
    $wsus=[Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();


    $WsusComputers = $wsus.GetComputerTargets()


    foreach ($computer in $WsusComputers)
    {

     $t = New-TimeSpan  $computer.LastReportedStatusTime $(Get-Date)

     IF ($t.Days -gt 30)
     {
          write-host $computer.FullDomainName " " $t.Days
          $computer.delete();
     }

     }
    #--------------------------------------------------------------------------------------------------

    En el siguiente articulo veremos como extraer de la base de datos WSUS la información que necesitaremos para nuestro informe. 

    Ver el resto de articulos de WSUS 3.0 en este blog

    Posted: 4/5/2007 13:09 por Daniel Matey | con 1 comment(s)
    Archivado en:
    WSUS 3.0, Evaluando la situación 1ª Parte: "no solo de tecnología vive el hombre".
    Tal y como ya conté en el post Dios no juega a los dados pero los CIOs si , el mantener los puestos, servidores y servicios actualizados es una de las obligaciones más importantes que existen dentro de una red y es un aspecto en el que no debemos aceptar riesgos.

    A la necesidad de mantener una infraestructura actualizada, Microsoft nos responde entre otras soluciones con WSUS 3.0, que es un producto gratuito que puede ser sin duda un muy buen punto de entrada para afrontar este gran reto.

    Si nuestras necesidades son superiores podremos evaluar soluciones como System Center Essentials 2007, SMS 2003 o el futuro System Center Configuration Manager para cubrirlas.

    Para los que ya tengáis WSUS 2.0, en breve publicare un artículo sobre como migrar de 2.0 a 3.0.

    Desgraciadamente, mantener la infraestructura actualizada no es solo un problema de implantar WSUS o realizar la inversión que puede suponer su despliegue en una empresa, para hacerlo bien será necesario que nos forcemos a tener unos objetivos y una metodología que nos permitan saber si estamos acometiendo bien nuestras responsabilidades.

    Los objetivos de calidad deben detallar al menos:

    -Qué porcentaje de los puestos y de los servidores tienen que estar administrados por WSUS.

    -Cuanto tiempo se tardara en probar y aprobar las actualizaciones en los diferentes tipos de puestos y servidores que tengamos.

    -Qué porcentaje de los puestos y servidores han de estar actualizados.

    Estos objetivos nos ayudaran a superarnos, pero una vez establecidos tendremos que desarrollar una metodología de seguimiento que estará compuesta por:

    -Informe de situación actual y evolución del sistema de actualizaciones: es un informe que tendremos que componer y que nos permitirá tener una visión clara y rápida de la situación actual y una serie de contadores de rendimiento  que expresen si estamos evolucionando positiva o negativamente, hablaremos de cómo crear este informe a lo largo de esta serie de artículos.

    La dificultad de este informe radica en tener que contrastar la información que nos provee WSUS en su base de datos con la información que tenemos en el directorio activo, de forma que podamos evitar por ejemplo preocuparnos por puestos que no están actualizados según WSUS pero que según el AD no se han usado durante un tiempo, uniendo la información de WSUS con la del Directorio Activo podremos orientar nuestros esfuerzos a donde son realmente necesarios y contar con una información realista de la situación.

    Recomiendo también vincular el informe al inventario, dado que puede darse el caso de que existan ordenadores que no estén en el directorio activo.

    El informe tiene que ser global y contener los datos de toda la infraestructura y por lo tanto sumariar los datos de todos los WSUS.

    -Reunión periódica del equipo de actualizaciones: esta reunión se realizara periódicamente, yo recomiendo que se realice cada semana los Viernes dado que los lunes la situación de las actualizaciones se puede haber visto afectada por el fin de semana.

    La reunión tendrá que tener una agenda cerrada en la cual figure la revisión en equipo del informe de situación actual, se valorara la evolución y se detallaran las acciones que se han de tomar a lo largo de la semana siguiente para mejorar la situación, también se detallaran las incidencias que se hayan recogido a lo largo de la semana en el "help desk"  sobre las actualizaciones , se explicaran al equipo los cambios que se hayan realizado sobre el sistema de actualizaciones y se verá si se ha cumplido con la planificación de tareas recogida en la reunión anterior, es muy importante lograr que el equipo entienda los objetivos y se implique en conseguirlos, en caso de haber cambios lo mejor es que sea el ejecutor del mismo el que lo cuente al equipo, en este punto es donde un buen líder de equipo sabrá implicar al equipo, ser duro con los objetivos y agradecido con los logros.

    -Reunión periódica con el responsable del departamento: Esta reunión que yo recomiendo que se realice cada mes o dos meses y si es posible lo mejor sería juntarla con otras revisiones como las de antimalware, evaluación de riesgos, etc, la reunión tendrá como objetivo hacer conocer al responsable del departamento la situación actual de actualizaciones de la infraestructura, el tiempo dedicado al mantenimiento y seguimiento del sistema de actualizaciones y los riesgos actuales si los hubiera, el numero de incidencias abiertas y los tiempos medios de resolución, también se le presentara una estimación de la planificación del siguiente periodo  hasta la próxima reunión y si fuera necesario se le solicitarían los recursos que pudieran ser necesarios.

    Tendremos que contar también con varios procedimientos y otros documentos:

    • - Sistema de actualizaciones.
      • Detalla el diseño y funcionamiento de WSUS en la infraestructura así como la arquitectura del servicio, los diagramas de servicio y los servidores usados.
      • También explica la metodología que se usara para el seguimiento de la calidad del servicio.
    • - Procedimiento para la instalación y configuración del servidor cabecera de WSUS.
    • - Procedimiento para la instalación y configuración de un servidor replica de WSUS.
    • - Manual de operaciones generales de WSUS.
    • - Gestión de aprobaciones de WSUS.
      • Detalla el proceso de pruebas de las actualizaciones haciendo referencia a los documentos de testing de cada sistema que contengan las pruebas unitarias a realizar antes de poder dar una actualización como válida para los servidores y puestos del entorno de producción.
      • También explica a quien hay que comunicar las aprobaciones y como introducir los cambios en el sistema de gestión de cambios.
    • - Resolución de problemas de WSUS.
      • Guía para resolver los problemas que se pueden encontrar en el día a día del mantenimiento de WSUS, las GPOs asociadas y
    • - Reunión de seguimiento.
      • Agenda, acta, acciones a realizar y datos que se han de contemplar en la reunión.
    • - Recuperación del sistema de actualizaciones.
      • Procedimiento de recuperación parcial o total del sistema de actualizaciones tras una contingencia o desastre.

    A parte de estos documentos, suelo encontrar muy útil, crear un cuadro de mandos en la intranet del departamento de informática con el estado en tiempo real del sistema de actualizaciones y el grado de cumplimiento de los objetivos, lo ideal es que este cuadro de mandos y toda la documentación asociada este en un subsite especifico para esta parte tan importante de las responsabilidades de un departamento de informática.

    En el próximo articulo veremos cómo mantener limpia la base de datos de WSUS, y mas adelante hablaremos del informe.

    ¿cuanto cuesta System Center Essentials?

    Ayer en una reunión en Microsoft salio el tema del precio de Essentials y la verdad es que es asombroso pensar que se pueden tener los puestos controlados por menos de 20$ al año que ahora mismo no se cuanto sera al cambio pero que desde luego no es dinero para la cantidad de funcionalidades que da el producto y para lo sencillo que es montarlo y ponerlo en marcha.

    Products Prices Features

    Server License Offerings*



    Essentials 2007

    $2,000 U.S.

    Management server license for full application, server, and client management. Includes MLs to manage 10 Windows-based server OSEs and 50 Windows-based PC OSEs.

    Essentials 2007 with SQL Server Technology

    $2,929 U.S.

    Management server license for full application, server, and client management. Includes MLs to manage 10 Windows-based server OSEs and 50 Windows-based PC OSEs, and runtime-restricted version of SQL Server 2005 Standard Edition.

    Management License (ML) Offerings



    Essentials Server ML (5 MLP)

    $500 U.S.

    Includes MLs for management of 5 Windows-based server OSEs.

    Essentials Server ML (single license)

    $100 U.S.

    Includes ML for management of 1 Windows-based server OSEs.

    Essentials Client ML (20 MLP)

    $400 U.S.

    Includes MLs for management of 20 Windows-based PC OSEs.

    Essentials Client ML (5 MLP)

    $100 U.S.

    Includes MLs for management of 5 Windows-based PC OSEs.

     http://www.microsoft.com/systemcenter/sce/howtobuy/default.mspx

    Posted: 4/5/2007 6:51 por Daniel Matey | con 1 comment(s)
    Archivado en:
    WSUS 3.0 1ª Parte: Instalando.

    En este articulo vamos a ver un paso a paso de la instalación de WSUS 3.0.

    Con WSUS podemos elegir no guardar las actualizaciones en local, con lo cual ahorraremos espacio en disco a costa de ancho de banda y mas lentitud a la hora de realizar las actualizaciones.

    WSUS puede instalar una base de datos interna (SQL Server especializado) o bien usar un SQL Server en local o remoto.

    Siempre es recomedable crear un site independiente para el WSUS, despues crearemos un alias en el DNS y pondremos un host header en el sitio configurado para responder solo al nuevo alias, de esta forma si el dia de mañana movemos el wsus de sitio o necesitamos montar un balanceo lo tendremos mucho mas facil.

    Un servidor de WSUS puede replicar de otros WSUS para ahorrar ancho de banda o directamente de Microsoft.

    Un servidor replica es lo que montaremos en las delegaciones, de esta forma solo aprobaremos las actualizaciones en un servidor y el resto de replicas sincronizaran esas aprobaciones reduciendo asi él trabajo necesario.

    En WSUS 3.0 las replicas informan al servidor upstream del estado de las actualizaciones.

    Solo los upstream servers necesitaran de acceso al proxy, recomiendo usar una cuenta especial que solo tenga privilegios para acceder a los sitios necesarios, en general no me gusta dar acceso a internet a cuentas de servicio como en este caso es obligatorio lo minimo que podemos hacer es restringir todo lo que podamos este acceso.

    La lista de productos ya es impresionante

    El poder montar drivers, feature packs, etc es una gran funcionalidad.

    Lo normal es configurar WSUS para que se actualize una vez al dia.

    En la siguiente parte, hablaremos de la configuración de grupos de ordenadores, el proceso de aprobación  y la creación de informes personalizados.

     

    Forefront Client Security 1ª Parte : Instalando.
    Forefront Client Security (FCS) es el primer antivirus para puesto de Microsoft orientado a entornos empresariales, sus puntos fuertes son la gran integración con el entorno de productos Microsoft y un menor coste de mantenimiento que otros productos del mercado.

    En este post vamos a ver como instalar FCS en un solo servidor, en entornos grandes con muchos puestos será necesario montar varios servidores para asegurarse el mejor rendimiento, hasta el momento he llegado a realizar algún diseño con 7 servidores dedicados pero estaríamos hablando de más de una docena de miles de puestos, lo cual no será el caso normal.

    No voy a detallar aquí el funcionamiento de FCS ya que ese artículo lo veréis dentro de poco en una revista especializada, empecemos ahora con la instalación del producto.

    Requisitos:

    En las betas de FCS uno de los elementos más difíciles era sin duda montar todos los prerrequisitos, en la versión RTM es mucho más fácil, si cumplís con lo que pongo a continuación todo irá como la seda.

    Windows 2003 Server SP1 mínimo, actualizado y formando parte de un dominio.

    SQL Server 2005 Estándar SP1 o SP2 con una collation case-insensitive, con los componentes que veis en la siguiente imagen.

    Framework 2.0

    IIS con ASP.Net activado.

    WSUS 2 o 3, recomiendo el 3.

    MMC 3.0, GPMC SP1.

    Unos 9Gb de espacio en disco y  una maquina potente (4gb de ram y 2 cores)

    Necesitareis varias cuentas de servicio para poder instalar todo bien:

    Account

    Type

    Description

    Data Access Server (DAS) account

    Domain user and, in some cases, local administrator on collection server

    If you are reusing the DAS account for the action account, you must grant the DAS account local administrator privileges on the collection server.

    The collection server uses the DAS account to access the collection database.

    Client Security automatically grants the DAS account permissions as part of setup.

    Reporting account

    Domain user

    The reporting server uses the reporting account to access the reporting database and the collection database.

    Action account

    Domain user and local administrator on the collection server

    The action account must be a local administrator on the collection server. You must either grant the action account these privileges, or if you're reusing the DAS account for the action account, grant the DAS account these privileges.

    The collection server uses the action account to run server-side scripts and security state assessment scans. The action account must be a domain user account.

    Data Transformation Services (DTS) account

    Domain user

    The reporting server uses the DTS account to run a Windows Scheduler task (a DTS job) that transfers data from the collection database to the reporting database.

    Otro consejo el agente de SQL tiene que estar en automático

    A continuación os muestro el paso a paso de la instalación de todos los componentes en un solo servidor:

    Usare la cuenta de administrador, pero en producción teneis que crear las cuentas que se han mencionado antes en este mismo articulo.

    Una vez instalado ya podemos acceder a la consola.

    Y por supuesto a lo mejor, los informes

    En la siguiente parte os contare como crear una politica para instalar los agentes en los puestos y servidores y configurar las actualizaciones y protecciones.

    Más artículos Página siguiente >