เมื่อเราสร้างโปรแกรมด้วย PowerShell แล้วต้องการจะเก็บข้อมูลการทำงานว่าโปรแกรมทำงานได้สมบูรณ์หรือมีข้อผิดพลาดตรงไหรหรือเมื่อไร เราอาจจะเขียนเป็น Function เพื่อจะบันทึกการทำงานหรือผลลัพธ์ ซึ่งใน PowerShell มีโปรแกรมหรือ Function มาตรฐานไว้สำหรับบันทึกผลลัพธ์ไว้แล้ว
Start-Transcript
นำ Function นี้ไปวางไว้บนสุดของไฟล์ หรือตรงไหนก็ได้ที่เราอยากจะให้เริ่มเก็บ Log
Parameter ที่สำคัญ
- -Path: ระบุตำแหน่งของไฟล์ .txt ที่ใช้สำหรับบันทึก ถ้าไม่กำหนดไฟล์จะถูกบันทึกไว้ที่เดียวกับไฟล์ของสคลิป
- -Append: ให้เขียนข้อมูลต่อจากไฟล์เดิม
- -NoClobber: กำหนดว่าไม่ให้เขียนข้อมูลลงที่ไฟล์เดิม ถ้าพบว่ามีไฟล์ชื่อนี้อยู่แล้วจะเกิด Error ทันที
ตัวอย่าง 1: บันทึก Log ด้วยค่าตั้งต้น
Start-Transcript
ตัวอย่าง 2: บันทึก Log แบบกำหนดตำแหน่งไฟล์
Start-Transcript -Path "C:\Log\ScriptLog.txt"
ตัวอย่าง 3: บันทึก Log ต่อจากไฟล์เดิม
Start-Transcript -Path "C:\Log\ScriptLog.txt" -Append
ตัวอย่าง 4: บันทึก Log แบบไม่ทับไฟล์ชื่อเดิม
Start-Transcript -Path "C:\Log\ScriptLog.txt" -NoClobber
การใช้งานจริง

เราสามารถกำหนดข้อความที่จะให้บันทึกด้วยคำสั่ง Write-Host หรือคำสั่งอื่นๆ ที่แสดงข้อความออกมาได้ หรือจะใช้ Paremeter -Verbose ที่มีอยู่ใน Function มาตรฐานของ Powershell
Document PowerShell: https://docs.microsoft.com/en-us/powershell/
PowerShell Start-Transcript: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.host/start-transcript?view=powershell-7.1