SysMaint (Sistem Pemeliharaan Windows) adalah framework skrip berbasis PowerShell yang dirancang untuk mengotomatisasi seluruh siklus pemeliharaan rutin pada sistem operasi Windows (Workstation & Server). Skrip ini membantu Administrator Sistem, Engineer DevOps, dan Pengguna Daya (Power Users) dalam menjaga performa sistem tetap optimal, menghemat ruang penyimpanan, serta meminimalisasi potensi downtime akibat akumulasi file sampah atau log membesar.
- Latar Belakang & Keunggulan
- Fitur Utama
- Prasyarat Sistem
- Panduan Instalasi & Persiapan
- Panduan Penggunaan
- Automasi dengan Task Scheduler
- Alur Kerja Skrip (Workflow)
- Troubleshooting & Pemecahan Masalah
- Panduan Kontribusi
- Lisensi & Kontak
Seiring berjalannya waktu, sistem operasi Windows menumpuk file sementara (temporary files), cache pembaruan sistem (Windows Update), file prefetch, dan log event yang dapat memperlambat kinerja disk serta menghabiskan kapasitas penyimpanan. Latihan pemeliharaan manual memerlukan waktu dan berisiko terjadi kelalaian.
Mengapa Memilih SysMaint?
- Zero Dependencies: Berjalan langsung menggunakan modul bawaan Windows tanpa perlu menginstal third-party software atau modul external (
npm,pip,NuGet). - Safe & Non-Destructive: Hanya menghapus file yang aman untuk dibersihkan tanpa mengganggu integritas file sistem utama.
- Smart Storage Awareness: Dapat membedakan jenis media penyimpanan (SSD vs. HDD) secara otomatis untuk menerapkan teknik optimasi yang tepat (TRIM vs. Defrag).
- Enterprise Ready: Siap diintegrasikan dengan Windows Task Scheduler, Group Policy Object (GPO), Microsoft Intune, atau Active Directory Logon/Logoff scripts.
- Menghapus seluruh direktori Temporary Files (
C:\Windows\Tempdan%TEMP%). - Mengosongkan Recycle Bin seluruh drive atau user profile.
- Membersihkan Windows Update Download Cache (
C:\Windows\SoftwareDistribution\Download). - Membersihkan direktori Prefetch dan Windows Error Reporting (WER) logs.
- Pembersihan Komponen Windows Image menggunakan DISM (
/Cleanup-Image /StartComponentCleanup).
- Deteksi otomatis jenis drive (Solid State Drive / Hard Disk Drive).
- Eksekusi perintah TRIM / Retrim pada drive SSD untuk menjaga daya tahan dan kecepatan write.
- Eksekusi Defragmentasi Terfragmentasi Terarah pada HDD konvensional.
- Pemeriksaan integritas kesehatan disk dasar via PowerShell
StorageAPI.
- Mengekspor Windows Event Logs penting (System, Application, Security) ke berkas archive
.evtxatau.zip. - Melakukan rotasi dan pengarsipan log pemeliharaan otomatis berdasarkan batas usia hari (misal: hapus log > 30 hari).
- Menyimpan rekapikasi health report setelah skrip selesai dijalankan.
- Memberikan laporan statistik kapasitas sebelum dan sesudah proses pemeliharaan.
- Memberikan warning visual jika sisa kapasitas drive utama (
C:) berada di bawah ambang batas aman (misal: < 15%).
Skrip ini bersifat fully self-contained dan siap dijalankan secara native pada lingkungan Windows berikut:
| Komponen | Persyaratan Minimum | Rekomendasi | Status Modul |
|---|---|---|---|
| Sistem Operasi | Windows 10 / Windows Server 2016 | Windows 11 / Windows Server 2022 | Built-in Native |
| PowerShell | Versi 5.1 | PowerShell 7.x (Core) | Terinstall bawaan |
| Hak Akses | Administrator (Elevated Prompt) | Administrator / Local System | Wajib |
| Modul Internal | Storage, Dism, Microsoft.PowerShell.Archive |
Modul versi terbaru | Bawaan OS |
| Ruang Disk | Min. 100 MB ruang tersisa | > 1 GB untuk pemrosesan file temporary | Direkomendasikan |
Catatan: Skrip ini tidak memerlukan library eksternal dari repositori publik saat dijalankan.
Kloning repositori ini menggunakan Git atau unduh berkas zip secara langsung:
git clone https://github.com/narendra-akmal/SysMaint.git
cd SysMaint
Secara default, Windows memblokir eksekusi skrip PowerShell yang belum terverifikasi. Izinkan eksekusi skrip untuk skop pengguna saat ini:
# Jalankan PowerShell sebagai Administrator
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Pastikan Anda membuka PowerShell menggunakan opsi "Run as Administrator". Jika dijalankan tanpa hak akses Administrator, beberapa fungsi seperti pembersihan Windows\Temp dan perintah DISM akan dilewati demi keamanan.
Mode ini sangat cocok untuk penggunaan harian oleh administrator secara manual melalui konsol.
# Jalankan skrip PowerShell
.\SysMaint.ps1
Skrip akan menampilkan GUI berbasis teks (CLI Menu) di mana Anda dapat memilih tugas pemeliharaan spesifik yang ingin dijalankan.
Mode ini digunakan untuk otomatisasi skrip tanpa memerlukan interaksi input dari pengguna.
# Menjalankan pemeliharaan penuh secara otomatis
.\SysMaint.ps1 -Auto -FullMaintenance -Verbose
# Menjalankan hanya fungsi pembersihan file temporary
.\SysMaint.ps1 -CleanOnly
# Menjalankan pembersihan dan optimasi disk tanpa backup log
.\SysMaint.ps1 -SkipLogBackup
Bagi pengguna yang membutuhkan versi portabel tanpa perlu membuka konsol PowerShell, Anda dapat mengunduh versi kompilasi .exe:
Cara Menggunakan .exe: Klik kanan pada berkas
SysMaint.exeβ‘οΈ Pilih "Run as Administrator".
Untuk menjaga performa server atau komputer desktop secara berkala, disarankan untuk mengonfigurasi skrip ini pada Windows Task Scheduler.
Anda dapat merregistrasikan tugas terjadwal (misal: Setiap hari Minggu jam 02:00 pagi) menggunakan perintah berikut:
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File 'C:\Path\To\SysMaint.ps1' -Auto -FullMaintenance" $Trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Sunday -At 2am $Principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "SysMaint_Weekly_Maintenance" -Action $Action -Trigger $Trigger -Principal $Principal
[ Start Eksekusi ]
β
βΌ
[ Validasi Admin Rights ] ββ(Gagal)βββΊ [ Tampilkan Warning & Terminate ]
β (Sukses)
βΌ
[ Cek Ruang Disk Awal ]
β
βΌ
[ Backup & Kompresi Log ] βββΊ [ Simpan ke Archive Folder ]
β
βΌ
[ Pembersihan File Temp ] βββΊ [ System Temp, Prefetch, Recycle Bin, DISM Cache ]
β
βΌ
[ Deteksi Tipe Drive ]
βββ (Jika SSD) ββββββββΊ [ Jalankan TRIM / Optimize-Volume ]
βββ (Jika HDD) ββββββββΊ [ Jalankan Defragmentasi ]
β
βΌ
[ Cek Ruang Disk Akhir ] βββΊ [ Hitung Total Kapasitas Dirilis ]
β
βΌ
[ Buat Log Pemeliharaan ]
β
βΌ
[ Selesai / Exit ]
| Masalah / Error Message | Kemungkinan Penyebab | Solusi Pemecahan |
|---|---|---|
| β Access Denied / Permission Error | Skrip dijalankan tanpa hak akses elevasi (Elevated Privileges). | Klik kanan pada PowerShell / SysMaint.exe lalu pilih Run as Administrator. |
| β File cannot be loaded because running scripts is disabled | Kebijakan Execution Policy Windows masih dalam kondisi pembatasan Restricted. | Jalankan perintah Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser. |
| β Defragmentation / TRIM Failed | Perintah optimasi dijalankan pada Virtual Disk, Storage Spaces, atau butuh akses akun SYSTEM. |
Akses defrag pada Mesin Virtual (VM) ditangani oleh Hypervisor. Untuk OS Fisik, pastikan dipanggil via Task Scheduler akun SYSTEM. |
| β Locked Files / File in Use | File temporary sedang digunakan oleh program yang sedang berjalan aktif. | Skrip secara otomatis akan melompati (skip) file yang terkunci tanpa menghentikan seluruh proses. |
Kami sangat menyambut kontribusi dari komunitas untuk meningkatkan fungsionalitas SysMaint!
- Fork repositori ini.
- Buat feature branch baru:
git checkout -b feature/FiturBaruKeren - Lakukan commit pada perubahan Anda (gunakan format commit yang jelas):
git commit -m "feat: Menambahkan modul pembersihan log IIS" - Push branch Anda ke remote repository:
git push origin feature/FiturBaruKeren - Buka Pull Request (PR) baru pada cabang
mainrepositori ini.
Proyek ini didistribusikan di bawah lisensi MIT License. Anda bebas menggunakan, memodifikasi, mendistribusikan, dan memanfaatkannya secara komersial maupun pribadi tanpa batasan. Lihat berkas LICENSE untuk informasi lebih lanjut.
- Developer: Narendra Akmal
- GitHub Repositori: github.com/narendra-akmal/SysMaint
- Pelaporan Bug & Masalah: GitHub Issues
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
SysMaint Framework | Built with PowerShell
Tested on: Windows 10, Windows 11, Windows Server 2016/2019/2022
Last Documentation Update: August 2026
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ