2012-07-18 7 views
16

Ich habe einige der Skripte in meinem PowerShell-Profil optimiert und es ist ärgerlich, Powershell zu beenden und dann neu zu starten, damit alle Änderungen an den Skripten in meinem Profil geladen werden . Ist es möglich, die Powershell-Sitzung ohne Beenden neu zu starten?Aktualisieren/Neustarten von PowerShell-Sitzung ohne Beenden

+0

Funktion ist geplant: https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/13390179-powershell -ise-does-not-have-the-ability-to-restar – JohnLBevan

Antwort

8

Sie können einfach . $profile tun, um das Profil erneut zu beziehen.

+1

Oder geben Sie eine Profildatei an, wenn Sie etwas anderes als C: \ Benutzer \ wombat \ Dokumente \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1 – EBGreen

+0

aktualisieren, bekomme ich einen Fehler, wenn ich "ausführen. $ profile " – shreddish

+0

@reddman - welcher Fehler erhalten Sie. –

4

@manojlds Antwort ist richtig, aber es könnte am Ende Fehler werfen. Wenn Sie beispielsweise in Ihrem Profil ein neues PSDrive-Laufwerk definiert haben, kann es zu einem erneuten Puffern führen.

Ein alternativer Ansatz besteht darin, zuerst die Powershell zu starten und dann sofort eine andere Version zu starten, indem Sie einfach PowerShell eingeben. Ich führe die Änderungen an meinem Profil in der verschachtelten Konsole durch, beende und führe PowerShell erneut aus, um das aktualisierte Profil zu testen.

Eine andere Sache - machen Profiländerungen langsam und sorgfältig. Meiner Ansicht nach sollte sich die Entwicklung zwar langsam weiterentwickeln, während sich die Profile weiterentwickeln müssen. YMMV !!

+0

Für diejenigen, die daran interessiert sind, dies auszuprobieren, ist die eigentliche Syntax 'powershell ()' – JackChance

2

Sie können eine einfache Funktion machen, und fügen Sie es zu Ihrem $profile (oder ein Modul machen und dann in ‚$ profile‘ importieren), zum Beispiel:

function Restart-PowerShell{ 
    Start-Process PowerShell # Launch PowerShell host in new window 
    exit # Exit existing PowerShell host window 
} 
# Add any alias if you want, for ex. rps (rp already occupied by "Remove-ItemProperty”) 
Set-Alias -Name rps -Value Restart-PowerShell 

Hinweis: Dies ist zwar nicht genau sein kann, was Sie haben im Titel Ihrer Frage "w/out exitting" geschrieben, aber wenn Ihre ursprüngliche Absicht eigentlich darin bestand, eine Art von PowerShell-Hostbefehl zu starten (der standardmäßig nicht in PS verfügbar ist), wird die Arbeit erledigt ...

+0

'start powershell' ist die echte Antwort hier, obwohl beachten Sie, dass Sie Ihre Fenstereinstellungen verlieren werden. – Andrew

Verwandte Themen