In tip 7907, I used the netsh firewall set portopening TCP 445 ENABLE to open TCP port 445.

In Appendix B of Deploying Windows Firewall Settings for Microsoft® Windows® XP with Service Pack 2, Microsoft describes the Netsh Command Syntax for the Netsh Firewall Context which begins with:

The following Netsh commands can be used in scripts or at the command line to configure Windows Firewall for IPv4 and IPv6 traffic when executed from the netsh firewall context:

•     add allowedprogram
•     set allowedprogram
•     delete allowedprogram
•     set icmpsetting
•     set multicastbroadcastresponse
•     set notifications
•     set logging
•     set opmode
•     add portopening
•     set portopening
•     delete portopening
•     set service
•     show
Microsoft describes the set portopening context as follows:
Used to modify the settings of an existing open TCP or UDP port.
set portopening

      \[ protocol = \] TCP|UDP|ALL
      \[ port = \] 1-65535
      \[ \[ name = \] name
        \[ mode = \] ENABLE|DISABLE
        \[ scope = \] ALL|SUBNET
        \[ profile = \] CURRENT|DOMAIN|STANDARD|ALL
        \[ interface = \] name \]

  protocol - The protocol.
      ALL - All protocols.

  port - The port.

  name - The friendly name.

  mode - The mode. If no mode is specified, ENABLE is assumed.
      ENABLE  - Enforced by the firewall.
      DISABLE - Not enforced by the firewall.

  scope - The scope. If no scope is specified, SUBNET is assumed.
      ALL    - All traffic will be allowed.
      SUBNET - Only local subnet traffic will be allowed.

  profile - The profile. If no profile is specified, CURRENT is assumed.
      CURRENT   - The current profile.
      DOMAIN - The domain profile.
      STANDARD     - The standard profile.
      ALL       - All profiles.

  interface - The friendly name of the interface from Network Connections.

  NOTE: The profile and scope parameters may not be used if specifying the interface