You can try this:
-=-
use Win32::OLE qw( in );
my $CLASS = "Computer";
my $Domain = $ENV{'USERDOMAIN'}; # using local env from W2K
my %machines;
my @computers;
if( my $AD = Win32::OLE->GetObject( "WinNT://$Domain,domain" ) )
{
$AD->{Filter} = [ $CLASS ]; # apply filter on our query
foreach my $obj( in( $AD ) ) # enum results
{
$machines{ $obj->{Name} } = 1; # unique names in list
}
@computers = keys %machines;
print join( "\n\t", @computers );
}
-=-
:smp
-----Original Message-----
From: Stefan Olsson [mailto:[EMAIL PROTECTED]
Sent: 20. oktober 2003 17:36
To: [EMAIL PROTECTED]
Subject: foreach my $computer ($domain)
Hello,
I would like to do an inventory on all pc's in the domain (Active
Directory). It is just that I have problem to actually retrieve the data
when doing this:
my $Data = Win32::OLE->GetObject("WinNT://$LocalDomain") or die "Unable
connect to domain";
-When using Data::Dumper on $Data this is the result:
$VAR1 = bless( {}, 'Win32::OLE' );
-All I want to do is to enumerate the computers in the domain and save them
in @computers to then do an inventory on each of them. Can someone help me
on this?
---<script begins here>--------------
#!/usr/bin/env perl
use strict;
use warnings;
use Win32::OLE;
use Data::Dumper;
my $LocalDomain="NTDOMAIN";
my $Data= Win32::OLE->GetObject("WinNT://$LocalDomain") or die "Unable
connect to domain";
print Dumper($Data);
---<script begins here>--------------
above results in a single line:
$VAR1 = bless( {}, 'Win32::OLE' );
_________________________________________________________________
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.
http://join.msn.com/?page=features/virus
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs