Over time I added more and more options to the script, and I think it is time now to provide a detailed tutorial to show how to make efficient use of it. Grab the latest version (1.3) from my Google Code page and give it a try. The only prerequisite you need is an installation of the current VMware vSphere PowerCLI.
1. The simplest use case: Create an ESXi 5.x installation ISO with the current patch level
If you call the script without any parameters then it will just connect to the VMware ESXi Online depot and create an ESXi 5.x installation ISO with the most current patch level from it:
|How to create a fully patched ESXi 5.x installation ISO|
2. Create an installation ISO from an Offline bundle
The -izip parameter enables you to feed a patch offline bundle to the script instead of using the VMware Online depot (in case you do not have an Internet connection on the machine that runs the script). You can download ESXi patch offline bundles from the VMware patch download portal.
|Export a patch offline bundle into an installation ISO|
3. Add 3rd-party Offline bundles (e.g. hardware drivers)
If you want to add 3rd-party Offline bundles (e.g. hardware drivers) to the exported ISO then you just need to copy them into a common directory and specify that using the -obDir parameter. In the following example I have copied a self-made Offline bundle (that adds a firewall rule to allow incoming NTP queries, see my earlier post) into the directory U:\temp\zip:
|Create a customized ISO by adding Offline bundles|
4. Adding drivers from the HP Online depot
HP provides an own Online depot (http://vibsdepot.hp.com) with hardware management packages for their ProLiant servers. If you are using HP hardware for your VMware hosts then you can use the parameters -hp and -hprel to add these packages to your customized ISO. With the -hprel parameter you can select a specific release set of the HP packages. These are named after the month of their release in the format mmmYYYY (jun2012 in the below example, see http://vibsdepot.hp.com/hpq/ for a current listing). If you omit the -hprel parameter then the script will use the most current versions of the packages.
|Adding the HP Online depot to the customized ISO|
5. Other options
- -isoDir: lets you specify a directory for storing the customized ISO file (the default is the script directory)
- -sip: displays a menu of all available ImageProfiles and lets you pick one of them (instead of automatically choosing the most current standard profile). Use this if you want to intentionally use an older patch level or a -notools profile.
: by default the name of a customized ImageProfile is automatically derived from the original profile's name (by adding the string "-customized"). You can override this behavior by specifying an arbitrary ImageProfile name using this parameter.
- -nsc: Using this parameter will add the -NoSignatureCheck flag to the command that exports the ImageProfile into the ISO file. You will need this if you want to add incorrectly signed packages (like HP's jun2012 version of the hpvsa driver, see this community thread for more background) which otherwise cause error messages like "Could not find a trusted signer".
- -test: This flag is useful if you just want to quickly test and see what the script is going to do without actually exporting/creating the ISO file.
Of course you can combine most of the aforementioned parameters, and - if you do not have this tutorial at hand - you can always use the -help switch to get an overview on how to build more complex script calls:
|ESXi-Customizer-PS v1.3 help screen|