【问题标题】:wmi query not returning data for a specific serverwmi 查询不返回特定服务器的数据
【发布时间】:2014-01-17 04:15:14
【问题描述】:

我有下面的 perl 脚本来从不同的服务器获取站点信息。除了一台服务器,该脚本运行良好。

#!C:/perl/bin/perl
use strict;
use Win32::OLE('in');         # WMI access and optimised flags

use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

my $computer = "servername";

my $wmiWebObject = Win32::OLE->GetObject("WinMgmts:{impersonationLevel=impersonate,authenticationLevel=PktPrivacy}!//$computer/root/WebAdministration");
my $sites = $wmiWebObject->ExecQuery("SELECT Name from Site", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);
foreach my $site (in $sites) {
    print "\nSite Name : " . $site->{Name} . "\n";
}

我可以使用 Powershell 获取同一服务器的站点信息,但不能使用 Perl。

Get-WmiObject -Impersonation impersonate -Authentication PacketPrivacy -ComputerName servername -Namespace root/WebAdministration -Query "select Name from Site" | Select-Object {$_.Name}

请有人建议为什么 Perl 脚本不能只在一台服务器上运行,而 powershell 却在同一台服务器上运行。

【问题讨论】:

    标签: perl wmi wmi-query web-administration


    【解决方案1】:

    所以我可以通过简单地重新启动服务器上的 WMI 服务来解决这个问题。我发现this 文章很有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多