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

标签 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*。还有哪些其他选择?

最佳答案

您可以使用 Win32::NetAdmin module .

UserGetAttributesGroupIsMember 看起来它们可以满足您的需求。

关于windows - 如何在 Windows 上的 Perl 中获取用户和组信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/177722/

相关文章:

python - 没有名为 '_pywrap_tensorflow' 的模块

linux - Ubuntu 中用户组信息存储在哪里以及如何存储?

linux - 无法在装载/etc/passwd 和/etc/shadow 的docker 容器中添加新用户

java - 我的文件无法在 cmd 中打开

linux - 如何在 Ubuntu 16.04 中访问 BitLocker 加密的驱动器?

perl - 将简单的 Perl CGI 扩展到大容量服务器

Emacs 中的 Python 调试器 : set keybindings similar to perldb?

c - 获取二维动态分配字符串数组中单个字符串的长度

java - Maven 如何确定将要运行的测试的顺序?

perl - 您是否应该检查 Getopt::Long::GetOptions 的返回码?