使用PowerShell 测试DNS
运行环境: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的更多相关文章
- 测试dns
测试dns nslookup test.cn 10.109.68.114 ipconfig /flushdns dig test.cn @10.109.68.114 sudo /etc/init.d/ ...
- 测试DNS服务的命令
测试DNS服务的命令 dig dig用于测试dns系统,因此不会查询hosts文件进行解析. dig - DNS lookup utility dig [@global-server] [domain ...
- 使用PowerShell 修改DNS并加入域中
运行环境:Windows Server 2012 R2 此powershell脚本为自动修改本机DNS并加入到域中 但有的时候会提示[本地计算机当前不是域的一部分.请重新执行脚本!]错误,如遇到该错误 ...
- curl测试dns解析时间及tcp连接时间
1.用Linux下的curl命令测量网络请求(分号是分隔符,可以是其他符号): curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer ...
- busybox测试dns问题
获取svc [root@master01 ~]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL- ...
- Powershell测试端口状态
function Test-Port { Param([string]$ComputerName,$port = 5985,$timeout = 1000) try { $tcpclient = Ne ...
- DNS主从服务,子域授权,view视图,日志系统,压力测试
DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...
- powershell加win的dns服务器,解决网站负载均衡问题
用我发明的powershell填坑法,加windows的dns服务器.从调整dns服务器解析ip时间段的角度,解决网站负载均衡问题. ------------------------win2012r2 ...
- 使用queryperf对DNS服务器作压力测试
一.querperf简介 当我们把DNS服务器配置好后,我们肯定会想测试一下DNS服务器的性能如何,上线后如果请求数够多服务器还能否响应?于是,我们可以使用软件模拟环境,对DNS服务器作评估性的测试. ...
随机推荐
- Java线程安全与数据同步
import java.util.HashMap; import java.util.concurrent.TimeUnit; public class Test { public static vo ...
- MyBatis从入门到精通:select较深层次的用法
一,简单的情形 需求: 根据用户id获取用户拥有的所有角色,返回的结果为角色集合. 1.接口中增加的方法: List<SysRole> selectRolesByUserId(Long u ...
- 5G VS WiFi6,实力大比拼!
移动通信与WiFi,就像移动设备上的两大高手.彼此势均力敌:一个主室内,一个主室外.WiFi是移动网络的室内覆盖补充,也承担着大量的数据流量卸载,二者既想各自占山为王,但也时不时地相互成全对方. 然而 ...
- Spark第一周
Why Scala 在数据集不是很大的时候,开发人员可以使用python.R.MATLAB等语言在单机上处理数据集.但是在大数据时代,数据集少说都是TB.PB级别,此时便需要分布式地处理.相较于上述语 ...
- 个人永久性免费-Excel催化剂功能第37波-把Sqlserver的强大分析函数拿到Excel中用
本人一直钟情于使用Sqlserver数据库的一大原因是其提供了非常好用.高效的数据分析函数(窗口函数),可以在做数据清洗和数据分析场合等多个场景使用.只需简单的一个函数即可做出常规SQL语句很难以实现 ...
- Hadoop学习-hdfs安装及其一些操作
hdfs:分布式文件系统 有目录结构,顶层目录是: /,存的是文件,把文件存入hdfs后,会把这个文件进行切块并且进行备份,切块大小和备份的数量有客户决定. 存文件的叫datanode,记录文件的切 ...
- 统计学习方法(李航)朴素贝叶斯python实现
朴素贝叶斯法 首先训练朴素贝叶斯模型,对应算法4.1(1),分别计算先验概率及条件概率,分别存在字典priorP和condP中(初始化函数中定义).其中,计算一个向量各元素频率的操作反复出现,定义为c ...
- ThinkPHP 入门
ThinkPHP是一个免费.开源的,快速.简单地面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷Web应用开发和简化企业级应用开发而诞生的.ThinkPHP借鉴国外很多优秀的 ...
- Linux卸载MySql——ubuntu版
卸载mysql 1)删除mysql的数据文件 sudo rm /var/lib/mysql/ -R 2)删除mqsql的配置文件 sudo rm /etc/mysql/ -R 3)自动卸载mysql的 ...
- php上传excle文件,csv文件解析为二维数组
解析上传的CSV文件不是什么难事,直接读取转成你想要的数组样子就OK了. public function putStoreStockIn ($filePath = '') { $file = fope ...