Some time ago I was searching for a PowerShell Hyper-V configuration report to easily get important information about settings impacting the Hyper-V hosts performance and functionality, but i never managed to find one that was suiting my needs so i decide to create one my self.
The script is made to target multiple hosts and create a report for each host. It gathers information by invoking an script block on each host and returning a HTML fragment to combine into a report on the machine where the script i started from, then saves it as a HTML report into the specified folder.
The report collects information mainly about the host storage and network, but also essential Hyper-V information for the VM switch and live migration settings.
Below is some screenshots from a sample report and a full list of the information collected
Manufacturer, Model, Total Memory GB, NumberOfProccessors, NumberOfLogicalProcessors, SerialNumber.
FileSystemLabel, Drive, Path, FileSystem, HealthStatus, Size GB, Free GB, Procent Free.
VendorId, ProductId, IsMultipathed, BusType, PathVerificationState.
MPIO Disk Info
Name, DsmName, NumberPaths.
Manufacturer, Model, Active, DriverVersion, FirmwareVersion, NodeWWN, Port WWN.
Name, InterfaceDescription, MacAddress, LinkSpeed, MediaConnectionState, DriverVersion, MtuSize.
InterfaceAlias, IPv4Address, IPv4DefaultGateway, DNSServer.
DNS Enabled Adapters
InterfaceAlias, RegisterThisConnectionsAddress, Suffix.
Name, Members, TeamingMode, LoadBalancingAlgorithm.
Name, Enabled, Profile, NumberOfReceiveQueues, BaseProcessorNumber, MaxProcessorNumber, MaxProcessors, BaseProcessorGroup.
Name, Enabled, NumberOfReceiveQueues, BaseProcessorNumber, MaxProcessorNumber, MaxProcessors, BaseProcessorGroup.
Name, Enabled, MaxInboundReadLimit, MaxOutboundReadLimit, MaxQueuePairCount.
Live Migration Settings
VirtualMachineMigrationEnabled, MaximumVMMigrations, MaximumStorageMigrations, AuthenticationType, PerformanceOption, UseAnyNetworkForMigration, VMMigrationNetwork.
Name, NetAdapterInterfaceDescription, SwitchType, AllowManagementOS, AvailableVMQueues, IovEnabled, Extensions.
Name, State, Generation, Status, Version, IntegrationServicesState, Path.
Name, Vendor, Version.