2012-04-19 7 views
0

Win32 :: ad :: userを使用してcsvファイル内の特定のユーザー名のDNを取得しようとしていますPerlのモジュールですが、私は正しい構文を得ることができません。ここに私のコードです...(ドメイン名は交換されました)Perl - Win32 :: AD :: User - 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; 

アイデアはありますか?

ありがとうございました!

EDIT: "厳密なサブ"がT:\ Thunderbird Conversion \ GetOU.pl 22行目の558行で使用されている間、エラーはBareword "dn"ではありませんでした。T:\ Thunderbird Conversion \ GetOU.plの実行が中止されましたコンパイルエラーが原因です。

+0

"正しい構文を取得できないようです"というエラーメッセージはPerlではありません。コードを実行するとどうなりますか?そしてそれと同じ重要性の理由は、なぜあなたは「厳密な使用」をコメントしたのですか?スローアウェイライナーをしていない限り、私はいつも 'strict'と' warnings'を毎回使うことをお勧めします。 –

+0

一般的に私は...私はそれを動作させるためにキッチンシンクの試みでそれをしたと思います。 T:\ Thunderbird Conversion \ GetOU.pl 22行目、行558で使用中の「厳密なサブ」の間はエラーです。「T:\ Thunderbird Conversion \ GetOU.pl」の実行がコンパイルエラーにより中止されました。 – Matchete

+1

そう、しないでください。これは、あなたが探している 'get_property'メソッドの引数が文字列であるかのように見えます。だからそれに文字列を与える。 –

答えて

0

、これは、Win32の問題:: AD ::ユーザモジュール - 私は引用符を使用していたとき、私は、関数へのLDAPプロパティを適用しようとしていたので、私は失敗していたましたWinNTプロパティのみを受け入れます。代わりにNet :: Ldapを使用します。

1

おそらくタイプミスだと思います。

$acdiruser->get_property('dn'); 

に関して、だから、

関連する問題