Publicado en Windows

Get-SCVMMInventory – Get Inventory of all VM’s in SCVMM (2012 R2/2016 and more)

Entrada actualizada para agregar compatibilidad con SCVMM 2016

Credits are from https://vniklas.djungeln.se/2013/09/29/ Niklas AkerlundGet an inventory of all VM’s from System Center Virtual Machine Manager including the vCPU’s, memory, all VHD´s, IP addresses.  Report to CSV and HTML. Adapted to work with last actuallly SCVMM version 3.2.8224

__________________________

Créditos son de Niklas AkerlundGet https://vniklas.djungeln.se/2013/09/29/

Exportar un inventario de todas las VM’s es SCVMM. Se exporta a CSV y HTML, compatible con la 3.2.8224 /SCVMM 2016 y más.

Get an inventory of all VM’s from System Center Virtual Machine Manager including the vCPU’s, memory, up to 3 VHD´s, up to 4 interfaces and IP addresses.  Report to CSV and HTML. Adapted to work with SCVMM version 3.2.8224. and at least SCVMM 2016 UR7

Thanks to @leleco for the suggestions and collaboration improvements

Example:

Get-SCVMInventory -report

Give a reports for «All Hosts»

Get-SCVMInventory -VMHost SERVER01

Give data from SERVER01 Hyper-v Host.

Publicado también en https://gallery.technet.microsoft.com/scriptcenter/Get-SCVMMInventory-Get-053afdc1


function Get-SCVMInventory
{
    [CmdletBinding()]

    Param
    (

        $VMHostGroup = "All Hosts",
        [Parameter(ValueFromPipeline=$True)][Alias('ClusterName')]
        $VMHostCluster = $null,
        $VMHost = $null,
        [switch]$report,
        [string]$path =".\",
        [string]$CSVFile = "VMdata.csv",
        [string]$HTMLReport = "VMdata.html"
    )

    Begin
    {
        if(!(Get-Module virtualmachinemanager)){
            Import-Module Hyper-V
            Import-Module virtualmachinemanager
        }
        if(Get-SCVMMServer localhost | where ProductVersion -gt 3){
            $isR2 = $true
        }else{
            $isR2 = $false
        }
    }
    Process
    {
         if ($VMHostCluster -eq $null){
            if($VMHost -eq $null){
                $VMHosts = (Get-SCVMHostGroup -Name $VMhostGroup).AllChildHosts
            }else{
                $VMHosts = Get-SCVMHost $VMHost
            }
         }else{
            $VMHosts = (Get-SCVMHostCluster -Name $VMHostCluster).Nodes
         }
            $VMs = $VMHosts | Get-SCVirtualMachine
            $reportArray = @()
            foreach ($VM in $VMs){
                Write-Verbose $VM.Name
                    $vNics = $VM.VirtualNetworkAdapters
                    $VHDConf = $VM.VirtualHardDisks
                    $driveConf = $VM.VirtualDiskDrives
                    if(($vNics[0].IPv4Addresses -ne $null)){
                        Write-Verbose $vNics[0].IPv4Addresses[0]
                        $IPAddress1 = $vNics[0].IPv4Addresses[0]

                    }else{
                        if (!$isR2){
                            if(($vNics[0].IPv4Addresses -ne $null)){
                            $IPAddress1= (Hyper-V\Get-VMNetworkAdapter -ComputerName $VM.HostName -VMName $VM.Name).IPv4Addresses[0]
                            }else{
                                $IPAddress1 = "N/A"
                            }
                        }else{
                            Write-Verbose "NO IP"
                            $IPAddress1 = "N/A"
                        }
                    }
                    if(($vNics[1].IPv4Addresses -ne $null)){
                        Write-Verbose $vNics[1].IPv4Addresses[0]
                        $IPAddress2 = $vNics[1].IPv4Addresses[0]

                    }else{
                        if (!$isR2){
                            if(($vNics[1].IPv4Addresses -ne $null)){
                            $IPAddress2= (Hyper-V\Get-VMNetworkAdapter -ComputerName $VM.HostName -VMName $VM.Name).IPv4Addresses[0]
                            }else{
                                $IPAddress2 = "N/A"
                            }
                        }else{
                            Write-Verbose "NO IP"
                            $IPAddress2 = "N/A"
                        }
                    }
                    if(($vNics[2].IPv4Addresses -ne $null)){
                        Write-Verbose $vNics[2].IPv4Addresses[0]
                        $IPAddress3 = $vNics[2].IPv4Addresses[0]

                    }else{
                        if (!$isR2){
                            if(($vNics[2].IPv4Addresses -ne $null)){
                            $IPAddress3= (Hyper-V\Get-VMNetworkAdapter -ComputerName $VM.HostName -VMName $VM.Name).IPv4Addresses[0]
                            }else{
                                $IPAddress3 = "N/A"
                            }
                        }else{
                            Write-Verbose "NO IP"
                            $IPAddress3 = "N/A"
                        }
                    }
                    if(($vNics[3].IPv4Addresses -ne $null)){
                        Write-Verbose $vNics[3].IPv4Addresses[0]
                        $IPAddress4 = $vNics[3].IPv4Addresses[0]

                    }else{
                        if (!$isR2){
                            if(($vNics[3].IPv4Addresses -ne $null)){
                            $IPAddress4= (Hyper-V\Get-VMNetworkAdapter -ComputerName $VM.HostName -VMName $VM.Name).IPv4Addresses[0]
                            }else{
                                $IPAddress4 = "N/A"
                            }
                        }else{
                            Write-Verbose "NO IP"
                            $IPAddress4 = "N/A"
                        }
                    }
                    if($VM.VMCheckpoints){
                    $Snapshots = "Yes"
                    }else{
                    $Snapshots = "No"
                    }

                    $data = [ordered]@{
                    VMName = $VM.Name
                    vCPUs = $VM.CPUCount
                    
                    MemoryAssignedMB = $VM.MemoryAssignedMB
                    Status = $VM.Status
                    OperatingSystem = $VM.OperatingSystem
                    HostName = $VM.HostName
                     TotalSizeGB = $VM.TotalSize/1GB -as [int]
                    vNics = $vNics.Count                                                         
                    VirtualNetwork1 = $vNics[0].VirtualNetwork
                    MacAddressType1 = $vNics[0].MacAddressType
                    MacAddress1 = $vNics[0].MacAddress
                    VirtualNetworkAdapterType1 = $vNics[0].VirtualNetworkAdapterType
                    VLANEnabled1 = $vNics[0].VlanEnabled
                    VLanID1 = $vNics[0].VlanID 
                    IPAddress1 = $IPAddress1

                    VirtualNetwork2 = $vNics[1].VirtualNetwork
                    MacAddressType2 = $vNics[1].MacAddressType
                    MacAddress2 = $vNics[1].MacAddress
                    VirtualNetworkAdapterType2 = $vNics[1].VirtualNetworkAdapterType
                    VLANEnabled2 = $vNics[1].VlanEnabled
                    VLanID2 = $vNics[1].VlanID 
                    IPAddress2 = $IPAddress2

                    VirtualNetwork3 = $vNics[2].VirtualNetwork
                    MacAddressType3 = $vNics[2].MacAddressType
                    MacAddress3 = $vNics[2].MacAddress
                    VirtualNetworkAdapterType3 = $vNics[2].VirtualNetworkAdapterType
                    VLANEnabled3 = $vNics[2].VlanEnabled
                    VLanID3 = $vNics[2].VlanID 
                    IPAddress3 = $IPAddress3

                    VirtualNetwork4 = $vNics[3].VirtualNetwork
                    MacAddressType4 = $vNics[3].MacAddressType
                    MacAddress4 = $vNics[3].MacAddress
                    VirtualNetworkAdapterType4 = $vNics[3].VirtualNetworkAdapterType
                    VLANEnabled4 = $vNics[3].VlanEnabled
                    VLanID4 = $vNics[3].VlanID 
                    IPAddress4 = $IPAddress4

                    NumberofVHD = $VHDConf.Count
                    VHDName = $VHDConf[0].Name
                    VHDFormatType = $VHDconf[0].VHDFormatType
                    VHDType = $VHDconf[0].VHDType
                    VHDSize = $VHDconf[0].MaximumSize/1GB -as [int]
                    VHDCurrentSize = $VHDconf[0].Size/1GB -as [int]
                    VHDBusType = $driveConf[0].BusType
                    VHDBus = $driveConf[0].Bus
                    VHDLUN = $DriveConf[0].Lun
                    VHDDatastore = $VHDconf[0].Directory

                    VHDName2 = $VHDConf[1].Name
                    VHDFormatType2 = $VHDconf[1].VHDFormatType
                    VHDType2 = $VHDconf[1].VHDType
                    VHDSize2 = $VHDconf[1].MaximumSize/1GB -as [int]
                    VHDCurrentSize2 = $VHDconf[1].Size/1GB -as [int]
                    VHDBusType2 = $driveConf[1].BusType
                    VHDBus2 = $driveConf[1].Bus
                    VHDLUN2 = $DriveConf[1].Lun
                    VHDDatastore2 = $VHDconf[1].Directory

                    VHDName3 = $VHDConf[2].Name
                    VHDFormatType3 = $VHDconf[2].VHDFormatType
                    VHDType3 = $VHDconf[2].VHDType
                    VHDSize3 = $VHDconf[2].MaximumSize/1GB -as [int]
                    VHDCurrentSize3 = $VHDconf[2].Size/1GB -as [int]
                    VHDBusType3 = $driveConf[2].BusType
                    VHDBus3 = $driveConf[2].Bus
                    VHDLUN3 = $DriveConf[2].Lun
                    VHDDatastore3 = $VHDconf[2].Directory

                    StartMemoryGB = $VM.Memory/1024
                    DynamicMemory = $VM.DynamicMemoryEnabled
                    DynamicMemoryDemandMB = $VM.DynamicMemoryDemandMB
                    DynamicMemoryStatus = $VM.DynamicMemoryStatus -as [int]
                    DynamicMemoryMinMB = $VM.DynamicMemoryMinimumMB -as [int]
                    DynamicMemoryMaxGB = $VM.DynamicMemoryMaximumMB/1024 -as [int]
                    HasSnaphots = $Snapshots
                    Owner = $VM.Owner
                    Cloud = $VM.Cloud
                    CreationTime = $VM.CreationTime
                    HasVMAdditions = $VM.HasVMAdditions
                    VMAddition = $VM.VMAddition
                   
            }
            $obj= New-Object -TypeName PSObject -property $data
            $reportArray +=$obj 
            Write-Output $obj
            }

            if($report){
                # $reportArray
                $CSVReport = $path + $CSVFile
                $HTMLReport = $path + $HTMLReport
                $reportArray | Export-Csv -Path $CSVReport -NoTypeInformation -UseCulture
                $reportArray | ConvertTo-HTML | Out-File $HTMLReport
            }
    }
    End
    {
        # Should we clean anything?
    }
}
Publicado en Informatica, Musica, Ubuntu, Windows

Banshee en Windows

Luego de la nota vista en http://www.omgubuntu.co.uk/2011/02/banshee-pre-alpha-for-windows-a-quick-run-down/ intentamos bajar el instalador pero no está disponible, así que lo compilamos.

Banshee for Windows

Para ello seguimos el corto link de Banshee http://banshee.fm/download/development/#windows

  • Install Dependencies

    • .NET 3.5 SP1 or higher
    • msysgit with these options:
      • «Run Git from the Windows Command Prompt (only adds git to PATH)»
      • «Always use Windows line endings»
      • Optionally, install TortoiseGit for a GUI git environment
      • Github has a nice guide for getting started with git on Windows.
  • Download and run checkout-banshee.bat

    • This script will clone Banshee from git (and a couple submodules).
    • You can double click it to run it. It will check Banshee out into a banshee subfolder where the script is located.
  • Build Banshee

    • With your favorite IDE (MonoDevelop (FOSS, preferred), VisualStudio, SharpDevelop), openBanshee.sln
    • Or run the build\windows\build-banshee.bat script, which calls msbuild directly
  • Sólo falto agregar  Wix 3.5 desde http://wix.sourceforge.net/downloadv35.html en mi caso baje la version 3.6.1321.0 desde http://wix.sourceforge.net/releases/ (Esto es para crear el paquete MSI)

    Luego de correr los procesos acá descriptos ejecutamos build-installer.js en la carpeta \banshee\build\windows y esto nos generó el instalador Banshee-1.9.3.msi 28 mb en este caso.

    Interesante para usarlo también en Windows

    Share

    Publicado en Internet, Ubuntu, Windows

    Unetbootin

    Unetbootin es una excelente herramienta para convertir imágenes ISO en un Live USB.

    Si usamos Ubuntu y queremos agregarlo a los repositorios.

    https://launchpad.net/~gezakovacs/+archive/ppa

    Tipeamos en la terminal

    sudo add-apt-repository ppa:gezakovacs/ppa

    Luego

    sudo apt-get update

    sudo apt-get install unetbootin

    La Pagina oficial es http://unetbootin.sourceforge.net/ desde alli pueden bajar paquetes para Windows y Linux

    Share

    Publicado en Seguridad, Windows

    MS lnk vulnerabilidad – CVE-2010-2568

    Se hace público el exploit de la última (y grave) vulnerabilidad en Windows. Es una forma totalmente nueva de ejecutar código en Windows cuando se inserta un dispositivo extraíble, independientemente de que se hayan tomado todas las medidas oportunas conocidas hasta el momento para impedirlo. El fallo se aprovecha a través de archivos LNK (accesos directos) y supone un duro varapalo para Microsoft, pues los atacantes han conseguido descubrir la manera de eludir todas las medidas que se han tomado contra la ejecución automática en Windows.
    Ya se han hecho públicos todos los detalles y la posibilidad de aprovechar el fallo está al alcance de cualquiera. La situación es, por tanto, muy grave. Se espera pues un incremento de malware que se propague por dispositivos extraíbles puesto que en estos momentos (y hasta que Microsoft saque un parche), todos los Windows, independientemente de que esté actualizados y bien configurados, podrían llegar a ejecutar un fichero de forma «silenciosa» si se inserta un dispositivo extraíble como una llave USB.
    Acá les dejo un video aprovechando este exploit


    Por ahora, la única forma de que la vulnerabilidad no funcione es realizando el siguiente cambio (aunque se perderá funcionalidad, por lo que es conveniente realizar una copia de seguridad para restaurar el valor cuando el problema esté solucionado):

    * Poner en blanco el valor predeterminado (default) de la rama del
    registro:
    HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler

    * Detener y deshabilitar el servicio «cliente web» (WebClient)

    No está de más recordar que no se deben usar dispositivos extraíbles de dudosa procedencia. Aun así, se deben tomar las precauciones oportunas incluso contra los dispositivos en los que se confíe.
    Lo más probable es que Microsoft publique el parche en cuanto esté disponible, independientemente de su ciclo de actualizaciones. Ahora que el problema es público y puede ser aprovechado por cualquiera, suponemos que muy posiblemente se adelante con respecto a la siguiente tanda de parches (programada para el 10 de agosto) o se retrase levemente con respecto a ésta. Esperamos en cualquier caso que no haya que esperar hasta septiembre para obtener una solución oficial.
    El documento con el Workaround provisorio aqui //How mitigate?http://j.mp/9Zbh6E

    Publicado en juegos, Ubuntu, Windows

    Ultrastar Deluxe Linux

    Leo en TuDeb

    Como compilar Ultrastar

    Acà esta el excelente tutorial del wiki

    Paso 1: Abrir terminal y escribir los siguientes comandos.

    sudo apt-get install fp-compiler fp-units-base fp-units-misc
    fp-units-fcl  fp-utils libsdl1.2-dev libsdl-image1.2-dev
    portaudio19-dev libsqlite3-dev libfreetype6-dev libavcodec-dev
    libavformat-dev libswscale-dev

    Paso 2:

    Respecto a
    fp-units-i386
    en AMD64 no fue necesario

    Tambien instalar las librerias de LUA
    sudo apt-get install liblua50-dev liblua50 liblualib50-dev liblualib50 liblua5.1-dev liblua5.1-0
    Paso 3:
    sudo apt-get install subversion
    Paso 4:
    svn co https://ultrastardx.svn.sourceforge.net/svnroot/ultrastardx/trunk ultrastardx
    al hacer esto debió crearse una carpeta llamada ultrastardx en su carpeta personal para instalar solo debemos entrar en ella desde la terminal.
    cd ~/ultrastardx
    Paso 5: Ahora ya dentro de la carpeta podremos instalar el juego escribiendo lo siguiente en terminal
    ./configure
    y luego
    make
    Paso 6:
    ./game/ultrastardx
    con esto cargara el juego

    Reblog this post [with Zemanta]
    Publicado en Firefox, Ubuntu, Windows

    Descargar Firefox SIN Internet Explorer

    Reproduzco un Articulo de Fabio.com.ar

    Descargar Firefox SIN Internet Explorer, Ejemplo en Windows 7 sin tener IE instalado porque  «Internet Explorer sirve para bajar Firefox» pero ahora ya no más
    Todo windows conserva un cliente de FTP.
    De esta forma nos podemos conectar, mediante comandos sencillos pero usando una terminal, al servidor de Mozilla y bajar el archivo que corresponda.
    Primero que nada debemos abrir una terminal y para ello, Menú de Inicio, Ejecutar, cmd, y le dan al ENTER.
    Luego abren el programa:

    ftp -ENTER-
    Ahora ya pueden conectarse, entrarán al servidor escribiendo lo siguiente: 
    
    open releases.mozilla.org

    Pedirá usuario y password, es un server de conexión anónima:

    anonymous
    pepe@pepe.com

    Y luego entramos a la carpeta indicada:

    cd pub/mozilla.org/firefox/releases

    Miramos que hay adentro…

    ls

    Y veremos algo así:

    200 PORT command successful. Consider using PASV.

    150 Here comes the directory listing.

    3.0.16-real

    3.0.17

    3.5.6

    3.5.7
    3.6b4
    3.6b5
    3.6rc1
    3.6rc2
    README
    latest
    latest-3.0
    latest-3.5
    226 Directory send OK.
    ftp: 105 bytes received in 0,00Seconds 35,00Kbytes/sec.
    
    Una vez adentro elegimos la versión y entramos a su carpeta: 
    
    cd latest-3.5
    
    Elegimos el sistema operativo: 

    cd win32

    La versión/idioma (pueden hacer ls para ver todas las opciones)

    cd es-AR

    Y dentro de esta carpeta nos fijamos que hay

    ls

    Verán algo así:

    200 PORT command successful. Consider using PASV.

    150 Here comes the directory listing.
    Firefox Setup 3.5.7.exe
    Firefox Setup 3.5.7.exe.asc
    226 Directory send OK.
    ftp: 54 bytes received in 0,00Seconds 54,00Kbytes/sec.

    Perfecto, ya estamos listos para «transmitir», cambiamos a modo «binario» para bajar archivos:

    binary

    Elegimos el destino, el Desktop para hacerlo más fácil:

    lcd Desktop

    Y con un simple comando más…

    get «Firefox Setup 3.5.7.exe»

    Descargamos el Firefox, tengan paciencia, son 7 u 8Mb tardará un minuto y una vez terminado ya disponemos del instalador de Firefox ¿fácil, no?
    Aprendido aquí, comprobado y verificado Risa

    Publicado en Informatica, Internet, juegos, Ubuntu, Windows

    DAKAR 2010 en Ubuntu

    Hasta el 17 de enero tenemos el Dakar en Argentina y Chile y Tenemos nuestro Juego en Ubuntu y Windows.

    en http://bmw.homelinux.org/dakar2010/index.php?page=desc

    Hasta donde vi no tiene sonido pero esta muy interesante y es gratuito

    Tenemos varios autos.

    • Mitsubishi Racing Lancer
    • Hummer H3
    • Nissan Navara
    • Volkswagen Touareg
    • BMW X3 CC
    • Jeep

    Varios tipos de terreno

    • desert
    • mud
    • grass

    A Disfrutarlo

    Publicado en Curiosidades, Firefox, Informatica, Internet, Ubuntu, Windows

    RePost: Carta de amor a un Geek

    Leo un Excelente Post

    Carta de amor a un Geek

    Carta de Amor a un geek

    Este genial post lo ví en el blog “No Soy Yo, Sos Vos” creado por Paula. Lo reproduzco acá, a ver si las chicas “no-techies” entienden cómo se conquista el corazón de un geek =)

    Mi querido geek, te escribo este e-mail porque sé que seguramente lo vas a leer. Temo que si te escribo a mano, puedas no entender la letra y eso te desanime totalmente. El subject fue escrito para llamar tu atención.

    Yo sé que tenemos diferencias fundamentales para vos. Yo uso todos programas crackeados y vos usas de código abierto. A mi Office no lo cambio por nada, y vos insistís en que use el Open Office. Yo soy adicta al iTunes y vos insistís en que use SongBird.

    Vos te pasás horas en Wikipedia (con todos tus artículos premiados y calificados) y yo le dedico horas a lo que vos llamás “coolness empaquetada”.

    Tu celular tiene reproductor de MP3, cámara de fotos de 8 MP, WiFi y Blue Tooth. Yo, en cambio, tengo un aparato para hacer llamadas, una cámara de fotos aparte y un pendrive que llevo a todos lados.

    Sin embargo, fijate amor: cuando te conocí usaba el Emule y ahora uso el UTorrent. Lograste que “migrara” (viste como aprendí tus términos?) al Firefox y abandonara el Explorer a través de una técnica de convencimiento irrebatible: Cada vez que se abre una ventana nueva del Explorer, se muere un perro.

    Cambiaste mi Windows XP por el Windows UE, lo que implica una entrega importante. Aunque, lo sé, en el fondo seguís esperando que me pase al Linux (dame tiempo, amor, no puedo con tantos cambios). Antes veía Gossip Girl, ahora veo The Big Bang Theory.

    Me enseñaste tantas combinaciones de teclas para acceder a aquello que más me gusta que mi memoria se vió sobrepasada y tuve que empezar a eliminar conocimientos para hacer lugar a lo nuevo.

    Yo sé que te da vergüenza mi disco rígido. Apenas 80 GB no son suficientes para vos. Sé que esperás de mi mucho más y, aunque lo intento, juro que sigo sin entender para qué necesitaría 500 GB.

    Al fin y al cabo, sólo quería decirte que espero sepas darme el tiempo suficiente para estar a la altura de tus circunstancias.

    Te quiero, amor.

    Pau

    PD: La última vez que tuvimos cyber sex te note raro. Estabas mirando porno?