NAME
Win32::pwent - pwent and grent support for Win32
SYNOPSIS
use Win32;
use Win32::pwent qw(getpwnam getpwent endpwent);
my $uid = getpwnam(getlogin);
my $win32login = Win32::LoginName();
while( my @pwent = getpwent )
{
if( $pwent[0] eq $win32login and $pwent[2] == $uid )
{
print( "It's me \\o/\n" );
endpwent();
last;
}
}
DESCRIPTION
Win32::pwent should help building a bridge for Perl scripts running on Unix like systems to Win32.
It supports reading access to LanManager User-Info structures via the well known pwent and grent functions.
EXPORT
Win32::pwent doesn't export anything by default. Following function can be imported explicitely: endgrent
, getpwent
, getpwnam
, getpwuid
, entgrent
, getgrent
, getgrnam
, getgrgid
SUBROUTINES/METHODS
All exported subroutines behaves as the same ones for Unix-like systems provided by Perl itself. See http://perldoc.perl.org/.
getpwent
Returns the next entry from user list got from LANMAN user database. If this is the first call to getpwent
(or the first call after an endpwent
call), a user cache based on the LANMAN database using the functions GetUsers
and UserGetInfo
from the module Win32API::Net is created.
see http://perldoc.perl.org/functions/getpwent.html
endpwent
Free the user list cache and rewind the pointer for the next user entry.
see http://perldoc.perl.org/functions/endpwent.html
setpwent
Rewind the pointer for the next user entry.
see http://perldoc.perl.org/functions/setpwent.html
getpwnam
Fetches the user (by name) entry from LANMAN user database and return it
see http://perldoc.perl.org/functions/getpwnam.html
getpwuid
fetches the user (by user id) entry from LANMAN user database and return it
see http://perldoc.perl.org/functions/getpwuid.html
getgrent
Return the next group entry from LANMAN group database. If this is the first call to getgrent
(or the first call after an endgrent
call), a group cache based on the LANMAN database using the functions GroupEnum
and GroupGetInfo
from the module Win32API::Net is created.
see http://perldoc.perl.org/functions/getgrent.html
endgrent
Free the group list cache and rewind the pointer for the next group entry.
see http://perldoc.perl.org/functions/getgrent.html
setgrent
Rewind the pointer for the next group entry.
see http://perldoc.perl.org/functions/getgrent.html
getgrnam
Fetches the group (by name) entry from LANMAN user database and return it. This function doesn't uses the groups cache from getgrent.
see http://perldoc.perl.org/functions/getgrnam.html
getgrgid
Fetches the group (by group id) entry from LANMAN user database and return it. This function doesn't uses the groups cache from getgrent.
see http://perldoc.perl.org/functions/getgruid.html
AUTHOR
Jens Rehsack, <rehsack at cpan.org>
BUGS AND LIMITATIONS
Win32::pwent uses the LAN manager interface, so it might be possible that users and groups from Active Directory are not recognized.
All functions provided by Win32::pwent are pure perl functions, so they don't provide the additional features the core functions provide, because the core implementation handles them as operators.
If you think you've found a bug then please also read "How to Report Bugs Effectively" by Simon Tatham: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html.
Please report any bugs or feature requests to bug-win32-pwent at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Win32-pwent. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Win32::pwent
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
Please recognize that the development of Open Source is done in free time of volunteers.
ACKNOWLEDGEMENTS
Jan Dubios from ActiveState who helped me through the required patches for Win32API::Net and give a lot feedback regarding compatibility.
LICENSE AND COPYRIGHT
Copyright (c) 2010 Jens Rehsack.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.