Установите заголовок окна для приглашения 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"
Надеюсь, это поможет.