我一直在使用 WMI 从服务器获取信息,并且我得到了很好的结果(虽然像处理器状态、硬盘、登录用户、进程列表等通用)
现在我有一项特定任务来查询 Exchange Server 2010 数据中的一些特定数据,例如您可能从性能监视器和运行状况检查中获得的数据,例如 Active Mailbox Delivery Queue、发送队列大小、接收队列大小、SMTP 当前连接和列表继续下去。
现在我一直在做一些研究,我找到了一些文章,发现这个类应该有我需要的数据:root\MicrosoftExchangeV2 我很难编码这个,我发现了一些 vb 示例我试图在 perl 模块中进行转换,但似乎没有任何效果。任何启动示例都值得赞赏
ps:在交换服务器上,wmi 似乎无法从远程访问(所以我在本地运行)
#!/usr/bin/perl
use Win32::OLE('in');
use constant bFlagReturnImmediately => 0x10;
use constant bFlagForwardOnly => 0x20;
#use warnings;
use Win32::OLE::Enum;
my $comp = ".";
my $oWMIService_ = Win32::OLE->GetObject( "winmgmts:impersonationLevel=impersonate}!\\\\$comp\\ROOT\\MicrosoftExchangeV2") or die "problem";
my $colItems_ = $oWMIService_->ExecQuery ( "Select * from Exchange_Link", "WQL", bFlagReturnImmediately | bFlagForwardOnly);
foreach my $objItem_ (in $colItems_){
print $objItem_->{StateRemote};
}