ВОПРОС · Q&A

проверка открытого порта

4 ответов 2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Люди добрые пытаюсь проверить открыт ли порт на другом компе, если открыт пустить произвольный код... вот чего добился, но не могу понять почему в обоих случаях пишит "Yes"

сам код :

Код:
$TCPClient=New-Object System.Net.Sockets.TcpClient("google.com", 1)
$IsOpen =  $TCPClient.Connected
If ($IsOpen -eq $True) {write-host "Yes"}
Else {write-host "No"}

что я делаю не правильно?
 
C-подобный:
$cn = New-Object Net.Sockets.TcpClient
$cn.Connect("google.com","80")
    if($cn.Connected)
    {
        "Port is operational"
    }
    else
    {
        "Port is closed "
    }
 
Последнее редактирование:
  • Нравится
Реакции: karencho
1
спасибо помогли, а можно узнать, как сделать чтоб вместо "Port is closed" чтоб он повторял проверку порта каждые Н минут пытался "Start-Sleep -Seconds 100" но не получилось
 
спасибо помогли, а можно узнать, как сделать чтоб вместо "Port is closed" чтоб он повторял проверку порта каждые Н минут пытался "Start-Sleep -Seconds 100" но не получилось
Вы хотите что бы за вас всё написали, или вы хотите что бы просто подсказали в каком направление двигаться?
Если вопрос относится ко второму, то самый простой и наверное более правильный вариант будет цикл ( к примеру PowerShell: прощай, Goto PowerShell Looping: Basics of the Break | Scripting PowerShell Basics: Do ... While, Do ... Until Loop | Code Examples).
Если к первому, то зачем вам это вообще нужно? (Вопрос чисто риторический, просто задумайтесь, отвечать здесь не надо.)

C-подобный:
$cn = New-Object Net.Sockets.TcpClient
do{
$cn.Connect("google.com","80")
    if($cn.Connected)
    {
        #"Port is operational"
        break
    }
    else
    {
    start-sleep -sec 100
      #"Port is closed "
    }
    }while($true)
Примерно как то так, powershell вообще не знаком, даже консоль не открывал, и написал чисто с воздуха, но конструкция будет примерно такой.
 
  • Нравится
Реакции: karencho и Marylin
2
спасибо очень помогли, и за статьи спасибо и а код))