Win32:Lanman, Win32::AdminMisc, and Win32API::Net can all acquire this data for you, if ADSI is unavailable. You may need to authenticate to the machine, in that case Win32::NetResource can help you by a login ( just like mapping a drive w/o the drive letter ) against the remote machine's IPC$ or NetLogon shares.
This is from the Win32::Lanman perldoc :
Retrieves all local groups on server \\testserver
unless(Win32::Lanman::NetLocalGroupEnum("testserver", \@groups))
{
print 'Sorry, something went wrong in (Win32::Lanman::NetLocal
+GroupEnum) ; error: ';
# get the error code
print Win32::Lanman::GetLastError();
exit 1;
}
foreach $group (@groups)
{
print "${$group}{'name'}\t${$group}{'comment'}\n";
}
The @groups array will populate with the local groups on the specified server.
HTH
--
idnopheq
Apply yourself to new problems without preparation, develop confidence in your ability to to meet situations as they arrise.
|