The chef-client can be installed on machines running Microsoft Windows in the following ways:

By using the knife windows plugin to bootstrap the chef-client; this process requires the target node be available via SSH (port 22) or by using the HTTP or HTTPS ports that are required by WinRM

By downloading the chef-client to the target node, and then running the Microsoft Installer Package (MSI) locally

By using an existing process already in place for managing Microsoft Windows machines, such as System Center

To run the chef-client at periodic intervals (so that it can check in with the Chef server automatically), configure the chef-client to run as a service or as a scheduled task. (The chef-client can be configured to run as a service during the setup process.)

The knifewindows subcommand is used to configure and interact with nodes that exist on server and/or desktop machines that are running Microsoft Windows. Nodes are configured using WinRM, which allows native objects—batch scripts, Windows PowerShell scripts, or scripting library variables—to be called by external applications. The knifewindows subcommand supports NTLM and Kerberos methods of authentication.

To run the chef-client at periodic intervals (so that it can check in with the Chef server automatically), configure the chef-client to run as a service or as a scheduled task. This can be done via the MSI, by selecting the Chef Client Service option on the Custom Setup page or by running the following command after the chef-client is installed:

$ chef-service-manager -a install

and then start the chef-client as a service:

$ chef-service-manager -a start

After the chef-client is configured to run as a service, the default file path is: c:\chef\chef-client.log.

Many organizations already have processes in place for managing the applications and settings on various Microsoft Windows machines. For example, System Center. The chef-client can be installed using this method.