pacampos's profilePcamposs BlogsPhotosBlogLists Tools Help

Blog


    July 29

    MCTS Hyper-v + Isa Server

    mctstum
    Hola a todos… ayer en un maratónico viaje a Santiago, distante a unos 550 Km de mi casa, rendí el examen
      70-351: TS: Microsoft Internet Security and Acceleration (ISA) Server 2006
      70-652: TS: Windows Server Virtualization, Configuring

    Como muchos ya saben no puedo contar detalles de los contenidos, pero el de hyper-v con pura practica “+6 Mese” y sin estudio se puede pasar… El isa es tema aparte.. creo saber arto de isa, pero = lo encontré difícil.. arta experiencia en todas la facetas tanto Enterprise como estándar y un buen resto de documentación

    Después de los exámenes fui a Microsoft Chile a dictar una charla de vitalización dentro del ciclo de conferencias Técnicas junto a Gonzalo Balladares y Jorge Díaz, que según los comentarios de los asistentes estuvo muy buena y avanzada

    En el próximo post les subo las PPts y el Webcast de la Charla

    Actualizado: Gonzalo Balladares ya subio las PPTS Aqui

    Salu2 a todos

    July 10

    Comprobar conectividad WMI con WBEMTEST

    Hola a todos.

    Estoy tratando de ocupar el Microsoft Assessment and Planning Toolkit, el cual usa WMI para hacer las consultas al sistema operativo….

    ¿'Pero como comprobamos que el computador de destino responde consultas  WMI ?

    Existe un programita llamado WBEMTEST

    image

    Presionamos conectar … y en el área donde dice “Espacio de nombres” reemplazamos root\cimv2 por \\IP_DESTINO\root\cimv2 , donde IP_DESTINO es la ip del servidor que le queremos hacer una consulta WMI. En usuario y contraseña ocupamos credenciales que tengan los privilegios suficientes para hacer estas consultas. Si esta en un dominio usen DOMINIO\usuario.

    Si todo salió bien deberían ver esta pantalla

    image

    Presionamos el botón consulta y escribimos una consulta WMI, por ejemplo “select * from win32_Processor”

    image

    Si me muestra el resultado … todo salió OK

    image

    eso no + Salu2

    July 06

    Importanto Maquina Virtual con POwerShell

    #Nombre del Servidor hyper-v
    $HyperVHostOrigen="hyperv-01"
    #Carpeta donde reside el Export Anterior
    $dirMaquina = "D:\Backup\Backup_2009_7_6\2008"
    #Instanciamos el Servicio de VMM
    $VM_Service = get-wmiobject -computer $HyperVHostOrigen -namespace root\virtualization -class Msvm_VirtualSystemManagementService
    #Importamos la maquina
    $Status = $VM_Service.ImportVirtualSystem("$dirmaquina", $True) 
    If ($status.ReturnValue -eq 4096)
    {
       
    $Job = [WMI]$Status.Job
       
    $JobStatus = $Job.JobState
       
    while ($JobStatus -ne 7)
       
    {
           
    sleep(1)
           
    $Job = [WMI]$Status.Job
           
    $JobStatus = $Job.JobState
           
    echo $job.PercentComplete
       
    }
    }
     

    Administrando SnapShots con PowerShell + Wmi

    Estos Script los saque de
    http://blogs.msdn.com/taylorb/archive/2008/06/16/hyper-v-wmi-creating-applying-deleting-virtual-machine-snapshots.aspx

    Modifique algunas cosas, ya que en la infraestructura de prueba tenemos 2 Hyper-v Server que no tienen powershell y otro hyper-v full que si la tiene, estos scripts se ejecutan desde un servidor remoto a los hyper-v Server que no tienen PS

    Tomando SnapShots

    $SERVER_HOST = "hyperv-01"
    $MasterVM = "2008"
    $VM_Service = get-wmiobject -computer $SERVER_HOST -namespace root\virtualization -class Msvm_VirtualSystemManagementService
    $SourceVm = Get-WmiObject -Namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='$MasterVM'" -ComputerName $SERVER_HOST
    $result = $VM_Service.CreateVirtualSystemSnapshot($SourceVm)

     

    Eliminando Snpashot de mas de 7 dias de antiguedad

    $SERVER_HOST = "hyperv-01"
    $MasterVM = "2008"
    $VM_Service = get-wmiobject -computer $SERVER_HOST -namespace root\virtualization -class Msvm_VirtualSystemManagementService
    $SourceVm = Get-WmiObject -Namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='$MasterVM'" -ComputerName $SERVER_HOST
    $Snapshots = Get-WmiObject -Namespace root\virtualization -Query "Associators Of {$SourceVm} Where AssocClass=Msvm_ElementSettingData ResultClass=Msvm_VirtualSystemSettingData" -ComputerName $SERVER_HOST
    foreach ($Snapshot in $Snapshots)
    {
       
    $NombreFecha=$Snapshot.ElementName
       
    $Fecha=$NombreFecha.Substring($MasterVM.Length+4,10)
       
    if ((Get-date).AddDays(-1) -gt ([datetime]::ParseExact($Fecha, "dd-MM-yyyy", $null))) 
       
    {
           
    $result = $VM_Service.RemoveVirtualSystemSnapshot($Snapshot) 
       
    } 
    }

    July 02

    Exportar Maquinas Virtuales con PowerShell +WMI

    #Selecciono el hyper-v de Origen puede ser hyper-v en modo core o GUI
    $HyperVHostOrigen="hyperv-01"
    #Nombre de la maquina virtual a respaldar
    $MasterVM="2008"
    #Carpeta de destino del respaldo
    $fecha = get-date
    $dirMaquina = "D:\Backup\" + "Backup_" + $fecha.year + "_" + $fecha.month + "_" + $fecha.day 

    $VM_Service = get-wmiobject -computer $HyperVHostOrigen -namespace root\virtualization -class Msvm_VirtualSystemManagementService
    $SourceVm = Get-WmiObject -Namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='$MasterVM'" -ComputerName $HyperVHostOrigen
    #Nos aseguramos que la maquina quede en estado Guardado
    $SourceVm.RequestStateChange(32769)
    #Le damos unos 15 segundos para que se pueda gurdar la maquina 
    sleep(15)
    #Exportamos la maquina virtual
    $Status = $VM_Service.ExportVirtualSystem($SourceVm.__PATH, $True, $dirMaquina) 

    #Generamos un par de validaciones para ver cuando se termine el trabajo
    If ($status.ReturnValue -eq 4096)
    {
       
    $Job = [WMI]$Status.Job
       
    $JobStatus = $Job.JobState
       
    while ($JobStatus -ne 7)
       
    {
           
    sleep(1)
           
    $Job = [WMI]$Status.Job
           
    $JobStatus = $Job.JobState
           
    echo $job.PercentComplete
       
    }
    }
    #Iniciamos la amquina virtual
    $MaquinaFuente.RequestStateChange(2)

     

    image


    PD: Los valores de los RequestStateChange los saque del sitio de MSDN  http://msdn.microsoft.com/en-us/library/cc723874%28VS.85%29.aspx