Установите заголовок окна для приглашения CMD/WINRS

Я создаю некоторый код PowerShell, чтобы открыть командную строку на удаленном компьютере. Это работает нормально, но я не могу найти способ установить заголовок этого окна, поэтому вы можете видеть, что вы подключены к удаленному клиенту.

$ComputerName = 'HostName'

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

Я попытался, добавив хорошо известный TITLE $ComputerName в конце концов, но это ничего не меняет. Если установка заголовка невозможна, было бы хорошо иметь комментарий в окне, чтобы увидеть имя хоста, к которому вы подключены.

2 ответа

Решение

Заголовок окна PowerShell можно изменить с помощью $Host переменная:

$ComputerName = 'HostName'

$Host.UI.RawUI.WindowTitle = $ComputerName

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

Редактировать: если создание нового окна не является жестким требованием, вы можете изменить заголовок окна PowerShell, как описано выше, и запустить winrs встроенный (используя оператор вызова &):

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

В противном случае вы можете создать новое окно PowerShell и запустить вышеупомянутое окно:

$ComputerName = 'HostName'
Start-Process 'powershell.exe' -ArgumentList "&{`$Host.UI.RawUI.WindowTitle = '$ComputerName'; & winrs /r:$ComputerName.domain.net cmd /noprofile /noecho}"

Обратите внимание, что в этом случае вы должны избежать $ в $Host чтобы предотвратить преждевременное расширение этой переменной (вы хотите, чтобы она раскрывалась в дочернем процессе, а не в родительском процессе).

Это на самом деле не вопрос PowerShell, так как он больше касается "Как мне манипулировать окном, запущенным с WinRS?".

Это, как говорится, не похоже, что вы можете изменить заголовок окна, принадлежащего WinRS вообще - поскольку даже запуск "Заголовок" вручную в окне, которое он создает, ничего не делает. Но вы можете достаточно легко разместить комментарий, изменив команду запуска на:

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

Надеюсь, это поможет.

Другие вопросы по тегам