1

我需要在 Windows 下用 Perl 编写一个脚本,该脚本将接收用户名和密码。该脚本应根据该计算机中的用户帐户对用户进行身份验证,并且还需要检查用户是否属于管理员组。该服务器不在任何域上,也没有 Active Directory,只有本地帐户。

我一直在寻找 Perl 解决方案,但我能找到的只是连接到 LDAP 服务。我还搜索了从命令行对用户进行身份验证的方法,但我找不到适用于这种情况的方法。也许我在寻找错误的词。

我想知道你们中是否有人能想到一种方法来实现这一点。

提前感谢您的任何评论!:-)

4

1 回答 1

0

好的,所以我找到了一种方法来实现这一点。我仍然想听听你们的意见,看看是否有更好的方法。

Active State Perl 包含一个名为 的模块Win32::UserAuthentication,该模块没有文档记录(并且不在 CPAN 上),并且包含关于它未维护的警告。但是,它适用于 XS 并在验证本地用户时返回布尔值。到目前为止,它在这部分工作得很好而且很快。

为了检查用户所属的组,我使用这个系统命令:

net user $user | grep Administrators

它的工作速度也很快,到目前为止也适用于此目的。

注意:对于尝试上述命令的任何人,我只有grep因为它在我的系统路径上,因为它已经Cygwin安装了。

如果提出更好的解决方案,我会选择它作为最佳答案。

谢谢,

弗朗西斯科

于 2013-08-11T14:58:43.873 回答