Sometimes need to use Powershell instead of GUI in HYPER-V Host. For users that want to learn more Powershell or for those that has a Server Core installation for the HYPER-V Host.
Don't forget that in some cases maybe want to automate a process with Powershell script
Today i would like to talk about a simple command that can use to Shutdown or Start a Virtual Machine from Powershell.
Let's start !!!!
Shutdown a Virtual Machine
Here is a simple command that can use from the Powershell to shutdown a Virtual Machine.
Stop-VM -Name <VMname>
Start a Virtual Machine
And now it's time to start a Virtual machine from Powershell
Start -VM -Name <VMname>
Start or Shutdown Virtual Machine in particular order
How can automate this process? How can create the script to run the command in particular order.
Let's talk about workflow sequence in powershell.
First of all Powershell Workflows is available from Powershell version 3..
Workflow is a sequence of automated steps or activities that can execute tasks. It sounds very interesting.
The benefits of a workflow over a simple script is that can perform an actions against multiple devices . A Powershell Workflow is a powershell script that leverages Windows Workflow foundation.
When to use a Powershell Workflow instead of a script or function?
- You need to perform a long-running task that include multiple steps in a sequence.
- When you want to run a task on multiple devices.
- When you want to run a task that requires checkpointing or persistence.
- You need to perform a long-running task that is asynchronous, restartable, parallelizable, or interruptible.
- You need to run a task on a large scale, or in high availability environments, requiring throttling and connection pooling.
I will not explain more details about Powershell Workflows but you can find more details in the following links
In this scenario I will try to give you an example how can use a basic powershell Wokflow.
Let's say that you want to start multiple Vm's in particular order. How can do that?
One way is to use a function with lot of lines of code to do it.
Another way is to use a workflow with few lines to run the script as you want.
Let's take a look in workflow script
Start-vm -name dc1
Start-vm name mdt
Start-vm name bckserver
If you want to shutdown multiple vm's you can use the same workflow and will change the Start-VM with Stop -VM
Stop-vm -name dc1
Stop-vm name mdt
Stop-vm name bckserver
I hope to find my article valuable and help you in your daily tasks.
Have a nice day !!