~tieong/Pwsh4VirtualBox

Pwsh4VirtualBox is a wrapper written in powershell for vboxmanage with some convenience functions to quickly spin up multiple vm, manage groups of vm, making multiple unattended install at once...
Added copyright notices
Updated copyright notice
Updated copyright notices

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~tieong/Pwsh4VirtualBox
read/write
git@git.sr.ht:~tieong/Pwsh4VirtualBox

You can also use your local clone with git send-email.

#Pwsh4VirtualBox

Pwsh4VirtualBox is a wrapper written in powershell for vboxmanage with some convenience functions to quickly spin up multiple vm, manage groups of vm, making multiple unattended install at once...

I decided to make this wrapper when I got fed up with the slowness of the terraform provider for virtualbox this wrapper takes just a few seconds to bring up machines and to run unattended install on them. If anyone knows how to automatically generate bindings from the c++ source to powershell/dotnet I'm all ears.

Right now this module should be ready for daily usage, it does lacks input validation here and there and some code needs to be refactored, also needs more tests, pull requests are welcome.

Import-Module Pwsh4VirtualBox

#Installation

See Powershell module docs for more details on how you would install this module.

On linux it is enough to copy this repository into ~/.local/share/powershell/Modules/

#Overview of functions

These should be self-explanatory, you can see the docs of these functions with Get-Help New-Vm once you imported the module.

New-Vm
New-VmUnattendedInstall
Set-VmState
Edit-Vm
Edit-VmStorage
Edit-VmUserInterface
Remove-Vm
Remove-AllVm
Get-ConfigPath

Samples scripts that uses this module are available in the examples directory.

Note that if you want to play with this module, you do need to ```Remove-Module Pwsh4Virtualbox`` every time you make a change and want to test it and then reimport the module otherwise powershell is going to use the old version of the script.

#Tests

Install Pester and PSScriptAnalyzer, see the Pester docs and PSScriptAnalyzer docs

pwsh -Command Invoke-ScriptAnalyzer . && pwsh -Command Invoke-Pester -Output Detailed