运行 来自不同服务器的 Powershell 命令

Run Powershell command from different server

我有以下 powershell 命令,它根据 .log 文件的内容读取并提供我的 .bat 脚本的状态:

Get-ChildItem *.log | ForEach-Object {
  [pscustomobject] @{
    Name = $_.Name
    Status =
      ('FAILED', 'SUCCESS')[(Select-String -Quiet 'Finished with NO errors' $_.FullName)]
  }
}

这个命令 运行s 完美,当 运行ning 在与存储 .log 文件的服务器 (ServerA) 相同的服务器上时,但是当 运行ning 在外部时它 - 没有返回任何值。 有没有办法从同一网络中的另一台服务器 运行 获取它?

作为实施@AdminOfThings 建议的示例,附有一些评论:

$servers = "server1", "server2"
ForEach ($server in $servers){
    Invoke-Command -ComputerName $server -ScriptBlock {  
        Get-ChildItem c:\temp\*.log | ForEach-Object {
          [pscustomobject] @{
            Name = $($env:COMPUTERNAME)
            Status =  ('FAILED', 'SUCCESS')[(Select-String -Quiet 'Finished with NO errors' $_.FullName)]
          }
        }#EndOfForEachLogFile
    }#EndOf Invoke-Command
}#EndOf ForEach