Enter-PSsession fails connecting to Windows 8.1 virtual machine

Hello,

I have a Windows 11 host computer connected to a domain and created a virtual Windows 8.1 client with Hyper-V connected together with the internal network-switch.
When I enter in Powershell on the host computer the following command: Enter-PSsession -VMName vPC_W81 I got the login-screen.
After a time-out I got the following error-message:
CreateRemoteRunspaceForVMFailed

In the Application Event log I see some information about the problem:
Event Name: PnPDriverNotFound
Problem signature:
P1: x64
P2: VMBUS{999e53d4-3d5c-4c3e-8779-bed06ec056e1}

In the Device Manger I see an Unknown device popping-up during the time-out with the following name: VMBUS{999e53d4-3d5c-4c3e-8779-bed06ec056e1.
After the time-out this device disappears again.
It is possible to ping both computers.

Does somebody have some clues how I can solve this problem?

Regards, Wamor

A couple of things come to mind:

  • Is PS Remoting correctly configured on the guest computer?
  • Are there any firewall rules blocking, either on the 8.1 machine or the network?
1 Like

Hello psdarwin,

Thank you for your response.
I did not do any configuration to PS on the guest computer yet.
Are there extra some steps which I have to do?
I switched the firewall completely off on the guest computer to have no influence.

Regards,

Wamor

Have you at least tried to search for a solution by yourself before you came here? Microsoft does not keep this information confidential … :man_shrugging:

2 Likes

Hello and welcome to the forum. When sharing any kind of code or error messages it’s helpful to use the “Preformatted Text” option from the toolbar to make everything more readable and maintain formatting.
Guide to Posting Code - Redux

I’m with Darwin and Olaf on this: step one is configuring PS Remoting on the Win8.1 machine. PS remoting is not a “default on” thing and requires configuration.
Being that it’s definitely not on, I’m confused by this part of your post:

What do you mean by “login-screen”? Like a graphical desktop login screen? Or a terminal based login prompt? PowerShell remoting is an entirely CLI experience so I’m confused by this.

Hello grey0ut,

Thank you for your response. I will use “Preformatted Text” in my message in the future.
Because of your remarks I ran the Enable-PSRemoting command at the client-machine in PowerShell as Administrator but still I could not connect using the host-machine.
Are there more steps to perform?
The login-screen which I got is the “Windows PowerShell credential request”-screen.
In this screen I enter the Username and password of a administrative user on the client-machine.
I switched firewall off on both computers.

I hope this clarifies my question.

Do you have different PowerShell versions on the host and the guest? Searching for the error message CreateRemoteRunspaceForVMFailed brings up the article I have linked below. As Windows 8.1 had PowerShell version 4.0 installed, you will need to upgrade it if you haven’t already.

Hello matt-bloomfield,

Thank you for you response.
I updated both my systems to PowerShell 7.5.1 but still no success.
After sending the Enter-PSsession -VMName vPC23 I got a response asking me for a User and Password. I entered the username and password from an adminstrative user on the guest.
After a timeout I got the following message:
Enter-Pssession: An error has occurred which Powershell cannot handle. A remote session might have ended

Any idea what I am still doing wrong here or how I can test to get more details ?
Could the problem be that my guest-machine is a Windows 8.1 Pro machine ?

Did you do the configuraiton for PS remoting from inside a console of the newly installed PowerShell version? What’s the output on both machines - host and guest - of the following commands:

$psVersionTable.PSVersion.ToString()
Test-WSMan

Did you activate the Hyper-V Guest services on the guest OS? Check from the host

Get-VMIntegrationService -VMName 'vPC_W81'

Next … Are you awary that the support for Windows 8.1 ended more than 2 years ago?

And last but not least … what are you trying to do? Whatfor would you like to use this setup?

Hello Olaf,

Thanks for your remarks and your help.
I have software for programming FPGA which is only working under Windows 8.1 and is running on a physical machine which gets old and buggy. I want to change this to a virtual machine on a Windows 11 computer.

$psVersionTable.PSVersion.ToString()
Test-WSMan

The below command return the same information on both the client and host machine:

7.5.1
wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 0.0.0 SP: 0.0 Stack: 3.0

But when I execute the below command on my client-machine I got the response that ‘Get-VMIntegrationService’ is not recognized as a name of a cmdlet, function, script file, or executable program ?

Get-VMIntegrationService -VMName 'vPC_W81'

Again … this is meant to be run on the host …

Doesn’t that need an according physical device? If yes - are you sure you can access this physical device from inside a VM?

If all that does not work out - what’s your plan B? And why do you actually need to access this VM via PowerShell? I’d expect you use this software interactively via GUI?! :thinking: :man_shrugging:

Ah, sorry my bad reading.
On the host I got the following response:

VMName    Name                    Enabled PrimaryStatusDescription SecondaryStatusDescription
------    ----                    ------- ------------------------ --------------------------
vPC023W81 Guest Service Interface False   OK
vPC023W81 Heartbeat               True    OK                       OK
vPC023W81 Key-Value Pair Exchange True    OK
vPC023W81 Shutdown                True    OK
vPC023W81 Time Synchronization    True    OK                       The protocol version of the component installed in …
vPC023W81 VSS                     True    OK                       The protocol version of the component installed in …

There is no Plan B, but all programming software is by command-line.
And, yes I did not check if a physical device is working. But it has a USB-interface ?

I’d check that first before you heavily invest time and effort for no benefit. :man_shrugging:

You could still logon to this VM by GUI and use the command line from there … no struggle accessing the client VM by PowerShell … :point_up: :+1:

I’ve heard about a lot of problems trying to access USB devices connected to a Hyper-V host from inside VMs.

I’d try to enable the guest services on this VM.

Hello Olaf,

Thank you for your remarks
Guest services on VM are now enabled but still no success.
Any suggestions what I could check to see what is happening?
I still find it strange that in the event-viewer of the VM I got an informational event with the name: PnPDriverNotFound just at the moment the EnterPSsession-command timeout.
Any thoughts about that?
I will check if my USB hardware is working connected to a Hyper-V host inside a VM.

If that works you should …

I think you might be confusing solutions here. Going back to your original post, you state you’re using the command

 Enter-PSsession -VMName vPC_W81

but the VMName parameter is for when you’re using PowerShell Direct, which isn’t supported by Windows 8.1. It requires Windows 10 or newer.

I note you have connected the VM to a virtual switch. Assuming the network is correctly configured, try using the ComputerName parameter with the IP address or hostname of the VM.

If the hostname doesn’t resolve, will need to add it to the hosts file on the host (I’m assuming this is all on a PC and you don’t have a DNS server).

2 Likes

This might be a rabbit trail, and I know nothing about FPGA programming, but a quick web search makes me think there is open-source software to do this that runs on Windows 11. From a security perspective, I would be trying to find a way to do my work on a supported OS if it was at all possible, instead of trying to program through Windows 8.1 using hardware connected to a VM host.

That being said, I would suggest making sure this configuration (programming hardware on a VM host from a VM using RDP) even works before I tried to make remote PowerShell work on an unsupported OS. I think the hardware will be the bigger challenge.

1 Like

The first thing that jumps out at me is you said you created an Internal vSwitch!

With Hyper-V Internal vSwitches you can be sure that traffic will never leave the HOST if you want to remotely do anything with the VM it needs to be an External vSwitch (which can be easily changed in the properties of the vSwitch. Then you need to open PowerShell inside the gues VM and run the commands to “Enable-PSRemoting”. For RDP you will need to go under the System properties (sysdm.cpl) and go to the remoting tab and enable remote assistance there.

1 Like

Hello everybody,

I will follow the advise from Olaf and will first check if my USB hardware is supported in the Hyper-V virtual machine. I believe that with Hyper-V this could be an issue.
Thank you all for you remarks and advise!

What I wonder … the software seems to a console application. Are you sure it does not run on Windows 11?

Did you try to get an update supporting current operating systems? What about alternative software supporting the physical device you have? And last but not least … wouldn’t it be possible to get a new physical device for the task you want to get done? Since you already have major issues to get it working that will not get better in the future. :man_shrugging:

1 Like