【发布时间】:2020-06-25 19:42:20
【问题描述】:
$PSVersionTable 输出是
Name Value
---- -----
PSVersion 5.1.18362.628
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.18362.628
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
[System.Environment]::OSVersion.Version 输出为
Major Minor Build Revision
----- ----- ----- --------
10 0 18363 0
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 以本地管理员组成员的用户身份启动,但未处于提升模式。将此称为“父”控制台。
在父控制台中,执行(其中“用户名”应替换为以交互方式登录到计算机的相同或不同用户)
Start-Process -FilePath powershell.exe -Credential UserName
输入正确的“用户名”密码后,将打开一个新的 PowerShell 窗口(我们称之为“子”控制台)。在其中,键入“exit”,然后按 Enter/Return 键。子控制台没有任何反应:没有字母出现,Enter/Return 没有被处理。
切换到父控制台,按空格键四次。当按下空格键时,“exit”将出现在子控制台中。再按一次空格键将在子进程中处理“Enter/Return”键,然后退出。
我已经在另一台运行 Win 10 2016 版(10.0 build 14393)的机器上进行了尝试,结果相同。
这似乎不对。这样对吗?如果是,我该如何避免?
谢谢。
【问题讨论】:
-
似乎两个进程(通过所描述的过程创建)都阻塞键盘输入相互。如果我使用
-Wait开关,那么至少 child 进程接受键盘输入... -
感谢 JosefZ,不幸的是,-Wait 开关会暂停其他进程,直到子进程退出。正如您所指出的,它们在输出方面都处于糟糕的状态。
标签: powershell