设置CMD / WINRS提示的窗口标题

时间:2015-07-29 11:17:32

标签: powershell cmd winrs

我正在创建一些PowerShell代码以在远程计算机上打开命令提示符。这工作正常,但我似乎无法找到设置该窗口标题的方法,因此您可以看到您已连接到远程客户端。

$ComputerName = 'HostName'

Start-Process 'winrs' -ArgumentList "/r:$ComputerName.domain.net cmd /noprofile /noecho"

我试过在最后添加众所周知的TITLE $ComputerName,但这并没有改变任何东西。如果无法设置标题,最好在窗口中注释以查看您所连接的主机名。

2 个答案:

答案 0 :(得分:2)

可以通过$Host变量更改PowerShell窗口的标题:

$ComputerName = 'HostName'

$Host.UI.RawUI.WindowTitle = $ComputerName

Start-Process 'winrs' -ArgumentList "/r:$ComputerName.domain.net cmd /noprofile /noecho"

编辑:如果生成新窗口并不是一项艰难的要求,您可以按上述方法更改PowerShell窗口的标题,然后运行winrs内联(使用调用运算符{{1 }}):

&

否则,您可以生成一个新的PowerShell窗口并在该窗口中运行上面的内容:

$ComputerName = 'HostName'
$Host.UI.RawUI.WindowTitle = $ComputerName
& winrs /r:$ComputerName.domain.net cmd /noprofile /noecho

请注意,在这种情况下,您必须转义$ComputerName = 'HostName' Start-Process 'powershell.exe' -ArgumentList "&{`$Host.UI.RawUI.WindowTitle = '$ComputerName'; & winrs /r:$ComputerName.domain.net cmd /noprofile /noecho}"中的$以防止该变量过早扩展(您希望它在子进程中扩展,而不是在父进程中扩展)。

答案 1 :(得分:0)

这不是一个真正的PowerShell问题,因为它更多地围绕“如何操作以WinRS开始的窗口?”。

话虽如此,似乎你根本不能改变WinRS所拥有的窗口的标题 - 因为即使在它创建的窗口中手动运行“标题”也不会做任何事情。但是你可以通过将启动命令更改为:

来轻松发布评论
Start-Process 'winrs' -ArgumentList "/r:$ComputerName.domain.net cmd /noprofile /noecho /k echo $ComputerName"

希望有所帮助。