I assume you are running Activestate Perl on that box. You should take a look at the Win32::OLE documentation, as well as the integrated OLE Browser. The following is untested, as I don't have a Windows box handy, but should get you started.
#Option Explicit use strict; use Win32::OLE; #' Set constants # Const NET_FW_PROFILE_DOMAIN = 0 # Const NET_FW_PROFILE_STANDARD = 1 # ' Scope # Const NET_FW_SCOPE_ALL = 0 #' IP Version - ANY is the only allowable setting for now #Const NET_FW_IP_VERSION_ANY = 2 #' Declare variables #Dim errornum use constant { NET_FW_PROFILE_DOMAIN => 0, NET_FW_PROFILE_STANDARD => 1, NET_FW_SCOPE_ALL => 0, NET_FW_IP_VERSION_ANY => 2, }; my $errornum; #' Create the firewall manager object. #Dim fwMgr #Set fwMgr = CreateObject("HNetCfg.FwMgr") my $fwMgr = Win32::OLE->new("HNetCfg.FwMgr"); #' Get the current profile for the local firewall policy. #Dim profile #Set profile = fwMgr.LocalPolicy.CurrentProfile my $profile = $fwMgr->LocalPolicy->{CurrentProfile}; #Dim app #Set app = CreateObject("HNetCfg.FwAuthorizedApplication") my $app = Win32::OLE->new("HNetCfg.FwAuthorizedApplication"); #app.ProcessImageFileName = "c:\padawan.exe" #app.Name = "Padawan" #app.Scope = NET_FW_SCOPE_ALL $app->{ProcessImageFileName} = "c:\\padawan.exe"; $app->{Name} = "Padawan"; $app->{Scope} = NET_FW_SCOPE_ALL; #' Use either Scope or RemoteAddresses, but not both #'app.RemoteAddresses = "*" #app.IpVersion = NET_FW_IP_VERSION_ANY #app.Enabled = TRUE $app->{IpVersion} = NET_FW_IP_VERSION_ANY; $app->{Enabled} = 0; #' Use this line if you want to add the app, but disabled. #'app.Enabled = FALSE $app->{Enabled} = 1; #On Error Resume Next #errornum = 0 $errornum = 0; #profile.AuthorizedApplications.Add app $profile->AuthorizedApplications->Add($app); #errornum = Err.Number $errornum = 0 + Win32::OLE->LastError(); #if errornum <> 0 then Wscript.Echo("Adding authorized application fai +led with: " & errornum) if ($errornum != 0) { print "Adding authorized application failed with: $errornum"; }

--
Olivier

In reply to Re^3: Register with XP Service Pack 2 Firewall by olivierp
in thread Register with XP Service Pack 2 Firewall by slloyd

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.