Get-SCVMMInventory – Get Inventory of all VM’s in SCVMM 2012 R2

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 última version 3.2.8224.

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

<# 
.Synopsis 
   this function gives you an invetory of the SCVMM  
.DESCRIPTION 
   either you can get just the object for each server or also a csv and html report 
.EXAMPLE 
   Get-SCVMInventory -report 
.EXAMPLE 
   Get-SCVMInventory -VMHost hyp05 
.NOTES 
   Niklas Akerlund 2013-09-29 
   Adapted by Martin Rojas 2016/11/08 to version 3.2.8224.0 
#> 
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 -match 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($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 
 
                    NumberofVHD = $VHDConf.Count 
                    VHDName = $VHDConf[0].Name 
                    VHDFormatType = $VHDconf[0].VHDFormatType 
                    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 
                    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 
                    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? 
    } 
}

Compilar fglrx 15.200 en Ubuntu 15.04 Vivid Kernel 3.19.0.26-25

A muchos al Querer instalar el paquete fglrx les pudo haber pasado que falló por un error:

+ [FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol
+ ‘pci_ignore_hotplug’]

La solución es downgradear nuestro kernel a 3.19.0.25-24 o inferior como se explica en http://askubuntu.com/questions/138284/how-to-downgrade-a-package-via-apt-get

O dejar de usar el repositorio “Proposed”

Otra opción sería patchear este módulo.

Para ello guardamos con nano o nuestro editor preferido lo siguiente con el nombre fglrx_ignore_hotplug.diff

Seguir leyendo Compilar fglrx 15.200 en Ubuntu 15.04 Vivid Kernel 3.19.0.26-25

Los números de 2013

Los duendes de las estadísticas de WordPress.com prepararon un informe sobre el año 2013 de este blog.

Aquí hay un extracto:

La sala de conciertos de la Ópera de Sydney contiene 2.700 personas. Este blog ha sido visto cerca de 11.000 veces en 2013. Si fuera un concierto en el Sydney Opera House, se se necesitarían alrededor de 4 presentaciones con entradas agotadas para que todos lo vean.

Haz click para ver el reporte completo.

Como instalar .NET Framework 2.0 and 3.5 feature en Windows Server 2012

Si ya estamos trabajando con Windows Server 2012 y requerimos instalar .Net 2.0 o 3.0, es posible que tengamos algún error indicando que faltan los archivos para realizar esta instalación,que requiere de Windows Update o similar.

 

Para estos casos debemos hacer la instalación desde la consola con el siguiente comando:

 

dism.exe /online /enable-feature /all /featurename:NetFX3 /Source:D:\sources\sxs /LimitAccess



 


	

Extensiones para Gnome-Shell

Is Open is Free

Las release de Gnome 3, se suceden y con ese cambio de versión trae consigo ciertas incompatibilidades con las extensiones actuales, que deberán ser adaptadas conforme a las nuevas especificaciones para que puedan funcionar correctamente.

Hasta este momento han sufrido 2 actualizaciones, la primera lo que fue pasar de GNOME 3.0 a GNOME 3.2 y una segunda de GNOME 3.2 a GNOME 3.4.

Lamentablemente muchas de estas extensiones no son readaptadas para las nuevas versiones, perdiéndose por tanto con el cambio de versión. Y otras muchas afortunadamente si son niveladas, eso si, no con la rapidez que desearíamos, no pudiendo disfrutar de ellas, hasta pasado algún tiempo desde la salida de una nueva versión Ubuntu. Este será el caso para Ubuntu 12.04 LTS Precise.

Muchas de las mas importantes extensiones vienen de la mano de Ron Yorston, que afortunadamente ya han sido adaptadas para GNOME 3.4 y por…

Ver la entrada original 327 palabras más

Ubuntu – Tecnología – Informática – Actualidad