Similar to Linux script resources for bash
, ruby
, and so on, Chef can execute arbitrarily-defined Windows batch scripts through the command interpreter. When these resources are used, Chef compiles the contents of the batch
script as defined in the resource block's code
attribute and then deposits it on the managed host and it is executed from there.
Note
Take caution when using script resources; they are unstructured and can easily perform actions that have unintended side effects. Similar to the way the software is built, two immediate subsequent runs of the Chef client on a node should have the same effect as only running it once in order to guarantee a reliable and consistent system configuration. Make sure that you develop scripts that are idempotent in nature (that is, it can be run multiple times and have the same effect as only running once), or use conditionals to prevent multiple executions.
Since scripts are arbitrary and of a free form, you can use them to...