-- Man kann sich den $Env:PSModulePath (%PSMODULEPATH% abseits der PowerShell) anschauen. Dann gucken, was es da drin gibt. "Einfach" wäre, das Ding aufs Minimum zu reduzieren:
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files\WindowsPowerShell\Modules;
Dann nochmal in diesen beiden Pfaden gucken, ob da irgendwas rumfliegt, was nicht fliegen soll.
PowerShell als Plattform benötigt (fast) überhaupt nichts. Die Module werden einfach über den $Env:PsModulePath gesucht und geladen. Installiert wird da nichts (allerdings werden evtl vorhandene DLL-Dateien in den Speicher geladen, wenn man das zugehörige Modul lädt; die gehen da auch nicht wieder raus und man muß dazu vorher die PowerShell neustarten).
Andererseits wird PS ohne Module nicht viel tun. Damit wäre sie sozusagen auf ein (eher unbrauchbares) Minimum zurückgesetzt.
Wenn man jetzt aber PS neu installiert, zB per WMF 5.1-Paket, dann sollten alle Erforderlichkeiten wiederhergestellt werden. Dafür nimmt man vermutlich schlauestens die mitgelieferte(n) CAB-Dateien (findet man im MSU, wenn man das als Archiv öffnet - alles außer WSUSSCAN.cab kann potentiell installiert werden). Die dann mit DISM /Online /Add-Package ... einspielen.
Die PS per Windows Features erst noch deaktivieren schadet definitiv nichts. Nie probiert, daher nicht sicher; aber wenn sich das wie alles-außer-IE verhält, dann werden auch die Programmdaten aus dem System geworfen und was übrig bleibt, kann ggf. gefahrlos aus dem Weg geräumt werden (schlimmstenfalls schiebt man das einfach hinterher wieder rein, wenn es dann doch zicken sollte). Dann PS wieder reaktivieren und gut.
Aber den PSMODULEPATH nicht vergessen. Hier kann jeder Honk was hinschreiben und wenn da dann ein Modul rumfliegt was stört, naja dann wird keine "Zurücksetzung" der Welt helfen, weil sobald PS wieder da ist und läuft wird der PSModulePath durchsucht und die ganzen Module dort auch wieder gefunden.