Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

The windows_firewall cookbook has been deprecated

Author provided reason for deprecation:

The windows_firewall cookbook has been deprecated and is no longer being maintained by its authors. Use of the windows_firewall cookbook is no longer recommended.


windows_firewall (11) Versions 4.0.2

Configures firewall rules on Windows

cookbook 'windows_firewall', '= 4.0.2', :supermarket
cookbook 'windows_firewall', '= 4.0.2'
knife supermarket install windows_firewall
knife supermarket download windows_firewall
Quality 100%

windows_firewall Cookbook

Cookbook Version

This cookbook configures Windows firewall rules.



  • 12.7+


  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows Server 2008
  • Windows Server 2008R2
  • Windows Server 2012
  • Windows Server 2012R2


In your recipe, you can use the windows_firewall_rule resource. Currently, the only supported actions are :create and :delete. Attribute defaults match the netsh advfirewall defaults if they are required by netsh advfirewall, otherwise they are set to 'nil'.

This is a resource-only cookbook, and adding the default recipe to a node's runlist will have no effect.




:create - creates a firewall rule with the parameters supplied
:delete - deletes a firewall rule


  • rule_name Name property. The name of the firewall rule name to create.
  • description The firewall rule description. Optional.
  • localip Can be 'any', a specific address, a subnet in CIDR or ip/mask notation, or a range separated by '-'
  • localport Can be 'any', an integer or one of { rpc | rpc-epmap | iphttps | teredo | [ ,... ] }
  • remoteip Can be 'any', a specific address, a subnet in CIDR or ip/mask notation, or a range separated by '-''
  • remoteport Can be 'any', an integer or one of { rpc | rpc-epmap | iphttps | teredo | [ ,... ] }
  • dir Direction of the rule. Can be in or out. Default is in.
  • protocol Can by 'any', an integer, or one of { | icmpv4 | icmpv6 | icmpv4:type,code | icmpv6:type,code | tcp | udp }
  • firewall_action Can be allow, block, or bypass. Default is 'allow'
  • profile Can be public, private, domain, or any
  • program The path to the program.
  • service The short name of the service, or 'any'
  • interfacetype Can be any, wireless, lan, or ras


  windows_firewall_rule 'Apache' do
    localport '8080'
    protocol 'TCP'
    firewall_action :allow
  windows_firewall_rule 'Enable SSH Access' do
    rule_name 'ssh'
    localport '22'
    protocol 'TCP'
    firewall_action :allow
windows_firewall_rule 'Remove SSH Access' do
  rule_name 'ssh'
  action :delete

License & Authors

Copyright:: 2013-2015 Matt Clifton
Copyright:: 2018 Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

CHANGELOG for windows_firewall

This file is used to list changes made in each version of windows_firewall.

4.0.2 (2018-05-09)

  • Updated the readme to match resource actions / properties
  • Skipped building out the command line options unless we actually need to run a command in order to speed up no-op runs

4.0.1 (2018-05-04)

  • Fix failures loading current state

4.0.0 (05-03-2018)

Breaking Changes

  • The empty default recipe has been removed
  • The existing LWRP has been converted to a custom resource requiring Chef 12.7 or later

Other Changes

  • The resource now includes a :delete action for removing rules by name
  • The resource now loads the current rule state and converges if the rule is missing. This will show up properly in reporting and no longer requires and batch resource to converge
  • A name_property of rule_name has been added to the resource allowing you to use a friendly name for the resource name while still specifying the actual firewall rule name
  • chef_version, issue_url and source_url metadata added
  • All foodcritic warnings resolved
  • All cookstyle warnings resolved
  • Added delivery local mode for linting/unit testing -


  • Fix issue with incorrect use of "deny" as a firewall action. Resource now validates for "allow", "block", or "bypass"


BREAKING CHANGES The protocol attribute was changed from a symbol to a string. If you were explicitly referencing this attribute in your recipes, you will need to update all usages to a string, or remove each usage to rely on the default value ('TCP'):

    windows_firewall_rule 'Apache' do
          protocol 'TCP' # was protocol :TCP



  • Change default action :open to :create


  • Test-kitchen support (only for Windows 2012R2 currently, but tests version 11 and 12 of chef-client)
  • Update metadata with proper attribution as well as Apache license
  • Add more attributes (including remoteip, program, service, etc)
  • Most attributes are set to nil by default and only added to the command if present
  • Style cleanup from rubocop and foodcritic
  • Use batchresource instead of windows_batch
  • Bumps cookbook version to 2.0


Added remoteip and localip attributes. Added Berksfile and preliminary test-kitchen harness. Several bits of cleanup that should not introduce any breaking changes, but a version bump seemed prudent.


  • Initial release of windows_firewall

Check the Markdown Syntax Guide for help with Markdown.

The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.

Collaborator Number Metric

4.0.2 passed this metric

Contributing File Metric

4.0.2 passed this metric

Foodcritic Metric

4.0.2 passed this metric

No Binaries Metric

4.0.2 passed this metric

Testing File Metric

4.0.2 passed this metric

Version Tag Metric

4.0.2 passed this metric