[英]How to forward Powershell.Exiting event when remoting on Linux
我在 linux 上有一個連接到遠程的腳本。 退出時,我必須退出兩次(一次從遠程,一次從本地)。 我想把這兩個連接起來,這樣我只需要退出一次。
這是我希望的工作:
pwsh -NoExit -Command '
Register-EngineEvent -SourceIdentifier PowerShell.Exiting -Action {
Write-Host "Received Exiting"
}
$creds = Get-Credential -UserName sysadm;
$pss = New-PSSession -ComputerName remote-pc -Authentication Negotiate -Credential $creds;
Invoke-Command -Session $pss {
Register-EngineEvent -SourceIdentifier PowerShell.Exiting -Forward;
}
Enter-PSSession $pss
'
根據Register-EngineEvent 文檔,我希望看到該消息 - 手動創建事件有效:
...
[remote-pc] PS C:\Users\sysadm\Documents> $null = New-Event PowerShell.Exiting
Received Exiting
[remote-pc] PS C:\Users\sysadm\Documents> exit
# Expecting a message here...
PS /home/local-user > $null = New-Event PowerShell.Exiting
Received Exiting
PS /home/local-user > exit
Received Exiting
我希望我能夠描述我的問題。
為什么不退出會話發送PowerShell.Exiting
事件?
如果不是通過PowerShell.Exiting
,是否可以通過其他方式實現“雙退出”?
我認為您的情況不需要事件處理:
只需在Enter-PSSession $pss
之后放置一個exit
語句,您的外部 PowerShell 會話也會退出:
pwsh -NoExit -Command '
$creds = Get-Credential -UserName sysadm;
$pss = New-PSSession -ComputerName remote-pc -Authentication Negotiate -Credential $creds;
Enter-PSSession $pss
exit
'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.