0

当我在 $ComputerName 中有 1 台计算机时,它可以工作,但是当我添加另一个计算机名称时,它会给出错误。[代码和错误][1] 抱歉,以下是代码:

$ComputerName = 'Server1','Server2' ForEach($Computer in $ComputerName){ $Info = Get-WinEvent -ComputerName $Computer -FilterHashTable @{Logname='System';ID=1074,6008,1076} | Sort-Object MachineName, TimeCreated, ID | 组对象 MachineName、TimeCreated、ID、消息| Select-Object @{N="Computer";E={$_.Group[0].MachineName}}, @{N="TimeCreated"; E={$ .Group[0].TimeCreated}}, @{N="Error ID";E={$_.Group[0].ID}}, @{N="Message"; E={$ .Group[0].Message.Replace(" r",' ').Replace("n",'')}} ` | 导出-Csv -NoTypeInformation -Path C:\ServerLogs\events3.csv;}

错误:

Get-WinEvent : RPC 服务器在 C:\EventLogs\TEST.ps1:3 char:9 处不可用

  • $Info = Get-WinEvent -ComputerName $Computer -FilterHashTable @{Logn ...
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : NotSpecified: (:) [Get-WinEvent], EventLogException
    • fullyQualifiedErrorId:System.Diagnostics.Eventing.Reader.EventLogException,Microsoft.PowerShell.Commands.GetWinEventCommand
4

1 回答 1

0

“RPC 服务器不可用”通常表示您的 RPC 连接被阻止,原因可能是防火墙或权限问题。很少有 RPC 服务在远程主机上停止。根据我的经验,Windows 防火墙是最常见的,您可以确保您的防火墙策略设置为允许“远程事件日志管理 (RPC)”并且该规则已启用。有一个内置规则允许这样做。你不应该需要建立一个自定义的。而且我会避免一些博客提到的“远程协助”规则。这可能是一个危险的访问级别。

于 2022-02-04T19:32:20.753 回答