如何在Windows上的Perl中获取用户和组信息?

时间:2008-10-07 09:15:07

标签: windows perl etcpasswd getpwuid

Perl有几个内置函数,用于在Unix系统(以及支持的其他地方)访问/ etc / passwd以获取用户和组信息。例如,

my $name = getpwuid($uid);

将返回给定用户ID的用户名,如果没有此用户则返回undef。

如果Perl脚本需要可移植并在Unices和Windows上运行,那么应如何访问用户和组信息? ActivePerl似乎支持User :: grent和User :: pwent模块,它们提供对/ etc / passwd的字段访问 - 即使在Windows中也是如此。奇怪的是,它们不支持内置函数getpw *和getgr *。还有什么其他选择?

2 个答案:

答案 0 :(得分:5)

您可以使用Win32::NetAdmin module

UserGetAttributesGroupIsMember看起来像是在做你需要的事。

答案 1 :(得分:0)

奇怪的是,Interix与Microsoft的Unix服务一起构建的Perl确实支持getpw *和朋友。