- 1 year ago
Hyper-V PowerShell - Run a bash command in Linux VM and get output
To run a bash command in a Linux virtual machine (VM) using PowerShell in Hyper-V and retrieve the output, you can use the Invoke-VMScript
cmdlet. Here's an example:
powershell$VMName = "YourVMName"
$Script = "ls -l"
# Run the bash command in the Linux VM and retrieve the output
$result = Invoke-VMScript -VMName $VMName -ScriptText $Script -GuestUser "yourusername" -GuestPassword "yourpassword"
# Print the output
Write-Host "Output:"
Write-Host $result.ScriptOutput
In the above example, replace "YourVMName"
with the name of your Linux VM. Modify the $Script
variable to contain the bash command you want to execute in the Linux VM.
You will also need to provide the guest username and password for authentication in the Linux VM. Replace "yourusername"
and "yourpassword"
with the appropriate credentials.
The Invoke-VMScript
cmdlet runs the specified script ($Script
) in the specified VM ($VMName
) and captures the output in the $result
variable. The output can be accessed using $result.ScriptOutput
, which contains the output of the bash command executed in the Linux VM.
Make sure you have the Hyper-V PowerShell module installed and loaded before running these commands. You can import the module using the Import-Module Hyper-V
command.
By running this PowerShell script, you can execute a bash command in a Linux VM hosted in Hyper-V and retrieve the output of that command.