Is there a supported way to set and read host bind/connect permissions for Hyper-V sockets on VMMS-managed VMs?

Chris Terrell 120 Reputation points
2026-09-27T22:01:11.7666667+00:00

I'm designing an application for ordinary persistent Generation 2 VMs managed through VMMS/WMI on Windows 11 Pro (observed host build 26200). The full host revision and guest builds are not yet pinned. This is a documentation question before implementation.

I want a selected host service account to bind/connect to a specific VM ID and service ID, while excluding other unprivileged host accounts.

The WMI interface documentation describes default service enablement. The HCS socket schema separately exposes BindSecurityDescriptor and ConnectSecurityDescriptor.

What supported interface, if any, sets and reads effective host-process bind/connect permissions for an ordinary VMMS-managed VM?

I have not established that the HCS fields apply to VMMS-created VMs, or that a service-registration key's DACL controls socket access. A documented API/property mapping, supported Windows versions, or an explicit documented limitation would help.


Windows for business | Windows Client for IT Pros | Storage high availability | Virtualization and Hyper-V
0 comments No comments

1 answer

Sort by: Oldest
  1. Daphne Huynh (WICLOUD CORPORATION) 1,550 Reputation points Microsoft External Staff Moderator
    2026-09-28T02:44:37.9733333+00:00

    Welcome to Microsoft Q&A!

    Thank you for taking the time to provide such a detailed description of your scenario and for clearly differentiating between VMMS-managed VMs and HCS-managed compute systems. That distinction is important when evaluating the available Hyper-V socket interfaces and their supported configuration paths.

    Based on the currently published documentation, there does not appear to be a documented or supported API that allows administrators or applications to set or query per-host-account bind and connect permissions for a Hyper-V socket endpoint on a standard VMMS/WMI-managed virtual machine.

    For persistent VMs created and managed through Hyper-V Manager, PowerShell, or the root\virtualization\v2 WMI provider, the documented Hyper-V socket model provides:

    • Registration of a service ID on the host
    • Per-VM enablement or disablement of that service through WMI
    • Endpoint identification through a VM ID and Service ID pair
    • Standard AF_HYPERV socket operations once the service is registered and enabled

    However, the published VMMS and WMI interfaces do not expose properties that correspond to BindSecurityDescriptor or ConnectSecurityDescriptor, nor do they provide a documented method to read the effective ACL evaluated by the Hyper-V socket stack.

    While BindSecurityDescriptor and ConnectSecurityDescriptor are documented within the Host Compute System (HCS) schema, those fields are described as part of the JSON configuration used when an application creates and manages a computer system through the HCS APIs. The available documentation does not state that these settings can be applied to, inherited by, or queried from an existing VM that is created and owned by VMMS. As a result, those fields should not currently be assumed to define the security configuration of a VMMS-created virtual machine.

    The same caution applies to the service-registration registry key. The documentation requires registration of the service ID and indicates that registration enables communication and management functionality. However, it does not document the registry key's DACL as the authorization policy for AF_HYPERV bind or connect operations. While the DACL can control who is permitted to modify the registration data, relying on it as a security boundary for socket access would depend on behavior that is not documented as part of the supported contract.

    It is also worth noting that Grant-VMConnectAccess, Get-VMConnectAccess, and Revoke-VMConnectAccess address VMConnect authorization only. They control who can initiate a Virtual Machine Connection session and do not provide authorization controls for application-defined Hyper-V socket services.

    Based on the documentation currently available, the supported conclusions are:

    1. No public VMMS/WMI property or Hyper-V PowerShell command is documented for configuring per-service Hyper-V socket bind/connect security descriptors.
    2. No public interface is documented for reading the effective host-process bind/connect permissions associated with a VM ID and Service ID pair on a VMMS-managed VM.
    3. The HCS schema security descriptor fields should only be relied upon in scenarios where Microsoft explicitly documents their use within an HCS-managed compute system lifecycle.
    4. The DACL on the service-registration key should not be considered a supported AF_HYPERV authorization mechanism unless Microsoft documentation explicitly states otherwise.
    5. For VMMS-managed VMs, authorization is generally expected to be enforced by the host-side service or broker application, with the Hyper-V socket endpoint operating under an appropriately restricted service identity.

    If your design specifically requires Windows to enforce different bind/connect permissions for individual host accounts at the Hyper-V socket layer, the available documentation does not currently describe a supported mechanism for doing so.

    I hope this helps clarify the current documentation boundaries and saves you from relying on behaviors that may not be considered part of the supported platform contract.

    Moreover, I appreciate that you are trying to validate the design before investing further development effort. Because the published documentation does not currently define a supported mechanism for managing or querying these permissions on VMMS-managed VMs, I would encourage you to open a Microsoft Support case or submit a documentation feedback request. This allows the product team or support engineers to review your exact requirements and provide guidance that is specific to the Windows build and Hyper-V configuration you plan to deploy.

    References:

    Make your own integration services | Microsoft Learn

    Host Compute System Overview | Microsoft Learn

    JSON Schema Reference | Microsoft Learn

    Schema Overview | Microsoft Learn

    Get-VMConnectAccess (Hyper-V) | Microsoft Learn

    Set-VMSecurityPolicy (Hyper-V) | Microsoft Learn

    Hyper-V Module | Microsoft Learn

    Troubleshoot Hyper-V Installation, Configuration, and Operational Failures - Windows Server | Microsoft Learn

    Troubleshoot Hyper-V Cluster Connectivity, Management, and Configuration Failures - Windows Server | Microsoft Learn

    Hyper-V documentation | Microsoft Learn

    If you find it useful, please click Accept Answer.

    Thank you for choosing Microsoft Q&A.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.