Powershell管理DHCP作用域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell管理DHCP作用域相关的知识,希望对你有一定的参考价值。

Powershell管理DHCP作用域

说到Powershell相信管理员都比较熟悉,当然powershell在windows下hen多服务都是有区别的,但是对于语法都是一样的,为什么说在微软的产品存在多个Powershell脚本呢,对于windows service使用的是系统自带的powershell,对于Microsoft Exchange服务又是单独的一个Powershell程序,最主要的是微软的公有云下需要单独下载Azure Powershell程序,对于不同服务需要使用不同的powershell程序执行不同的操作使用起来不方便,希望微软以后能融合,然后导入不同的模块进行不同的服务管理,具体的相关介绍就不多介绍了,所以就直接就进入主题了,近期公司部分网络做了一些特殊限制,对于某个作用域下的地址需要进行保留后才可以出网,所以这样就带出了相关的问题,对于公司来说地址分配是使用的是windows系统下部署的DHCP服务进行地址分发管理,想了很多方法,最终还是想通过powershell对作用域地址进行管理,今天介绍的内容主要有,使用powershell管理dhcp服务器配置,使用powershell查询作用域信息,最后使用powershell批量添加保留地址信息,具体见下:

我们可以参考微软的powershell管理DHCP的相关文档。

https://technet.microsoft.com/library/jj590751.aspx

1. 添加多个作用域的地址信息到DHCP保留区域。使用的参数命令为:Netshell

DHCP server服务器地址;如果在DHCP服务器本地执行指向127.0.0.1即可

Scope 为DHCP作用域信息;环境内如果有多个作用域的话也可以管理操作

Reservedip 为需要添加保留的IP地址信息

Reservedip后面的后面为需要添加保留IP地址信息所对应的Mac地址

ReservedName为保留名称

DescriptName为保留名称的描述信息

Both为保留地址信息的DHCP类型

Netsh dhcp server 127.0.0.1 scope 10.10.10.0 add reservedip 10.10.10.13 02523idfafag "reservername" "Descript" "BOTH"

技术分享

当然我们也可以通过定义变量来执行脚本;将需要变动的信息通过定义变量然后替换语句中的信息即可;

$serverip=‘127.0.0.1‘
$n=‘10.10.10.0‘
$ip=‘10.10.10.13‘
$m=‘agaggdi12424‘
$resername=‘haha‘
$desc=‘Descriptname‘
Netsh dhcp server $serverip scope $n add reservedip $ip $m "$resername" "$desc" "BOTH"

技术分享

如果更方便从本地txt中读取数据格式,然后传输到powershell的变量中执行,这样更方便,下期主要介绍;

127.0.0.1,10.10.10.0,10.10.10.100,03231d66et59,zhangsan,it,both

首先使用powershell读取本地的txt文件内容

Get-connect c:\1.txt

技术分享

其实上面的介绍已经很明白了,使用的命令为Netsh commands for DHCP

https://technet.microsoft.com/zh-cn/library/bb490941.aspx

技术分享

上面介绍了批量添加,下面就介绍如何显示DHCP Server的作用域配置信息

Netsh dhcp server v4 show all

技术分享

查看DHCP服务器的绑定信息

Netsh dhcp server show bindings

技术分享

我们可以参考帮助文档

http://www.feiesoft.com/windows/cmd/netsh_dhcp.htm

技术分享

查询指定作用域的地址信息

netsh dhcp server 192.168.0.1 scope 192.168.0.0 dump

技术分享

通过指定的ip地址查询对应的mac地址

(netsh dhcp server scope 10.10.10.0 show clients | where {$_ -match "10.10.10.13"}) -split "_" -replace "",""

技术分享

如果批量查询的话,我们需要添加多条语句进行执行

技术分享

定义变量查询指定作用域网段的ip地址信息和mac地址

$ip=‘10.10.10.0‘
(netsh dhcp server scope $ip show clients) -split "_" -replace "",""

技术分享

定义变量

$ip=‘10.10.10.0‘
$b=‘10.10.10.13‘
(netsh dhcp server scope $ip show clients | where {$_ -match "$b"}) -split "_" -replace "",""

技术分享

如果需要将执行结果保存在指定目录下的话我们需要在执行脚本后 重定向即可

技术分享

技术分享

本文出自 “高文龙” 博客,谢绝转载!

以上是关于Powershell管理DHCP作用域的主要内容,如果未能解决你的问题,请参考以下文章

DHCP动态管理主机地址

使用DHCP动态管理主机地址

如何在DHCP服务器中创建IP地址作用域

linux[基础]-34-[dhcp服务器]-[动态主机管理协议]-[01]

Powershell function to get all dhcp lease

搭建DHCP服务器——安装服务