อย่าลืมสำรองไฟล์ทั้งหมด
สร้างไฟล์ชื่อ cleanmx.ps1 (หรืออะไรก็ได้)
และเรียกใช้:
.\cleanmx.ps1
ไฟล์ประกอบด้วยสิ่งนี้:
# กำหนดนโยบายการดำเนินการหากไม่ได้ตั้งค่า
$ExecutionPolicy = Get-ExecutionPolicy
ถ้า ($ ExecutionPolicy -ne "RemoteSigned") {
ตั้งค่า ExecutionPolicy RemoteSigned -Force
}
# บันทึกการล้างข้อมูลที่เก่ากว่าชุดของวันที่เป็นตัวเลข
$วัน = 1
# เส้นทางของบันทึกที่คุณต้องการล้าง
$IISLogPath = "C:\inetpub\logs\LogFiles\"
$ExchangeLoggingPath = "C:\Program Files\Microsoft\Exchange Server\V15\Logging\"
$ETLLoggingPath = "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\"
$ETLLoggingPath2 = "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs\"
# ทำความสะอาดบันทึก
ฟังก์ชัน CleanLogfiles ($ TargetFolder) {
เขียนโฮสต์ -Debug -พื้นหน้าสีเหลือง -พื้นหลังสีฟ้า $TargetFolder
ถ้า (เส้นทางทดสอบ $TargetFolder) {
$ ตอนนี้ = รับวันที่
$LastWrite = $Now.AddDays(-$days)
$Files = Get-ChildItem $TargetFolder -Recurse | Where-Object { $_.Name -like "*.log" -or $_.Name -like "*.blg" -or $_.Name -like "*.etl" } | Where-Object { $_.lastWriteTime -le "$lastwrite" } | เลือกชื่อเต็มของวัตถุ
foreach (ไฟล์ $ ใน $ Files) {
$FullFileName = $File.ชื่อเต็ม
เขียนโฮสต์ "การลบไฟล์ $FullFileName" -ForegroundColor "สีเหลือง";
ลบรายการ $FullFileName -ErrorAction SilentlyContinue | ไม่เป็นโมฆะ
}
}
อื่น {
Write-Host "ไม่มีโฟลเดอร์ $TargetFolder! ตรวจสอบเส้นทางโฟลเดอร์!" - สีพื้นหน้า "แดง"
}
}
CleanLogfiles($IISLogPath)
CleanLogfiles($ExchangeLoggingPath)
CleanLogfiles($ETLLoggingPath)
CleanLogfiles($ETLLoggingPath2)