Chef Client as a scheduled task is preferable to a service, as it provides better visibility, more configurability, and fewer issues around log rotation and permissions. The Chef Client Cookbook has support for scheduled tasks.
In more detail:
- Chef Client as a Windows Service has issues with log rotation, which can lead to filling a disk partition. The scheduled task does not have that problem.
- Status of Chef Client as a Windows Service can be indeterminate. The "running" status might indicate only the watcher is working, not the entire Chef Client service.
- Chef Client as a Windows Service can have issues with insufficient permissions depending on the service context. Scheduled task is less likely to have such issues.
- Chef Client as a scheduled task is less likely to have issues upon system reboot. If the network stack is not fully available when the service starts, the Chef Client service may come up in a "wedged" state.