Using vCLI Commands in
Scripts
Most
administrators run scripts to perform the same task repeatedly or to perform a
task on multiple hosts. You can run vCLI commands from one administration
server against multiple target servers.
For example, when a new data
store becomes available in your environment, you must make that data store
available to each
host. The
following sample script illustrates how to make a NAS data store available to
three hosts (
esxi_server_a, esx_server_b, and esxi_server_c
).
The sample assumes that a
configuration file
/home/admin/.visdkrc.<hostname>
exists for each host. For example, the configuration file for
esxi_server_a
has the following contents.
VI_SERVER = esxi_server_a VI_USERNAME = root VI_PASSWORD = xysfdjkat
The script adds the NAS data
store to each host defined in
VIHOSTS
.
#!/bin/bash VI_CONFIG_FILE=/home/admin/viconfig VIHOSTS=(esxi_server_a esx_server_b esxi_server_c) for VIHOST in ${VIHOSTS[@]} do echo "Adding NAS datastore for ${VIHOST} ..." esxcli --config ${VI_CONFIG_FILE} storage nfs add --host ${VIHOST} --share <share point> --volume-name <volume name> esxcli --config ${VI_CONFIG_FILE} storage nfs list done