Если вы запускаете PowerShell от имени администратора, вы можете использовать команду Get-VM
, чтобы легко получить довольно полезную информацию.
PS>Get-VMHost |
Select ComputerName,FullyQualifiedDomainName, MaximumStorageMigrations,`
LogicalProcessorCount, @{N='Memory(GB)';e={$_.MemoryCapacity / 1gb -as [int]}}
ComputerName FullyQualifiedDomainName MaximumStorageMigrations LogicalProcessorCount Memory(GB)
------------ ------------------------ ------------------------ --------------------- ----------
ELOPE WORKGROUP 2 16 64
Если нам нравится это представление, мы можем экспортировать его в виде файла CSV и использовать его для аудита, просто отправив в Export-CSV
примерно так:
Get-VMHost | Select ComputerName,FullyQualifiedDomainName, MaximumStorageMigrations, LogicalProcessorCount, @{N='Memory(GB)';e={$_.MemoryCapacity / 1gb -as [int]}} |
export-csv c:\temp\vmhost.csv
Но это еще не все, что мы можем сделать ...
Если вы хотите сделать из этого реальный отчет, вместо этого вы могли бы использовать ConvertTo-HTML
с небольшим количеством CSS для основы очень хорошего отчета.
$OSVer = Get-ciminstance win32_operatingsystem | select caption,Version
$pre=@"
<body id="css-zen-garden">
<div class="page-wrapper">
<style>
h1, h2, h3, h4, h5, h6 {
font-family: 'Corben', Georgia, Times, serif;
}
p, div, td {
font-family: 'Nobile', Helvetica, Arial, sans-serif;
}
h1 {
text-shadow: 1px 1px 1px #ccc;
}
h2 {box-shadow: 0 0 1em 1em #ccc;}
<br>
</style>
<h1>Hyper-V Report</h1>
<h2>$($env:ComputerName) - $($OSVer.Caption) [$($OSVer.Version)]</h2>
</header>
<div class="summary" id="zen-summary" role="article">
<p>A demonstration of what can be accomplished through a little bit of PowerShell and CSS</p>
</div>
</section>
</div>
"@
Get-VMHost | Select ComputerName,FullyQualifiedDomainName, MaximumStorageMigrations, LogicalProcessorCount, @{N='Memory(GB)';e={$_.MemoryCapacity / 1gb -as [int]}} |
ConvertTo-html -CssUri http://www.csszengarden.com/examples/style.css -PreContent $pre -PostContent "<i>Created automatically on $($Env:ComputerName) at $(get-date)" |
Out-file c:\temp\F.html -Force
start C:\temp\f.html