Powershell 脚本由多个服务器调用,将日志文件复制到远程位置

Powershell 脚本由多个服务器调用,将日志文件复制到远程位置

我们有几个服务器在本地保存日志文件,我试图自动将日志记录到单个网络位置,该位置具有存储日志文件的父文件夹的名称和修改日期时间戳

服务器 1 D:\Projects\Ohio\(Rel1)\BuildScripts\logs

服务器 2D:\Projects\Ohio\(Rel2)\BuildScripts\logs

服务器 3D:\Projects\Ohio\(Rel3)\BuildScripts\logs

尝试将所有日志复制到R:\Logs\CruiseControl\(Rel.AW) \logs+timestamp\logfiles.txt

到目前为止,我能够使用下面的脚本为服务器 1 设置它,但问题是服务器 1、服务器 2 和服务器 3 需要调用相同的脚本,并且每次日志都需要转到特定的流(Rel1、Rel2、Rel3)我如何引用流名称?

$logDir = 'D:\Projects\Ohio\Rel.AW\BuildScripts\logs'
$copyDir = 'R:\Logs\CruiseControl\Rel.AW'

Get-ChildItem $logDir -File | ForEach {
    $parentFolder = $_.Directory.Name
    $timeStamp = $_.LastWriteTime.ToString('MMddyyyy')
    $path = Join-Path -Path $copyDir -ChildPath "$($parentFolder)_$($timeStamp)"
    Write-Host "Path to copy to is: $path" -ForegroundColor Green
}
robocopy $logDir $path /log+:R:\Logs\CruiseControl\Rel.AW\log

答案1

PowerShell 3.0-5.0:PowerShell 工作流:基础知识

Workflow <workflow name> {
 foreach –parallel ($object in $objects){
   <code>    ...      </code>
 }
}

PowerShell 2 作业:线程 Ping

相关内容