如何远程 check/repair WMI

How to check/repair WMI remotly

我们如何检查 WMI 在多台服务器上是否正常工作? 我们可以通过 WMI 服务手动检查。 如果 WMI 损坏,我们可以手动修复吗?

首先获取您的计算机列表,

$Computers = Get-Content C:\Computerlist.txt

那么你可以使用这个函数:

Function Test-WMIStatus
{
Param(
[Array]$Computers
)

$Report = @()

Foreach ($Computer in $Computers)
{

$Row = "" | Select Computer,WMIStatus
$Row.Computer = $Computer

        Try 
        {
        $WMI = Get-WmiObject -Class win32_ComputerSystem -ComputerName $Computer -ErrorAction Stop
        $Row.WMIStatus = $true
        }

        Catch 
        {
        $Row.WMIStatus = $false
        }

    $Report += $Row
}

Return $Report
}

给运行吧:

Test-WMIStatus -Computers $computers

关于 WMI 修复:

最常见的 WMI 问题与防火墙块、Winmgmt 服务(Windows 管理规范)Stopped/Disabled 等有关。您当然可以自动执行这些任务,但它需要更多代码...