The RVTools for Hyper-V Environments
- Introduction
- Contents
- Features
- Download
- Getting Started
- Usage
- Examples
- Contributing
- Status
- Support
- License
- Credits
HVTools is a comprehensive inventory, documentation, and management tool for Microsoft Hyper-V environments - the equivalent of RVTools for VMware environments.
Just as RVTools helps VMware administrators document and inventory their vSphere infrastructure, HVTools provides detailed information about your Hyper-V hosts, virtual machines, clusters, and configurations, with powerful export capabilities for reporting and documentation purposes.
🌐 Visit hvtools.app for more information, documentation, and downloads.
- Complete Inventory - Document your entire Hyper-V infrastructure
- Cluster-Aware - Full support for Failover Clusters and standalone hosts
- Export Everything - Export to Excel-ready CSV, JSON, XML, or formatted text
- Detailed Insights - Hardware specs, VM configurations, cluster status, and more
- Remote Management - Connect to both local and remote Hyper-V hosts
- Visual Status Indicators - Color-coded states for quick health assessment
- Secure Credentials - Encrypted credential storage for repeated connections
Outline the file contents of the repository. It helps users navigate the codebase, build configuration and any related assets.
| File/folder | Description |
|---|---|
src |
Source code. |
.gitignore |
Define what to ignore at commit time. |
CHANGELOG.md |
List of changes to the sample. |
CONTRIBUTING.md |
Guidelines for contributing to the HVTools. |
README.md |
This README file. |
SECURITY.md |
This README file. |
LICENSE |
The license for the HVTools. |
- Multiple Connection Types: Connect to local Hyper-V hosts, remote standalone servers, or Failover Clusters (means Azure Local also)
- Flexible Authentication: Support for Windows Authentication (current session) or custom credentials
- Secure Credential Storage: Encrypted credential storage for repeated connections
- IP Address Support: Automatic hostname resolution when connecting via IP address
- Domain Detection: Smart domain/workgroup detection for both local and remote connections
-
Comprehensive VM Inventory:
- Complete VM configuration details (CPU, Memory, Disk, Network and more)
- State monitoring (Running, Off, Paused, Saved) with color-coded indicators
- Generation 1 & 2 VM support
- Integration Services status and monitoring
- Heartbeat status tracking
- Uptime monitoring
- Checkpoint information and management
- Replication status
- Creation dates and VM IDs
-
VM Groups (Hosts):
- Create and manage VM Groups (Management Collections, VM Collections)
- Add/remove VMs from groups
- Rename and delete groups
- Bulk VM organization
-
VM Checkpoints:
- View all VM checkpoints across the environment
- Standard and Production checkpoint support
- Checkpoint age tracking and recommendations
- Storage consumption monitoring
- Delete checkpoints directly from the tool
- Detailed checkpoint properties (memory, disk, configuration)
- Parent-child checkpoint hierarchy visualization
-
Cluster Overview:
- Cluster node status and health
- Highly Available VM distribution
- Cluster network information
- Shared Volume status
- Failover priorities and preferred owners
- Node weight and drain status
- Fault domain configuration
-
Multi-Node Operations:
- Automatic cluster node detection
- Parallel data collection from all nodes
- Cluster-aware VM inventory
- Cross-node VM visibility
- Detailed Host Inventory:
- Hardware specifications (CPU, Memory, Model, Serial Number)
- Operating System version and build
- Licensing status and grace period
- Boot time and uptime
- Time zone and NTP configuration
- Hyper-V configuration paths
- Network adapter information with IP addresses
- SLAT and Hyper-Threading support
- NUMA spanning configuration
- Live Migration settings
- Enhanced Session Mode status
- Comprehensive Disk Inventory:
- Disk type (Dynamic, Fixed, Differencing, PassThrough)
- Disk format (VHD, VHDX, Physical)
- Storage consumption analysis
- Space efficiency calculations
- Fragmentation monitoring
- Controller information (SCSI/IDE)
- QoS settings (Min/Max IOPS)
- Parent-child relationships for differencing disks
- Shared disk identification
- Cluster disk tracking
-
Multiple Export Formats:
- JSON (structured data with metadata)
- CSV (Excel-compatible, includes VM Groups in separate file)
- XML (hierarchical data structure)
- Formatted Text (human-readable reports)
-
Selective Export:
- Checkbox-based VM selection for export
- Select all/deselect all functionality
- Export only the VMs you need
-
Export Metadata:
- Export timestamp
- Exported by user information
- Host and connection type
- Total VM counts
- Application version tracking
-
Tabbed Interface:
- VM Overview (primary inventory view)
- VM Groups (group management)
- Hosts (detailed host information)
- Clusters (cluster-specific data)
- Virtual Disks (storage inventory)
- Checkpoints (snapshot management)
- and more...
- VM Overview (primary inventory view)
-
Visual Indicators:
- Color-coded VM states (Green=Running, Red=Off, Yellow=Paused)
- Heartbeat status colors
- Checkpoint age highlighting
- Dynamic memory indicators
- Replication status
-
Smart Summaries:
- One-click summary views for each section
- Statistical analysis and recommendations
- Capacity planning insights
- Health status overviews
-
Intelligent Recommendations:
- Checkpoint cleanup suggestions
- Disk optimization recommendations
- Space efficiency improvements
- Fragmentation alerts
- VHD to VHDX migration suggestions
-
Connection Information Display:
- Real-time title bar shows: Server, Username, Connection Type, Cluster Status
- Hostname resolution for IP-based connections
- Domain information display
-
Progress Tracking:
- Visual progress indicators for long-running operations
- Background task execution
- Non-blocking UI during data collection
-
Context Menus:
- Right-click operations on VMs
- Checkpoint management
- Detailed information views
-
Logging & Diagnostics:
- Comprehensive file logging
- Event tracking with severity levels
- Quick access to logs from Help menu
- Troubleshooting support
🌐 Official Website: hvtools.app/download
📦 GitHub Releases: Download the latest version
📋 Version History: CHANGELOG.md
- .NET 10.0 Desktop Runtime installed on your system.
- Administrator privileges required for local Hyper-V management (or membership in 'Hyper-V Administrators' group)
- Hyper-V PowerShell Module must be installed
- Hyper-V Management Tools must be available
- Network connectivity to target Hyper-V host
- Windows Remote Management (WinRM) enabled on target
- PowerShell Remoting enabled on target
- Credentials with Hyper-V Administrator rights
- Firewall rules allowing WinRM (TCP 5985/5986)
- Failover Clustering PowerShell Module on cluster nodes
- Cluster Administrator or equivalent permissions
- Network access to all cluster nodes
- CredSSP may be required for certain multi-hop scenarios
-
Download and Install
- Download the latest release from the Releases page
- Run the installer as Administrator
- Ensure .NET 10.0 Desktop Runtime is installed
-
Launch HVTools
- Run as Administrator for local Hyper-V access
- Or run with standard permissions for remote connections
- Click Connect on the login screen
- Leave server as "localhost" or "."
- Select Windows Authentication
- Click Login
- Enter the server hostname or IP address
- Choose authentication method:
- Windows Authentication: Uses your current credentials
- Custom Credentials: Enter specific username/password
- Optionally check Remember credentials for future connections
- Click Login
- Enter any cluster node name or cluster name
- Provide credentials with cluster access
- HVTools automatically detects cluster configuration
- All cluster nodes are discovered and inventoried
- View all VMs with detailed properties
- Double-click a VM to see complete details
- Click column headers to sort data
- Check/uncheck VMs for selective export
- Click Summary for statistical overview
- Create new groups for VM organization
- Add/remove VMs from groups
- Rename or delete groups as needed
- Export group membership with VM data
- View hardware specifications for all hosts
- Check licensing status and activation
- Monitor resource usage (CPU, Memory)
- Review network configuration and IP addresses
- Verify Hyper-V settings and paths
- View cluster health and node status
- Check Highly Available VMs distribution
- Review cluster networks and shared storage
- Monitor failover priorities and preferred owners
- Inventory all VM disks across environment
- Analyze space efficiency and potential savings
- Identify disk types (Dynamic, Fixed, Differencing)
- Track disk fragmentation and performance
- Review QoS settings and constraints
- View all checkpoints across all VMs
- Monitor checkpoint age and storage consumption
- Delete old checkpoints directly from the tool
- View checkpoint details and hierarchy
- Track Standard vs Production checkpoints
- Navigate to the VM Overview tab
- Select VMs using checkboxes (or click column header to select all)
- Click Export button
- Choose your format:
- JSON: For automation and scripting
- CSV: For Excel and reporting
- XML: For structured data exchange
- TXT: For documentation and printing
- Select save location and click Save
- Generate complete VM inventory reports
- Document hardware specifications
- Track VM configurations and settings
- Maintain cluster documentation
- Analyze resource allocation across hosts
- Identify over-provisioned VMs
- Track storage consumption trends
- Plan for growth and expansion
- Monitor VM states and health
- Check Integration Services status
- Verify heartbeat across all VMs
- Track cluster node health
- Export VM configurations for audits
- Track licensing and activation status
- Document security settings
- Maintain change history
- Review checkpoint policies
- Monitor backup job effectiveness
- Identify VMs without checkpoints
- Track checkpoint age and cleanup needs
- Document current infrastructure
- Analyze VM compatibility (Gen1 vs Gen2)
- Plan cluster migrations
- Export configuration for comparison
- Identify dynamic vs fixed disk inefficiencies
- Review memory allocation
- Optimize processor assignments
- Consolidate VM Groups
- Quick VM status overview
- Integration Services troubleshooting
- Network adapter verification
- Disk configuration validation
- Use cluster node iteration for large clusters (automatic)
- Export runs in background without blocking UI
- Refresh only when needed to reduce server load
- Close and reconnect for long-running sessions
- Store credentials encrypted when using Remember Me
- Use Windows Authentication when possible
- Verify code signature on first run
- Review logs regularly for security events
- Export data regularly for trending and comparison
- Use JSON format for automated processing
- Use CSV format for Excel-based reporting
- Clean up old checkpoints to save storage
- Create VM Groups for logical organization
- Use consistent naming across environments
- Document group purposes in external documentation
- Export group membership with VM data
Connect to local or remote Hyper-V hosts with flexible authentication options.
Complete VM inventory with detailed properties, color-coded states, and export capabilities.
Create and manage VM Groups for logical organization and bulk operations.
Comprehensive hardware and software information for all hosts in your environment.
Cluster health, node status, and Highly Available VM distribution across nodes.
Complete virtual disk inventory with space efficiency analysis and optimization recommendations.
Checkpoint management with age tracking and storage consumption monitoring.
Multiple export formats with selective VM export capabilities (JSON, CSV, XML, TXT).
...and more features coming soon!
- Tested on Windows 10 and Windows 11 (Pro, Enterprise, and Server editions)
- Validated on systems joined to Active Directory and Microsoft Entra ID (Azure AD)
- Tested with Failover Clusters (2 node clusters)
- Verified on standalone Hyper-V hosts and workgroup machines
- Compatible with Hyper-V Server (free edition) and Windows Server (2022, 2025)
- Tested with Generation 1 and Generation 2 VMs
- Validated remote connections via hostname, FQDN, and IP address
- Tested Windows Authentication and custom credentials
- Visual Studio 2022 or later (17.12.0+)
- .NET 10.0 SDK
-
Clone the repository:
git clone https://github.com/michaelmsonne/HVTools.git
-
Open solution in Visual Studio:
cd HVTools start HVTools.sln -
Restore NuGet packages:
- Visual Studio will automatically restore packages
- Or manually:
dotnet restore
-
Build the solution:
- Press
Ctrl+Shift+Bin Visual Studio - Or use:
dotnet build --configuration Release
- Press
-
Run the application:
- Press
F5to run with debugging - Or find the executable in
bin\Release\net10.0-windows\
- Press
- Debug: Development build with full symbols and logging
- Release: Optimized build for production use
- System.Management.Automation - PowerShell SDK for Hyper-V cmdlet execution and remote management
- System.Security.Cryptography - Secure credential storage and AES encryption
- System.Text.Json - Modern JSON serialization for data exports
- System.Management - WMI queries for system information and hardware details
- System.Windows.Forms - Windows Forms UI framework
- System.Security.Cryptography.X509Certificates - Code signature verification
- Hyper-V - Core Hyper-V management cmdlets
- FailoverClusters - Cluster management (for clustered environments)
- Microsoft.PowerShell.Commands.Diagnostics (v7.5.4) - PowerShell diagnostic commands
- Microsoft.PowerShell.Commands.Management (v7.5.4) - PowerShell management cmdlets for Hyper-V and system administration
- Microsoft.PowerShell.Commands.Utility (v7.5.4) - PowerShell utility commands for data manipulation
- Microsoft.PowerShell.ConsoleHost (v7.5.3) - PowerShell console host for script execution
- Microsoft.PowerShell.Security (v7.5.4) - PowerShell security cmdlets for credential management
- Microsoft.WSMan.Management (v7.5.4) - WS-Management cmdlets for remote PowerShell sessions
- System.Management.Automation (v7.5.4) - PowerShell SDK for automation and scripting
If you want to contribute to this project, please open an issue or submit a pull request. I welcome contributions :)
See CONTRIBUTING for more information.
First off, thanks for taking the time to contribute! Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated. Feel free to send pull requests or fill out issues when you encounter them. I'm also completely open to adding direct maintainers/contributors and working together! :)
Please try to create bug reports that are:
- Reproducible. Include steps to reproduce the problem.
- Specific. Include as much detail as possible: which version, what environment, etc.
- Unique. Do not duplicate existing opened issues.
- Scoped to a Single Bug. One bug per report.´´
The project is actively developed and updated.
This project is open-source and I invite everybody who can and will to contribute, but I cannot provide any support because I only created this as a "hobby project" ofc. with tbe best in mind. For commercial support, please contact me on LinkedIn so we can discuss the possibilities. It’s my choice to work on this project in my spare time, so if you have commercial gain from this project you should considering sponsoring me.
Thanks.
Reach out to the maintainer at one of the following places:
- GitHub discussions
- The email which is located in GitHub profile
This project is licensed under the MIT License - see the LICENSE file for details.
See LICENSE for more information.
Made with ❤️ Michael Morten Sonne
- LinkedIn: Connect with me
If HVTools helps you document and manage your Hyper-V environment, please consider giving it a star!
Special thanks to:
- PowerShell Community for excellent Hyper-V cmdlets and documentation
- RVTools (by RobWare) for inspiration - the gold standard for VMware inventory tools
- Microsoft Hyper-V Team for the robust management APIs
- Contributors who help improve this project
- Early adopters who provided valuable feedback
If this tool helps you, please consider giving it a star! ⭐
The installer is created from a Free Advanced Installer License for Open-Source from https://www.advancedinstaller.com/ - this allowed me to create a feature complete installer in a user friendly environment with minimal effort - check it out!
JetBrains specialises in intelligent, productivity-enabling tools to help you write clean, quality code across . NET, Java, Ruby, Python, PHP, JavaScript, C# and C++ platforms throughout all stages of development. https://www.jetbrains.com/ - check it out!
PVS-Studio - static analyzer for C, C++, C#, and Java code.








