Wie erstelle ich PowerShell $ Profilvariable neu? In einem benutzerdefinierten Host ist es leer

8

Wenn Sie einen benutzerdefinierten PowerShell-Host mit System.Management.Automation (SMA) implementieren, sind alle automatischen Variablen verfügbar, außer dass $PROFILE leer ist. Wie sollte man es neu erstellen?

Ist es immer in UserProfile + \Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 ? Oder muss ich mir Sorgen machen, dass es an anderen Orten ist?

Um zu verdeutlichen, interessiert mich nur CurrentUserCurrentHost Profil.

Details

Gegeben dieses PowerShell-Skript:

%Vor%

Die Ausführung auf der System-PowerShell hat die folgende Ausgabe:

%Vor%

Wenn Sie es mit einem benutzerdefinierten C # PowerShell Host ausführen (eine System.Management.Automation.Host.PSHost Implementierung), wird Folgendes angezeigt:

%Vor%

Hintergrund

Ссылка

Dies wurde in PowerShell v3 / System.Managment.Automation (SMA) v3 getestet, konnte aber in anderen PowerShell-Versionen leicht nachgewiesen werden.

    
ferventcoder 26.03.2016, 18:16
quelle

1 Antwort

1

Als eine mögliche Lösung, das ist, was ich mir ausgedacht habe. Dies bedeutet jedoch, dass sich $profile immer im Ordner Dokumente befindet.

%Vor%

Dies wird auf diese Weise durch spezielle Konten wie LocalSystem erreicht, die keinen Profilordner haben.

Hinweis : .format_with ist ein Zeichenfolgenformatierer, so dass die {{ und }} , die Sie sehen, in { und } konvertiert werden, wenn die Formatierung der Zeichenfolgen abgeschlossen ist / p>     

ferventcoder 26.03.2016, 22:13
quelle

Tags und Links