Class: Specinfra::Command::Windows::Base::Host

Inherits:
Specinfra::Command::Windows::Base show all
Defined in:
lib/specinfra/command/windows/base/host.rb

Class Method Summary collapse

Methods inherited from Specinfra::Command::Windows::Base

create

Class Method Details

.check_is_reachable(host, port, proto, timeout) ⇒ Object


12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/specinfra/command/windows/base/host.rb', line 12

def check_is_reachable(host, port, proto, timeout)
  if port.nil?
    Backend::PowerShell::Command.new do
      exec "(New-Object System.Net.NetworkInformation.Ping).send('#{host}').Status -eq 'Success'"
    end
  else
    Backend::PowerShell::Command.new do
      using 'is_remote_port_listening.ps1'
      exec"(IsRemotePortListening -hostname #{host} -port #{port} -timeout #{timeout} -proto #{proto}) -eq $true"
    end
  end
end

.check_is_resolvable(name, type) ⇒ Object


3
4
5
6
7
8
9
10
# File 'lib/specinfra/command/windows/base/host.rb', line 3

def check_is_resolvable(name, type)
  if type == "hosts"
    cmd = "@(Select-String -path (Join-Path -Path $($env:windir) -ChildPath 'system32/drivers/etc/hosts') -pattern '#{name}\\b').count -gt 0"
  else
    cmd = "@([System.Net.Dns]::GetHostAddresses('#{name}')).count -gt 0"
  end
  Backend::PowerShell::Command.new { exec cmd }
end