RE: Win32::lanman?
by Peter Guzis other posts by this author
Jan 31 2003 6:17PM messages near this date
view in the new Beta List Site
Re: Determing if a file has changed
|
Re: determining if a scalar is an integer or not
Perfect timing. I was just diagnosing my own computer browser issues. Here's what I use:
---
use strict;
use Socket;
use Win32::Lanman;
my $domain = 'YOURDOMAIN';
my (@info, $fail);
my @servers = qw( DC1 DC2 DC3 DC4 );
my @browsers = (
{
name => 'Master Browsers',
type => SV_TYPE_MASTER_BROWSER
},
{
name => 'Backup Browsers',
type => SV_TYPE_BACKUP_BROWSER
},
{
name => 'Potential Browsers',
type => SV_TYPE_POTENTIAL_BROWSER
}
);
foreach my $server (@servers) {
printf "%s\n%s\n%s\n\n",
'-' x length ($server), $server, '-' x length ($server)
;
foreach my $browser (@browsers) {
$! = undef;
if (Win32::Lanman::NetServerEnum (
$server, $domain, $browser-> {'type'}, \@info
)) {
print "--- $browser-> {'name'} ---\n";
my %browsers;
foreach (@info) {
my $ip = resolve_name ($_-> {'name'});
printf "%-16s %-15s\n", $_-> {'name'}, $ip if (!$browsers{$_->{'name'}}++);
}
} else {
if (++$fail > 10) {
print "--- $browser-> {'name'} ---\n";
chomp (my $error = Win32::FormatMessage (Win32::Lanman::GetLastError()));
printf "Error: %s\n", $error;
$fail = 0;
next;
}
redo;
}
print "\n";
}
}
exit;
sub resolve_name {
my ($name) = @_;
my $addr = gethostbyname ($name);
join '.', (unpack 'C4', $addr);
}
---
Peter Guzis
Web Administrator, Sr.
ENCAD, Inc.
- A Kodak Company
email: pguzis@[...].com
www.encad.com
-----Original Message-----
From: FARRINGTON, RYAN [mailto:ryan.farrington@[...].com]
Sent: Friday, January 31, 2003 10:05 AM
To: perl-win32-users@[...].com
Subject: Win32::lanman?
ok I know win32::lanman can get the list of servers within a domain but does anyone have wor
king code?
_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
|