我需要在Windows下用Perl编写一个脚本来接收用户名和密码。该脚本应根据该计算机中的用户帐户对用户进行身份验证,并且还需要检查该用户是否属于Administrators组。服务器不在任何域上,也没有Active Directory,只有本地帐户。
我一直在寻找Perl解决方案,但我能找到的只是连接到LDAP服务。我还搜索了从命令行验证用户的方法,但我找不到适用于这种情况的东西。也许我在寻找错误的词语。
我想知道你们中是否有人能想出办法来实现这一目标。
提前感谢您的任何评论! : - )
答案 0 :(得分:0)
好的,所以我找到了实现这个目标的方法。我还是想听听你们看看是否有更好的方法。
Active State Perl包含一个名为Win32::UserAuthentication
的模块,未记录(并且不在CPAN上),并包含有关未进行维护的警告。但是,它在XS上工作,并在验证本地用户时返回一个布尔值。到目前为止,它在那部分工作得相当好。
为了检查用户所属的组,我正在使用此系统命令:
net user $user | grep Administrators
其中也很快,到目前为止也是如此。
注意:对于尝试上述命令的任何人,我只有grep
,因为安装了Cygwin
后,它位于我的系统路径上。
如果提出更好的解决方案,我会选择它作为最佳答案。
谢谢,
旧金山