Как получить информацию о пользователе и группе в Perl в Windows? - PullRequest
4 голосов
/ 07 октября 2008

Perl имеет несколько встроенных функций для доступа к / etc / passwd в системах Unix (и в других местах, когда это поддерживается) для информации о пользователях и группах. Например,

my $name = getpwuid($uid);

вернет имя пользователя с указанным идентификатором пользователя или undef, если такого пользователя нет.

Если Perl-скрипт должен быть переносимым и запускаться в Unices и Windows, как получить доступ к информации о пользователях и группах? ActivePerl поддерживает модули User :: grent и User :: pwent, которые обеспечивают доступ к / etc / passwd на местах - даже в Windows. Любопытно, что они не поддерживают встроенные функции getpw * и getgr *. Какие еще есть альтернативы?

Ответы [ 2 ]

5 голосов
/ 07 октября 2008

Вы можете использовать модуль Win32::NetAdmin .

UserGetAttributes и GroupIsMember выглядят так, как будто они делают то, что вам нужно.

0 голосов
/ 22 августа 2009

Как ни странно, сборка Interl для Perl, поставляемая с Microsoft Services for Unix, поддерживает getpw * и друзей.

...