geelaw
122 天前
我的疑问是
>Win11 工作站,可多人同时 RDP 登录
这恐怕是不受支持的方式(比如 hack Terminal Services 的 DLL ),因为官方只允许 Windows 11 Enterprise multi-session 同时多个 RDP sessions ,而且仅仅适用于 Azure 服务。因此这样做是盗版。
——————
但是回到问题本身的话,如果你收到的错误是
Your computer could not connect to another console session on the remote computer because you already have a console session in progress.
那么简单的解决方法是把远程计算机的地址写成 127.0.0.2 ,我测试的时候 mstsc 登录自己的账户会成功,并且我的外 session 被自动锁定,用同一个账户解锁外 session 后会看到 mstsc 提示远程连接已经中断(期待的行为)。
并且刚才我还差点死锁了,如果用 mstsc 登录自己被锁定后,尝试用别的账户登录,则外 session 会等内 session 同意放弃控制,内 session 无法直接访问,从而死锁在欢迎屏幕。这一点通过用另一台机器以原来的账户 RD 即可解决。
我不清楚 Windows Server 开启多个 RD sessions 的时候是否能成功,期待行为是可以。
——————
再次回到问题本身,如果楼主的需求是以 B 的身份运行,那么 runas 或者 start-process -credential (get-credential B) powershell -arg '-command start powershell;exit' 即可。
如果楼主需要 session 隔离,那么请考虑 Windows XP 以来最简单的方法——快速用户切换。按 Windows+L 锁定,掀开锁屏,在欢迎屏幕上选择 B ,然后登录进去,完成操作后再切回 A 。
如果楼主需要 session 隔离且同时操作 A 和 B 但 B 可以不用 GUI 且 A B 是管理员用户,那么可以用 WinRM 本地回环。
如果楼主接受用 A 的另一个 session 以 B 的身份运行,那么可以用 Windows 8 以来的 nested session ,下载 Visual Studio 2019 ,里面有 Windows 模拟器(实际上不是模拟器,就是创建了一个 nested session ),在 A 的 console session 下打开模拟器,即可在模拟器里操作 A 的 nested session ,此时再用 runas / start-process 以 B 的身份操作即可。