Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Setftplogondomain.pl

by jjhorner (Hermit)
on Feb 14, 2002 at 18:27 UTC ( #145525=sourcecode: print w/ replies, xml ) Need Help??

Category: Win32 web stuff
Author/Contact Info J. J. Horner jhorner@2jnetworks.com
Description: For those of us who have to administer IIS installations, we find it backward that the mmc (THE IIS ADMIN TOOL!) can't set the DefaultLogonDomain property of the MSFTPSVC. Instead of using some loopy VB way to do it, I wrote a simple utility and use it now. Easy, straightforward and a small example of ADSI code.
#!/usr/bin/perl
#
# Filename:    Setftplogondomain.pl
# Author:      J. J. Horner (jh8@y12.doe.gov)
# Date:        2/14/2002
# Purpose:     Sets DefaultLogonDomain property of MSFTPSVC
#              on $machine.
# Usage:       $0 <machine_name> <new defaultlogondomain>
# License:     GPL
#          (http://www.gnu.org/licenses/licenses.html#GPL)
#
use warnings;
use strict;
use diagnostics;
use Win32::OLE;

my $DEBUG = 0;                          # In case I need to write some
+ DEBUG messages
$^W = 1;
Win32::OLE->Option(Warn => 1);          # Nice, informative error mess
+ages, but don't die.

my $usage = "\n\n $0 <machine_name> <new value>\n\n";
die $usage unless (@ARGV == 2);
my $server = shift;
my $newlogondomain = shift;

eval {
     ### GetObject and get current value.  For main FTP server IIS://$
+server/MSFTPSVC is needed
     my $ftpobj = Win32::OLE->GetObject("IIS://$server/MSFTPSVC") or d
+ie "Couldn't get object: $!\n";
     my $oldlogondomain = $ftpobj->{DefaultLogonDomain};
     
     ### Since Domains are not case sensitive, use case-insensitive re
+gexp
     if ($oldlogondomain =~ /^$newlogondomain$/i) {
          ### Already functionally the same, all done!
          print "No change needed.  Current DefaultLogonDomain setting
+ correct.\n";
     } else {
          ### Set, commit, and report...
          $ftpobj->{DefaultLogonDomain} = $newlogondomain;
          $ftpobj->SetInfo();
          print "DefaultLogonDomain changed from $oldlogondomain to $n
+ewlogondomain.\n";
     }
};
### Report any errors...
print Win32::OLE->LastError()."\n" if (Win32::OLE->LastError());

Comment on Setftplogondomain.pl
Download Code

Back to Code Catacombs

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://145525]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (21)
As of 2014-09-22 14:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (195 votes), past polls