สคริปต์ PowerShell ที่จะเรียกโดยเซิร์ฟเวอร์เซิร์ฟเวอร์เพื่อคัดลอกไฟล์บันทึกไปยังสถานที่ห่างไกล
เรามีเซิร์ฟเวอร์หลายตัวที่บันทึกไฟล์บันทึกไว้ในเครื่องและฉันพยายามทำการบันทึกอัตโนมัติไปยังตำแหน่งเครือข่ายเดียวโดยใช้ชื่อโฟลเดอร์หลักที่จัดเก็บไฟล์บันทึกและวันที่แก้ไขเวลา เซิร์ฟเวอร์ 1 D:\Projects\Ohio\(Rel1)\BuildScripts\logs เซิร์ฟเวอร์ 2 D:\Projects\Ohio\(Rel2)\BuildScripts\logs เซิร์ฟเวอร์ 3 D:\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 …