It's better, but there are things I don't understand.

"PSHELL /S dir" works, and after that, "PSHELL /C" doesn't complain. After both of those, another "PSHELL /S dir" doesn't work.

Is the "persistent PowerShell interpreter" supposed to be restarted as needed? Is it started by default when TCC is started?
In a new instance I could not repeat what I observed in my previous post. Then, in another instance, I could.

What does "PSHELL /C" do? It doesn't seem to free any resources and NSILP_PowerShell.x86.dll stays loaded along with about 15 other DLLs that were loaded when it was loaded.
Aug 23, 2010
I suggest changing the /C switch descriptions from "close" to "clear".
Something like "/C(lear) Clears the persistent PowerShell interpreter state, effectively initializing it anew"