Wednesday, July 30, 2014

Part - 4 : PowerShell and Hyper-V : Connecting to Hyper-V Virtual Machines.

 

  1. Part 1 :  PowerShell and Hyper-V : Getting Started
  2. Part 2 :  PowerShell and Hyper-V : Virtual Switch
  3. Part 3 :  PowerShell and Hyper-V : Starting Virtual Machines

After running and starting Virtual Machines, we need to connect with them. We need to see the screen of the Virtual machines, so that we able to see "what's happening".

The most frequent way to connect to the virtual machines is to by using "Hyper-V Manager" , Right click on them and choose to "Connect" or select the virtual machine and then click on the "Connect" in the "Action Pane"

Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya

But, it's not making any sense, that we have started the virtual machine using PowerShell, now we have to use GUI of "Hyper-V Manager" to connect with our virtual machine.

Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya

Unfortunately, there seems no PowerShell cmdlet is there, by which we able to connect to virtual machine console.

Fortunately, there is small exe named as vmconnect.exe is available by which we can connect to the virtual machine.

If you type vmconnect.exe and hit enter, it will open a "Remote Desktop" type window, asking for server and Virtual machine name to connect.

Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya

If you want to see more parameters supported by vmconnect.exe , simple type vmconnect.exe /? and hit enter.

Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya

As we see in above screenshot, it seems that vmconnect.exe require majorly two thing to connect to the Virtual machine, first is "Hyper-V server" name and the second is name of the virtual machine which we need to connect to.

Let's connect to console in a semi- PowerShell way.

As we know that  we can get a Hyper-V server name using Get-VMHost cmdlet.

In the below command I am storing the  .Name value of Hyper-V server in to a $vmHostName variable.

$vmHostName = (Get-VMHost).Name

Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya


Execute the variable name and you can see the name of my Hyper-V server there.


Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya


Rest of everything is simple now, type the vmconnect.exe and then provide our $vmHostName variable and after that provide the name of the virtual machine , which we want to connect to, in my case it is "MediaWiki" , provide the name and hit enter.

vmconnect.exe $vmHostName "MediaWiki" 

Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya


Bingo!! We are connect to our virtual machine console.. yayay!!!


If you are looking for a good PowerShell function to make this more advance check this out : http://www.powershellmagazine.com/2012/10/11/connecting-to-hyper-v-virtual-machines-with-powershell/ a cool function written by our PowerShell Guru Shay Levy.


Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya


That's all for now. See you in my next blog post.


Aman Dhally, Manya Dhally, Manya Kaur, Manya Arora, Manya 


Thanks.


Aman Dhally



Come and join my journey of : “100 Days of Self Improvement” on


 


Facebook: https://www.facebook.com/100DoSI 



If you like, you can follow me on Twitter and Facebook. You can also check my “You Tube channel for PowerShell video tutorials. You can download all of my scripts from “Microsoft TechNet Gallery”.

Part - 3 : PowerShell and Hyper-V : Start Virtual Machines.

 

  1. Part 1 :  PowerShell and Hyper-V : Getting Started
  2. Part 2 :  PowerShell and Hyper-V : Virtual Switch

 

It's easy to learn the basic things first before get in to the complex one. I always willing to show and teach basic and simple thing first. By start learning at basic level it helps us in speeding learning.

Today, we are going to learn that how to start a "powered Off" virtual machine.  Before starting a virtual machine, let's get the list of all virtual machine and see which one is "powered Off"".  As you know, we can use the Get-VM cmdlet to get the list of all "Virtual Machines".

Run the Get-VM cmdlet and you will see... Arr!! All  virtual machines are "Off". (OOps moment Winking smile )

Aman Dhally PowerShell

No problem, we can start a single virtual machine for now, I would like to start my "MediWiki" virtual machine. 

To start any virtual machine we use the "Start-VM " cmdlet.  In the below command, I had used two parameters. -Name to provide the name of the virtual machine which I want to start. -Verbose to see the verbose output of the command.

Start-VM -Name "MediaWiki" -Verbose

After running the command, you can see that, it's start starting the "MediWiki"  virtual machine.

Aman Dhally PowerShell

No "red red" error! Everything seems good.

Aman Dhally PowerShell

Now lets check the "Hyper-V Manager" and check the status of the "MediWiki" virtual machine. 
And in the below screenshot you can see that our  "MediWiki"is running and started.

Aman Dhally PowerShell


That's all for today. See you in the next blog post.


Aman Dhally Manya Dhally


 


Thanks.


Aman Dhally


Come and join my journey of : “100 Days of Self Improvement” on


 


Facebook: https://www.facebook.com/100DoSI 


If you like, you can follow me on Twitter and Facebook. You can also check my “You Tube channel for PowerShell video tutorials. You can download all of my scripts from “Microsoft TechNet Gallery”.