Quantcast
Channel: VMware Communities: Message List
Viewing all articles
Browse latest Browse all 49146

Html_report_powercli_esxtended

$
0
0

Hi Luc ,

 

could you suggest on the following requirments.

 

 

1:scheduling execution of following html report(discussed with you few days back)

2:oncereport is generated automatically sending to email address.

 

 

 

 

$vc = read-host "specify vcenter name"

 

$cred = Get-Credential

$date=get-date

 

Connect-VIServer -server $vc -Credential $cred|out-null

 

$path = 'C:\Users\in0079d6\Desktop\Technicolor_script'

 

$head = @'

 

<style>

 

body { background-color:#dddddd;

 

       font-family:Tahoma;

 

       font-size:12pt; }

 

td, th { border:1px solid black;

 

         border-collapse:collapse; }

 

th { color:white;

 

     background-color:black; }

 

table, tr, td, th { padding: 2px; margin: 0px }

 

table { margin-left:50px; }

 

</style>

 

'@

 

$clusters = Import-Csv -path  "C:\users\in0079d6\Desktop\Technicolor_script\EU_tc_CLUSTER.csv"

 

$fragments = @()

 

foreach ($line in $clusters) {

 

   $cluster = Get-Cluster -name $line.clustername

 

   $vms = Get-VM -location $cluster

 

   $esx = Get-VMHost -Location $cluster

 

   $fragments += Get-Cluster -name $cluster |

 

  Select name |

 

   ConvertTo-Html -Property name -Fragment -PreContent '<h2>clustername </h2>' |

 

   Out-String

 

   $ds_all = Get-Datastore -RelatedObject $cluster

 

   $syslog_server = "10.x.x.x"

 

   $fragments += Get-Datastore -RelatedObject $cluster |

 

   Where-Object {($_.FreeSpaceGB) / ($_.CapacityGB) -le 0.15} |

 

  Select Name |

 

   ConvertTo-Html -Property Name -Fragment -PreContent '<h2>DATASTORE WITH LESS THAN 15 PERCENT SPACE </h2>' |

 

   Out-String

 

   $fragments += $vms | Get-Snapshot |

 

  Select Name, @{N = 'VM'; E = {$_.VM.Name}}, Created |

 

   ConvertTo-Html -Property Name, VM, Created -Fragment -PreContent '<h2>SNAPSHOT_INFO</h2>' |

 

   Out-String

 

   $fragments += $vms | Where-Object {$_.PowerState -eq "poweredoff"}|

 

  select name|

 

   ConvertTo-Html -Property Name -Fragment -PreContent '<h2>POWEREDOFF_VMS</h2>' |

 

   Out-String

 

   $fragments += $esx |

 

  select name, @{N = 'vmkernel'; E = {$_ | Get-VMHostNetworkAdapter -VMKernel | Where-Object {$_.vmotionenabled -eq "true"}}}|

 

   ConvertTo-Html -Property name, vmkernel -Fragment -PreContent '<h2>VMKERNEL_PORT_VMOTION</h2>' |

 

   Out-String

 

   $fragments += $esx |

 

  select name, @{N = 'syslogserver'; E = {Get-VMHostSysLogServer -VMHost $_}}|

 

   ConvertTo-Html -Property name, syslogserver -Fragment -PreContent '<h2>SYSLOGSERVER<h2>' |

 

   Out-String

 

   $fragments += $vms | Where-Object {$_.Guest.GuestFamily -eq 'windowsGuest' -and $_.ExtensionData.guest.toolsversionstatus -eq 'guesttoolsneedupgrade'}|

 

  select name|

 

   ConvertTo-Html -Property Name -Fragment -PreContent '<h2>WINDOWS_VM_TOOLS_NEED_UPGRADE</h2>' |

 

   Out-String

 

   $fragments += $esx | Get-VMHostService|? {$_.key -eq 'ntpd'}|

 

  select vmhost, key, running|

 

   ConvertTo-Html -Property vmhost, key, running -Fragment -precontent '<h2>NTP<h2>'|

 

   Out-String

 

   $fragments += $esx |

 

  select name, build, version, model|

 

   ConvertTo-Html -Property name, build, version, model -Fragment -PreContent '<h2>VERSION<h2>'|

 

   Out-String

 

   $fragments += $cluster|

 

  select drsenabled, haenabled, HAAdmissionControlEnabled|

 

   ConvertTo-Html -Property drsenabled, haenabled, HAAdmissionControlEnabled -Fragment -PreContent '<h2>CLUSTERPROPERTIES<h2>'|

 

   Out-String

 

   $fragments += Get-DatastoreCluster -Location(Get-Datacenter -Cluster $cluster)|

 

  select name|ConvertTo-Html -Property name -Fragment -PreContent '<h2>DATASTORECLUSTER<h2>'|

 

   Out-String

 

}

 

ConvertTo-HTML -head $head -PostContent $fragments |

 

   Out-String | Out-File -FilePath "$path\feb19.html"


Viewing all articles
Browse latest Browse all 49146

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>