r/PowerShell 2d ago

Script Sharing Built an open-source Windows diagnostic tool in PowerShell/WPF for my thesis — feedback welcome!

Hey everyone,

I'm currently working on my IT Bachelor’s Thesis and building Fercero USB Tool — an open-source, multithreaded Windows diagnostic and repair utility (PowerShell + WPF Dark Mode GUI).

It's still a work in progress, but current features include:

  • Hardware Scan: OS/CPU/RAM info, VRAM, and S.M.A.R.T. disk health.
  • System Repair: DISM/SFC scans, Windows Update cache reset, TCP/IP & DNS flushes.
  • Error Lookup: Integrated database for Device Manager codes (1–54) & critical system logs.

Since this is actively in development, I’d love some code reviews, testing, and feedback from the community!

https://github.com/SvetozarA00/Fercero-USB-Tool.git

9 Upvotes

5 comments sorted by

1

u/Michal_F 2h ago

To me it looks ok. But why are you using .bat file ? In future you will need to create more complex structure and this approach don't look ideal... Also you have some block namin on polish language?

2

u/Nu11u5 1h ago edited 48m ago

It's a polyglotal batch wrapper. The file is both valid batch and PowerShell. Since PowerShell will not execute scripts by double-clicking, it is wrapped in a batch file with the first commands instructing it to rerun using PowerShell.

You could build it as an EXE for the same utility, but then the script is no longer inspectable.

2

u/Michal_F 45m ago

Hi, this is complicated topic, as the script is readable, but will run with administrative rights and is easy to change. So this can create another Challenge for some other than hobby use case. I would prefer signed PS1 that could be run from bat file if needed. Bu this would create another challenges related to certificates :)

1

u/Nu11u5 30m ago

You can still sign the file as PowerShell, but Windows won't automatically recognize it as a signed file type. Microsoft even added authenticode to VBScript/JScript/WSH but didn't care to support Batch.

1

u/neotearoa 2h ago

Will look deeper later, go check tmog if you haven't already. Nice work, have you separated the uac / non uac mode functions or do you elevate as needed?