我正在尝试使用Perl中的Win32 :: ad :: user模块获取csv文件中给定用户名的DN,但我似乎无法正确使用语法。这是我的代码......(域名已被替换)
#!/usr/bin/perl
#use strict;
use warnings;
use Win32::AD::User;
use Text::CSV;
use Net::LDAP;
my $file = "Users.csv";
my $csv = Text::CSV->new();
open (CSV, "<", $file) or die $!;
while (<CSV>) {
if ($csv->parse($_)) {
my @username = $csv->fields();
my $user = $username[0];
my $adstring = join('', $user, ',user",',$user, '"');
my $acdiruser=Win32::AD::User->new('WinNT://my.domain.EDU/ ',$user);
$acdiruser->get_info();
print join ("\n", $acdiruser->get_property( dn ));
}
}
close CSV;
有什么想法吗?
感谢!!!
编辑:在T:\ Thunderbird Conversion \ GetOU.pl第22行第558行使用“strict subs”时,错误是Bareword“dn”不允许。执行T:\ Thunderbird Conversion \ GetOU.pl中止到期编译错误。
答案 0 :(得分:1)
我认为这可能是一个错字。
$acdiruser->get_property( 'dn' );
的问候,
答案 1 :(得分:0)
所以,这是Win32 :: AD :: User模块的一个问题 - 当我使用Quotes时,我失败了,因为我试图将LDAP属性应用于只接受WinNT属性的函数。我将改用Net :: Ldap。