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.
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:
Dies wurde in PowerShell v3 / System.Managment.Automation
(SMA) v3 getestet, konnte aber in anderen PowerShell-Versionen leicht nachgewiesen werden.
Als eine mögliche Lösung, das ist, was ich mir ausgedacht habe. Dies bedeutet jedoch, dass sich $profile
immer im Ordner Dokumente befindet.
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>
Tags und Links c# powershell