リモート サービスと対話するための PowerShell モジュールを作成しています。(モジュール内の関数を介して) リモート サービスに接続するときに、ユーザー名をプロンプトの先頭に追加したいと考えています。切断時にユーザー名を削除したい。
promptグローバル関数をコピーし、切断時に復元することでこれを達成できると思いました。
# Doesn't work
function Connect {
Copy-Item function:prompt function:prompt_old
function global:prompt { "[Username] $(prompt_old)" }
}
function Disconnect {
Copy-Item function:prompt_old function:prompt -Force
}
ただし、Copy-Itemグローバル スコープではコピーを作成しません。したがって、promptがスローCommandNotFoundExceptionされ、切断関数は に置き換えることはできませpromptんprompt_old。
モジュール関数から PowerShell プロンプトを変更して復元する方法はありますか?