从Perl对Windows本地用户进行身份验证

时间:2013-08-11 14:18:37

标签: windows perl windows-authentication authentication windows-users

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

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

我想知道你们中是否有人能想出办法来实现这一目标。

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

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了实现这个目标的方法。我还是想听听你们看看是否有更好的方法。

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

为了检查用户所属的组,我正在使用此系统命令:

net user $user | grep Administrators

其中也很快,到目前为止也是如此。

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

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

谢谢,

旧金山