В системе 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
Вопросы:
dig
, который будет возвращать только IP-адреса записи DNS?🤔 А знаете ли вы, что...
PowerShell поддерживает объектно-ориентированное программирование и работу с объектами .NET.
Попробуй это...
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 $PSItem}
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
CONTOSO.COM A 600 Answer 192.168....
CONTOSO.COM A 600 Answer 10.10...
#
$env:USERDNSDOMAIN |
ForEach{
# Get all IP addresses for the provided DNS name
$DNSIPA = (Resolve-DnsName -Name $PSItem).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, электронные книги, используйте файлы справки, как указано выше.