我在这一行中特别得到了这个错误:
# Calculate password using PwdMangler
$PwdMangler = Win32::OLE->new('PWDMangler.Mangler');
my $error1=Win32::OLE->LastError();
print "the error is $error1\n";
unless($password = $PwdMangler->Mangle($user , $password_plain))
{
print $log_file "Error occured in PwdMangler\n";
exit (1);
}
我收到以下错误:
the error is Win32::OLE
0.1709) error 0x80040154: "Class not registered"
can't call method 'Mangle' on an undefined values.
*之前这个perl脚本在32位服务器上运行,安装了32个perl,但现在64位服务器上安装了64位perl。
我无法找到未注册的内容
答案 0 :(得分:0)
您无法访问regedit?
名称必须是HKEY_CLASSES_ROOT下的密钥,或者它不是注册类。
因此,访问Perl,您可以这样做:
use Win32::TieRegistry( Delimiter=>"/", ArrayValues=>0 );
$diskKey = $Registry->{'Classes/PWDMangler.Mangler/'}
or die "'PWDMangler.Mangler' is not a registered class!\n"
;