#!/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());
In reply to Setftplogondomain.pl by jjhorner
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |