копать как функциональность на окнах? - PullRequest
0 голосов
/ 14 января 2019

В системе Windows я пытаюсь собрать все IP-адреса для DNS-имени и вызвать инструмент с каждым IP-адресом. Я знаю, как сделать это из сценария оболочки, но не знаю, как это сделать из пакетного файла или файла powershell.

Я хочу перенести это в Windows ..

#!/usr/bin/env bash
# Get all the IPs for our server instance
# and pass it to "p4 trust" to update the .p4trust file
for address in $(dig perforce.example.com +short)
do
    echo "processing address: $address:1666"
    p4 -p "ssl:$address:1666" trust -y -f || true
done

Вопросы:

  1. есть ли предустановленный эквивалент windows dig, который будет возвращать только IP-адреса DNS-записи?
  2. в пакетном файле или файле PowerShell, как вы перебираете несколько результатов из другого приложения?

1 Ответ

0 голосов
/ 14 января 2019

Попробуйте это ...

Get-Command -Name Resolve-Dns* | Format-Table -AutoSize

CommandType Name                   Version Source       
----------- ----                   ------- ------       
Cmdlet      Resolve-DnsName        1.0.0.0 DnsClient     

# Get parameters, examples, full and Online help for a cmdlet or function

(Get-Command -Name Resolve-DnsName).Parameters
Get-help -Name Resolve-DnsName -Examples
Get-help -Name Resolve-DnsName -Full
Get-help -Name Resolve-DnsName -Online


# Get all IPAddresses for the provided DNS name
$env:USERDNSDOMAIN | ForEach{Resolve-DnsName -Name $_}

Name          Type   TTL   Section    IPAddress                                
----          ----   ---   -------    ---------                                
CONTOSO.COM A      600   Answer     192.168....                             
CONTOSO.COM A      600   Answer     10.10... 

# 
$env:USERDNSDOMAIN | 
ForEach{
    # Get all IPAddresses for the provided DNS name
    $DNSIPA = (Resolve-DnsName -Name $_).IPAddress

    # Check if the host is up for a given IPA and port number
    ForEach($IPA in $DNSIPA)
    {
        "Processing $IPA"
        Test-NetConnection -ComputerName $IPA -Port 1666
    }
}

Тем не менее, этот вопрос переведет вас на новичка в PowerShell. Поэтому, прежде чем вы начнете испытывать излишнюю путаницу / разочарование и т. Д., Жизненно важно, чтобы вы потратили время на то, чтобы освоить его, используя все доступные бесплатные учебные материалы по PowerShell для видео и электронных книг. Вот только несколько.

MSDN , MSDocs , МВА , MSChannel9 , YouTube , Электронные книги используйте файлы справки, как указано выше.

...