Um es noch deutlicher zu machen, wenn ich auf einen Live- / Produktionsserver umgestellt werde, dachte ich, es wäre praktisch, den Namen des Rechners, mit dem ich verbunden bin, bei Remote-PowerShell-Sitzungen zu färben.
Ich sehe jedoch keinen Weg, dies zu tun ... Das Präfix des Servernamens scheint unabhängig von der Eingabeaufforderungsfunktion zu sein, und selbst wenn ich das verwenden könnte, bin ich mir nicht sicher, wie ich ein neues definieren könnte Aufforderung nur für die Dauer der Sitzung.
Gibt es eine Möglichkeit, dies anzupassen? Hinweis: Ich möchte nicht alle Servernamen gleich markieren, ich möchte zwischen lokalen / Produktionsservern unterscheiden.
Nach einiger Suche scheint es richtig zu sein, dass es keinen integrierten Hook gibt, der das Voraufforderung [computername]:
-Tag außer Kraft setzt.
Zum Glück habe ich einen hacky Workaround, der für Sie arbeiten könnte!
Um Farbe zu erhalten, können wir einfach Write-Host
verwenden. Write-Host
Ausgabe von der prompt
Funktion wird vollständig links ausgerichtet, was wir wollen. Leider wird das Standard-Tag [computername]:
direkt danach eingefügt. Das führt dazu, dass der Computername in der Eingabeaufforderung dupliziert wird, einmal mit Farbe und einmal ohne.
Wir umgehen das, indem wir einen String mit Backspace-Zeichen zurückgeben, so dass der unfarbige [computername]:
überschrieben wird. Dies ist die normale Eingabeaufforderung, normalerweise der aktuelle Pfad.
Wenn die normale Eingabeaufforderungszeichenfolge kurz ist und das nicht farbige [computername]:
-Tag nicht vollständig überschreibt, müssen wir schließlich eine abschließende Bereinigung durch Hinzufügen von Leerraumzeichen vornehmen. Das könnte den Caret jedoch verdrängen, also müssen wir mehr Backspaces hinzufügen, um den Caret an die richtige Position zurückzubringen.
All-up, verwenden Sie dies auf Ihrem Remote-Rechner:
%Vor%Tags und Links powershell powershell-remoting powershell-v3.0