Test and fix configuration drift in your VMware vSphere environment.
Vester removes discrepancies from your VMware vSphere environment.
It uses PowerCLI and Pester to compare desired settings versus actual.
Do you know if:
1) All of your hosts have the same NTP settings?
2) Your cluster's DRS is set to the desired aggression level?
3) Any of your VM CD drives have media currently mounted?
4) You've been doing a good job of deleting old VM snapshots?
For your first run, you should run PowerShell with admin rights. This allows
the new config.json file to be created within the default module directory.
# Use PowerCLI to connect to your VMware vCenter server
# Following prompts, copy existing settings from cluster, host, VM, etc.
# Run Vester, using your new config, against the default suite of tests
# -Test uses your current location, but this command works everywhere
By default, New-VesterConfig creates your config.json file at:
"$(Split-Path (Get-Module Vester).Path -Parent)\Configs\config.json"
This file is used to define your desired end-state. You can manually review
and edit the config file as desired. You can 'null' or delete any rows you
do not want to test.
Invoke-Vester is used to run tests against config files.
Please refer to the cmdlet's help for more specific examples.
Get-Help Invoke-Vester -Examples
You may need multiple config files if you have an environment larger than
one vCenter server. Invoke-Vester allows you to specify the config
file to use, which determines the vCenter to connect to, the scope of
clusters/hosts/VMs/etc. to search, and the values to use. This is useful
if you have both Prod/Dev, if you have many sites to manage, and so on.
Vester test files follow the *.Vester.ps1 convention. Test files are designed
to be as easy to contribute and manage as possible, so they don't look like
a normal Pester test.
When running Invoke-Vester, by default it:
- Uses one config file, \Vester\Configs\config.json
- Runs all *.Vester.ps1 tests below the \Vester\Tests\ folder
-Config and -Test can both be overridden, and both accept multiple values.
If overriding -Test, folders and individual *.Vester.ps1 files are accepted.
The -Remediate parameter is designed to immediately fix any discovered issues.
You should always run a test without -Remediate first, to ensure all failed
tests are expected. Don't drink and admin! (...do so responsibly, anyway.)
As an advanced function, Invoke-Vester also supports -WhatIf and -Confirm.
Vester is a community-driven open source project; as such,
there is no official support, and it is used at your own risk.
Find us on GitHub to report bugs, submit questions, request
features, and maybe even lend a hand! :)
The project on GitHub:
Vester, VMware, vCenter, vSphere, ESXi, PowerCLI, Pester