{"id":16567489,"url":"https://github.com/jdhitsolutions/pshyperv","last_synced_at":"2025-08-04T10:37:37.766Z","repository":{"id":64435386,"uuid":"190195534","full_name":"jdhitsolutions/PSHyperV","owner":"jdhitsolutions","description":"A set of PowerShell tools for working with Hyper-V from a Windows 10 desktop.","archived":false,"fork":false,"pushed_at":"2019-06-26T15:14:32.000Z","size":190,"stargazers_count":23,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-06T09:46:52.021Z","etag":null,"topics":["hyper-v","powershell"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdhitsolutions.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-04T12:20:11.000Z","updated_at":"2024-10-01T16:04:51.000Z","dependencies_parsed_at":"2023-01-13T14:41:26.622Z","dependency_job_id":null,"html_url":"https://github.com/jdhitsolutions/PSHyperV","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSHyperV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSHyperV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSHyperV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSHyperV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdhitsolutions","download_url":"https://codeload.github.com/jdhitsolutions/PSHyperV/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238743988,"owners_count":19523217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hyper-v","powershell"],"created_at":"2024-10-11T21:06:43.836Z","updated_at":"2025-02-13T22:31:55.138Z","avatar_url":"https://github.com/jdhitsolutions.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PSHyperVTools\n\n[![PSGallery Version](https://img.shields.io/powershellgallery/v/PSHyperVTools.png?style=for-the-badge\u0026logo=powershell\u0026label=PowerShell%20Gallery)](https://www.powershellgallery.com/packages/PSHyperVTools/) [![PSGallery Downloads](https://img.shields.io/powershellgallery/dt/PSHyperVTools.png?style=for-the-badge\u0026label=Downloads)](https://www.powershellgallery.com/packages/PSHyperVTools/)\n\nA set of PowerShell tools for working with Hyper-V from a Windows 10 desktop. You must have the Hyper-V PowerShell module installed. **This module is under active development**\n\n## Installation\n\nYou can install the current release from the PowerShell Gallery:\n\n```powershell\nInstall-Module PSHyperVTools [-scope currentuser]\n```\n\nPlease post any questions, problems, suggestions or comments in the [Issues](https://github.com/jdhitsolutions/PSHyperV/issues) section of this repository.\n\n## Commands\n\nMany of the commands in this module are \"wrapper\" or proxy variations of native Hyper-V cmdlets that are designed to be easier to use in an interactive PowerShell session.\n\n### [Expand-VMGroup](docs/Expand-VMGroup.md)\n\nWhen using VM groups, such as with `Get-VMGroup`, the resulting object displays nested VM or Management collections. But\noften, the whole point of a group is to make it easier to work with the collected virtual machines. This command will\nexpand all virtual machines in a given group. You can also return a simple list of the virtual machine names.\n\n### [Find-VMGroup](docs/Find-VMGroup.md)\n\nThis command is very similar to `Get-VMGroup` and is not much more than a \"wrapper\" function for that command. The\nprimary difference is that you can use this command to limit groups to a specific type. Although the default is to\nfind all VM groups.\n\n### [Get-VMIPAddress](docs/Get-VMIPAddress.md)\n\nThis command is designed to get the IPv4 address for a given set of Hyper-V virtual machines. It assumes a single\nnetwork adapter in each virtual machine with a single IPv4 address. The command has not been tested with other\nnetworking configurations such as NIC teaming.\n\n### [Get-VMMemorySummary](docs/Get-VMMemorySummary.md)\n\nThis command gets memory settings for a given Hyper-V virtual machine.\n\n### [Get-VMState](docs/Get-VMState.md)\n\nOne of the drawbacks to the `Get-VM` command in the Hyper-V module is that it provides no filtering mechanism on the\nstate, such as running. If you often find yourself running `Get-VM` and piping to `Where-Object` to only get running or\nstopped virtual machines, this command will simplify that process. The default behavior is to display all running\nvirtual machines.\n\n### [Open-VMConnect](docs/Open-VMConnect.md)\n\nThis is a PowerShell command to make it easier to connect to a virtual machine console using the `VMConnect.exe` command\nline tool. You must run this under an account that has admin rights on the remote Hyper-V host.\n\n### [Open-VMRemoteDesktop](docs/Open-VMRemoteDesktop.md)\n\nConnect to a given virtual machine using a remote desktop connection. This assumes a Windows operating system on the\nvirtual machine and it has been configured to allow remote desktop connections. The connection is made via the virtual\nmachine's IP address. If connecting to a virtual machine on a remote computer it must have a publicly accessible IP\naddress and interface.\n\n### [Start-VMGroup](docs/Start-VMGroup.md)\n\nThis command will expand virtual machine members of a VM group and start the virtual machine if it is not already\nrunning.\n\n### [Stop-VMGroup](docs/Stop-VMGroup.md)\n\nThis command will expand virtual machine members of a VM group and stop the virtual machine if it running.\n\n### [Set-VMNote](docs/Set-VMNote.md)\n\nThis command is an alternative to using `Set-VM` to modify the Notes setting of a virtual machine. This version allows you to append to an existing note or clear it.\n\n## Custom Type Extensions\n\nWhen you import the module, it will also extend the type for a Hyper-V virtual machine and add these script properties. Some of these properties need values from the Hyper-V host. For better performance a PSSession to the Hyper-V host will be created and re-used. You might want to remove any PSSessions in your console before exiting PowerShell if you use this module.\n\n+ ManagementGroups\n+ Age\n+ TestVHD\n+ ConfigurationFile\n+ DiskPath\n+ Running\n+ SizeGB\n+ MemoryMB\n+ MemoryDemandMB\n+ HasSnapshot\n+ IPAddress\n+ Runtime\n+ VMSwitch\n\n![Virtual Machine Type Extensions](assets/vmextensions.png)\n\n## Road Map\n\nI have a few other commands I've built over the years that I would like to integrate into this module. Here's a taste of what I have in mind.\n\n+ Get-VHDSummary\n+ Get-VMLastUse\n+ New-HyperVStatusReport\n+ Show-VMMemoryPressure\n+ Remove-VMEntry\n\n_Last updated 2019-06-26 15:13:22Z UTC_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdhitsolutions%2Fpshyperv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdhitsolutions%2Fpshyperv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdhitsolutions%2Fpshyperv/lists"}