我已经用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