要断开连接到本机的PowerShell会话,可以强制关闭与之相关的wsmprovhost.exe进程。但是识别并关闭正确的进程并不是稳定和推荐的方式。
比较合理的方式是采用下面的方式:
$URI = ('http://{0}:5985/wsman' -f $env:computername) $connection = Get-WSManInstance -ConnectionURI $URI -ResourceURI shell -Enumerate | Where-Object { $_.Owner -eq 'SomeDomain\SomeUser' } $connection | ForEach-Object { Remove-WSManInstance -ConnectionURI $URI shell @{ShellID=$_.ShellID} }
上面的示例会将端口5985上以用户SomeDomain\SomeUser 连接的远程会话终结。注意,如果在非域环境中,你首先给启用non-Kerberos 验证。(请注意,如果没有Kerberos,你很难确定目标计算机是真实的机器或者伪装的计算机)
原文链接:Killing Remote PowerShell Sessions
本文链接: https://www.pstips.net/killing-remote-powershell-sessions.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
我平常都这样用,不知道有区别没?
Get-PSSession |Remove-PSSession
你这个应当是在客户端执行的,上面的博客中说的应当是在远程机器上执行的。
没明白啊。。