为什么从未提升的命令提示符打开管理员命令提示符不允许命令提示符本身的输出重定向?

为什么从未提升的命令提示符打开管理员命令提示符不允许命令提示符本身的输出重定向?

如果您复制 cmd.exe 并将其设置为以管理员身份打开,然后将其重命名为 admin.exe,然后执行admin > file.txt,它不会重定向命令提示符本身的标准输出,但如果您已经在使用管理员命令提示符然后执行 ,它会起作用admin > file.txt。在这种情况下,它也不会打开新窗口。它需要为管理员会话打开一个新的 conhost,这是有道理的,但我不明白为什么它不允许您重定向输出。这是安全功能吗?

这让我想起了一个问题,您无法使用打开新的 cmd.exe 窗口start cmd并直接重定向 cmd.exe 的输出,因为 start 命令不支持重定向。相反,您必须生成另一个使用该 conhost 的 cmd,然后重定向该 ie 的输出start cmd /c cmd ^> file.txt,因此您无法实际测试是因为它打开了新窗口和 conhost 实例,还是因为它是一个管理控制台应用程序——显然,您可以通过尝试在管理应用程序上使用 CreateProcess 来实际测试这一点,看看以编程方式更改句柄是否成功,然后测试它是否使用 CREATE_NEW_CONSOLE 成功,似乎有一些与此相关的东西这里

相关内容