运行环境:Windows Server 2012 R2

获取服务器DNS命令,下面的仅获取一个dns

(nslookup sql.ciras.com)[1].split(':')[1].trim()

此脚本用来验证DNS是否正常,实际原理就是ping域名的ip

先ping域名

再解析域名的ip地址

判断域名是否解析域名是否为多个ip

若为多个ip,则再次ping文件中给的ip地址

最后输出表格

# 验证DNS是否能ping通
# author:lttr <www.cnblogs.com/GoCircle>
# date:2019-08-09
# eg.
# C:\Users\0\Desktop\TestDNS.ps1 # 获取当前脚本绝对路径
$path = Split-Path -Parent $MyInvocation.MyCommand.Definition;
$file = "\域名及ip列表.txt";
# 读取txt文件获取列表信息
[array]$dnslist = (get-content -Path ($path + $file)) $sourcecount = $dnslist.Length-1
for($i=1;$i -le $sourcecount;$i++){
Write-Progress -Activity "正在检测DNS列表" -PercentComplete ($i/$sourceCount*100) -Status "Step $i of $sourcecount"
$dnsip = ($dnslist[$i] -split ",")[1]
$flage = Test-NetConnection ($dnslist[$i] -split ",")[0] -Hops 1 -InformationLevel Quiet -ErrorAction SilentlyContinue -WarningAction silentlyContinue
$dnsresult = Resolve-DnsName -Name ($dnslist[$i] -split ",")[0] -ErrorAction SilentlyContinue
if($dnsresult.IPAddress.count -gt 1){
$flage = Test-NetConnection $dnsip -Hops 1 -InformationLevel Quiet -ErrorAction SilentlyContinue -WarningAction silentlyContinue
}
[PSCustomObject]@{
域名 = ($dnslist[$i] -split ",")[0].ToUpper() + " "
DNS状态 = Switch($DNSLookupObject){
{!$flage}{"Ping失败 "}
{$flage -and !($dnsresult.IPAddress -Match $dnsip)}{"IP不一致 "}
{$flage -and $dnsresult.IPAddress -Match $dnsip}{"成功 "}
}
txt中IP地址 = $dnsip + " "
Connection_IP地址 = $(if($flage){$dnsresult.IPAddress})
}
}

附带的txt文件格式

输入格式【域名,IP】(中间使用英文逗号分隔),请保留本行且不能包含空行。
www.baidu.com,127.0.0.1
www.baidu.com,127.0.0.2
www.baidu.com,127.0.0.3
www.baidu.com,127.0.0.4

使用PowerShell 测试DNS的更多相关文章

  1. 测试dns

    测试dns nslookup test.cn 10.109.68.114 ipconfig /flushdns dig test.cn @10.109.68.114 sudo /etc/init.d/ ...

  2. 测试DNS服务的命令

    测试DNS服务的命令 dig dig用于测试dns系统,因此不会查询hosts文件进行解析. dig - DNS lookup utility dig [@global-server] [domain ...

  3. 使用PowerShell 修改DNS并加入域中

    运行环境:Windows Server 2012 R2 此powershell脚本为自动修改本机DNS并加入到域中 但有的时候会提示[本地计算机当前不是域的一部分.请重新执行脚本!]错误,如遇到该错误 ...

  4. curl测试dns解析时间及tcp连接时间

    1.用Linux下的curl命令测量网络请求(分号是分隔符,可以是其他符号): curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer ...

  5. busybox测试dns问题

    获取svc [root@master01 ~]# kubectl get svc NAME                 TYPE        CLUSTER-IP       EXTERNAL- ...

  6. Powershell测试端口状态

    function Test-Port { Param([string]$ComputerName,$port = 5985,$timeout = 1000) try { $tcpclient = Ne ...

  7. DNS主从服务,子域授权,view视图,日志系统,压力测试

    DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...

  8. powershell加win的dns服务器,解决网站负载均衡问题

    用我发明的powershell填坑法,加windows的dns服务器.从调整dns服务器解析ip时间段的角度,解决网站负载均衡问题. ------------------------win2012r2 ...

  9. 使用queryperf对DNS服务器作压力测试

    一.querperf简介 当我们把DNS服务器配置好后,我们肯定会想测试一下DNS服务器的性能如何,上线后如果请求数够多服务器还能否响应?于是,我们可以使用软件模拟环境,对DNS服务器作评估性的测试. ...

随机推荐

  1. 无法在<fastCGI>应用程序配置中找到<handler> scriptProcessor

    在打开php文件的时候发现iis7.5报错了 每次在切换php版本的时候不知道为什么会出现这个错误,有的时候就又不会报错直接可以正常使用,然而php版本确定已经下载好,才可能的打开这个页面,那么就是i ...

  2. infiniband install driver

    硬件:Mellanox InfiniBand,主要包括 HCA(主机通道适配器)和交换机两部分 软件:CentOS 6.4 MLNX_OFED_LINUX-2.1-1.0.0-rhel6.4-x86_ ...

  3. C# 针对特定的条件进行锁操作,不用lock,而是mutex

    背景:用户领取优惠券,同一个用户需要加锁验证是否已经领取,不同用户则可以同时领取. 上代码示例: 1.创建Person类 /// <summary> /// Person类 /// < ...

  4. 01、HTML 简介

    实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...

  5. Envoy 源码分析--LDS

    Envoy 源码分析--LDS LDS 是 Envoy 用来自动获取 listener 的 API. Envoy 通过 API 可以增加.修改或删除 listener. 先来总结下 listener ...

  6. PHP ErrorException 积累

    ErrorException [不定时更新] ErrorException1: Undefined index: allocate 描述:PHP默认会对未声明变量进行提示,这种默认的提示是可以进行忽略 ...

  7. python的乘法口诀表

    python的乘法口诀表 python的乘法口诀表 用python来写一个脚本,使得这个脚本在运行后自动输出乘法口诀表. pyton的脚本如下: #!/usr/bin/env python #codi ...

  8. 【TensorFlow 1】操作变量

    打印 在tf中直接打印只是输出变量格式,如: #代码 data1 = tf.constant(2,dtype=tf.int32) #浮点数据 data2 = tf.Variable(10,name=' ...

  9. 【iOS】iOS CocoaPods 整理

    github 上下载 Demo 时第一次遇到这个情况,当时有些不知所措,也没怎么在意,后来项目调整结构时正式见到了这个,并且自己去了解学习了. CocoaPods安装和使用教程 这篇文章写得很好!ma ...

  10. Thymeleaf 模板 springboot集成使用

    一.Thymeleaf是什么? 简单说, Thymeleaf 是一款用于渲染XML/XHTML/HTML5内容的模板引擎,类似我之前用过的FreeMarker .由于它支持 html 原型,然后在 h ...