我已經用Perl創建了一組用戶名(@ua);現在我需要檢查每個Active Directory中是否存在。我認爲這樣做的最佳方式是對每個用戶運行dsquery,並確定該命令是否以零或非零值退出。我寫道:我想在Windows下運行Perl下的.exe命令
foreach(@ua)
{
$out = `C:\\Windows\\System32\\dsquery.exe user -samid $_`;
}
當我跑,我得到的命令行控制檯的這個重複列表:
'C:\ WINDOWS \ SYSTEM32 \ dsquery.exe' 不識別爲內部或外部命令,可操作程序或批處理文件。
然而,dsquery.exe 是在該位置,因爲我可以通過簡單地運行它證明:
C:\verify_users>C:\Windows\System32\dsquery.exe user -samid ...
"CN=...,OU=...,OU=...,OU=...,DC=...,DC=...,DC=..."
有什麼想法?
謝謝!
如果他們使用Cygwin版本,ActivePerl和Strawberry Perl將無法運行,Expect只能在Windows上工作:http://search.cpan.org/~rgiersig/Expect-1.21/Expect.pod#___top – Joel