Автоматизация Telnet с PowerShell

Как я могу записать сценарий PowerShell для автоматизации этого набора команд?

  • Telnet к машине,
  • выполните немного команд,
  • проанализируйте в выводе в окне telnet,
  • на основе того вывода отправьте еще немного команд
7
задан p.campbell 5 November 2013 в 18:36
поделиться

2 ответа

Вместо того, чтобы пытаться автоматизировать исполняемый файл telnet, просто создайте сокет и введите команды, прочтите их и примите решения на основе этого. Вот упрощенный пример подключения к моему локальному веб-серверу:

function test() {
  $msg = [System.Text.Encoding]::ASCII.GetBytes("GET / HTTP/1.0`r`nHost: localhost`r`n`r`n")
  $c = New-Object System.Net.Sockets.TcpClient("localhost", 80)
  $str = $c.GetStream()
  $str.Write($msg, 0, $msg.Length)
  $buf = New-Object System.Byte[] 4096
  $count = $str.Read($buf, 0, 4096)
  [System.Text.Encoding]::ASCII.GetString($buf, 0, $count)
  $str.Close()
  $c.Close()
}

Очевидно, вам нужно будет изменить его с порта 80 и передать имя пользователя / пароль вместо заголовка веб-запроса ... но этого должно быть достаточно, чтобы вы начали .

1
ответ дан 7 December 2019 в 07:42
поделиться

Я бы здесь ничего не делал с сокетами, потому что вам нужно будет реализовать хотя бы часть спецификации telnet. Если я помню, эта спецификация немного забавная. Но здесь перечислены некоторые реализации telnet .NET: C # Telnet Library , которые вы, вероятно, можете адаптировать или использовать непосредственно из PowerShell так же, как Goyuix использует код сокета в своем ответе.

2
ответ дан 7 December 2019 в 07:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: