[英]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) 相同的服务器上运行时,此命令运行完美,但是在它之外运行时 - 不返回任何值。 有没有办法让它从同一网络中的另一台服务器运行?
作为实施@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.