繁体   English   中英

从不同的服务器运行 Powershell 命令

[英]Run Powershell command from different server

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

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

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

  • 服务器:服务器A
  • 目录:c:\Temp\

作为实施@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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM