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

4

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

my $name = getpwuid($uid);

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

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

2个回答

5
你可以使用 Win32::NetAdmin 模块UserGetAttributesGroupIsMember 看起来可以满足你的需求。

0

奇怪的是,Interix 版本的 Perl(随 Microsoft 的 Services for Unix 一起提供)确实支持 getpw* 和相关函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接