-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVMM2012_Get-VMMPerfData.ps1
More file actions
63 lines (49 loc) · 3.18 KB
/
Copy pathVMM2012_Get-VMMPerfData.ps1
File metadata and controls
63 lines (49 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import-module virtualmachinemanager
#Reporting Hosts:
$vmhosts = Get-SCVMHost
foreach ($vmhost in $vmhosts) {
$vmhostCPUPerfHistory = Get-SCVMHOST $vmhost | Get-SCPerformanceData -PerformanceCounter CPUUsage -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmhostMEMPerfHistory = Get-SCVMHOST $vmhost | Get-SCPerformanceData -PerformanceCounter MemoryUsage -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmhostNETIORPerfHistory = Get-SCVMHOST $vmhost | Get-SCPerformanceData -PerformanceCounter NetworkIOReceived -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmhostNETIOSPerfHistory = Get-SCVMHOST $vmhost | Get-SCPerformanceData -PerformanceCounter NetworkIOSent -TimeFrame Day | select -ExpandProperty PerformanceHistory #it shows no data BUG fixed UR2 for 2019
$vmhostStoragePerfHistory = Get-SCVMHOST $vmhost | Get-SCPerformanceData -PerformanceCounter StorageIOPSUsage -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmhostCPUTimeSamples = Get-SCVMHOST $vmhost | Get-SCPerformanceData -PerformanceCounter CPUUsage -TimeFrame Day | select -ExpandProperty TimeSamples
[int]$max = $vmhostCPUTimeSamples.Count
$result = for ($i=0; $i -lt $max; $i++)
{
[PScustomObject]@{
Name=$vmhost.ComputerName
CPUUsagePercent=$vmhostCPUPerfHistory[$i]
MemUsageGB=$vmhostMEMPerfHistory[$i]
NetRecMBps=$vmhostNETIORPerfHistory[$i]
NetSentMBps=$vmhostNETIOSPerfHistory[$i]
StorageMBps=$vmhostStoragePerfHistory[$i]
Time=$vmhostCPUTimeSamples[$i]
}
}
$result | ft -AutoSize #we can send this to a CSV file for graph out
}
#Reporting VMs
$VMs= Get-SCVirtualMachine
foreach ($vm in $vms) {
$vmCPUPerfHistory = Get-SCVirtualMachine $vm | Get-SCPerformanceData -PerformanceCounter CPUUsage -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmMEMPerfHistory = Get-SCVirtualMachine $vm | Get-SCPerformanceData -PerformanceCounter MemoryUsage -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmNETIORPerfHistory = Get-SCVirtualMachine $vm | Get-SCPerformanceData -PerformanceCounter NetworkIOReceived -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmNETIOSPerfHistory = Get-SCVirtualMachine $vm | Get-SCPerformanceData -PerformanceCounter NetworkIOSent -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmStoragePerfHistory = Get-SCVirtualMachine $vm | Get-SCPerformanceData -PerformanceCounter StorageIOPSUsage -TimeFrame Day | select -ExpandProperty PerformanceHistory
$vmCPUTimeSamples = Get-SCVirtualMachine $vm | Get-SCPerformanceData -PerformanceCounter CPUUsage -TimeFrame Day | select -ExpandProperty TimeSamples
[int]$max = $vmCPUTimeSamples.Count
$result = for ($i=0; $i -lt $max; $i++)
{
[PScustomObject]@{
Name=$vm.Name
CPUUsagePercent=$vmCPUPerfHistory[$i]
MemUsageGB=$vmMEMPerfHistory[$i]
NetRecMBps=$vmNETIORPerfHistory[$i]
NetSentMBps=$vmNETIOSPerfHistory[$i]
StorageMBps=$vmStoragePerfHistory[$i]
Time=$vmCPUTimeSamples[$i]
}
}
$result | ft -AutoSize #we can send this to a CSV file for graph out
}