Ich bin heute in Powershell über den Fehler „Variabel $False kann nicht geändert werden, da sie readonly ist.“ gestolpert. Der fehlerhafte Code versteckt sich hier:
param($neuerBenutzer, $verzeichnis, $zugriffsrechte, $testModus=$False, $behalteStandard=$True)
Das Problem war nicht der Code, sondern die Reihenfolge. Param gehört in dem Fall zum ganzen Skript. Somit muss es am Anfang vom Code stehen.
Der Fehler taucht auf, wenn man vor param zum Beispiel cls stehen hat oder vielleicht ein AddIn laden lässt. Einfach die Reihenfolge ändern und schon funktioniert es wieder.