Hier ist ein hack, der alle Variablen außer denen in Ihrem $ Profil erstellt. Beachten Sie, dass dies ein paar Sekunden dauert, und es besteht eine gute Chance, dass Sie Ihr Endziel auf effizientere Weise erreichen können. Sie müssen die "15" in der SELECT-Anweisung so anpassen, dass sie der Anzahl der Zeilen entspricht, die Ihr Profilskript ausgibt. Oder Sie könnten es ändern, um nach der ersten Zeile von gv (get-variable) zu suchen.
$x=powershell -nologo -command "gv|out-string"
$y=($x|select -skip 15) -split "\s+",2
$varnames = $(for ($i=0;$i -lt $y.length; $i+=2) { $y[$i]})
rv i,x,y
gv | % {if ($varnames -notcontains $_.name) {rv $_.name -EA 0}}
Caveat: dies wird nicht Variablen, die von Powershell erstellt löschen Hosts, die eine InitialSessionState angeben, die Module oder führt Scripts lädt, die Variablen zu erstellen. Für normale Powershell und powershell_ise müssen Sie sich jedoch keine Sorgen machen.
Warum? Es scheint, als gäbe es eine bessere Lösung für Ihr zugrunde liegendes Problem. –