使用PowerShell初始化网络配置

这次来看一下如何使用PowerShell初始化网络配置,例如设置IP地址、子网掩码等,首先需要说明的是这次只是一个实验性质的脚本,没在特定的生产环境中进行过测试,只是为了试验一些东西写的,所以还需要大家自己来测试一下,评分而论这个脚本写的并不太完整,主要目的还是想试一下powershell中关于网络这块的功能,一般意义上来讲设置IP地址等信息多会使用WMI来完成,但是这次特别想试下使用powershell中的语句能否能实现,所以才有了这个简单的脚本

下边来看下代码,这个脚本还有个简单的验证的功能,如果输入的不是IP地址,如包含字母符号等,这个脚本也会出现错误提示,这块的功能主要是使用正规表达式实现的

#首先查看当前计算机上的网络适配器信息
$i = 0
${ip rules} = "\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b"
Get-NetAdapter | ft -AutoSize name, InterfaceDescription, MacAddress, InterfaceIndex, Status
$netid = Read-Host "请输入要设置的网络适配器序号"
foreach ($id in (Get-NetAdapter).ifIndex)
{
	if ($id -eq $netid)
	{
		$i++
	}
}
if ($i -eq 0)
{
	Write-Warning "输入的网络适配器序号不存在";
	break
}
if ((Get-NetAdapter -InterfaceIndex $netid).Status -eq "Disconnected")
{
	"当前适配器未连接";
	break
}
$ip = Read-Host "请输入要设置的IP地址"
if ($ip -notmatch ${ip rules})
{
	Write-Warning "请输入正确的IP地址";
	break
}
$dnsip = Read-Host "请输入DNS服务器的IP地址"
if ($dnsip -notmatch ${ip rules})
{
	Write-Warning "请输入正确的IP地址";
	break
}
$mask = Read-Host "请输入子网掩码的长度"
if ((Get-NetAdapter -InterfaceIndex $netid).Status -eq "Disconnected")
{
	Write-Warning "当前适配器未连接";
	break
}
elseif ((Get-NetAdapter -InterfaceIndex	 $netid).Status -eq "up")
{
	set-DnsClientServerAddress -InterfaceIndex $netid -ServerAddresses $dnsip
	if ((Get-NetIPAddress -InterfaceIndex $netid -AddressFamily IPv4).IPv4Address.StartsWith("169"))
	{
		New-NetIPAddress -InterfaceIndex $netid -IPAddress $ip -PrefixLength $mask
	}
	elseif ((Get-NetIPAddress -InterfaceIndex $netid -AddressFamily IPv4).IPv4Address.StartsWith("192"))
	{
		Remove-NetIPAddress -InterfaceIndex $netid -AddressFamily IPv4
		New-NetIPAddress -InterfaceIndex $netid -IPAddress $ip -PrefixLength $mask
	}
}

不得不说的是PowerShell中设置网络设配器信息的语句感觉实在是没有WMI好使,不过权当一次尝试了,下回有机会再和大家分享更多的内容

时间: 2024-12-29 11:37:53

使用PowerShell初始化网络配置的相关文章

CentOS的网络配置简析

我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR).子网掩码(NETMASK).网关(Gateway).主机名(HOSTNAME).DNS服务器等方面入手.而在CentOS中,又有着不同的命令或配置文件可以完成这些配置操作,接下来,我们将从ifcfg系命令,iproute2系命令以及配置文件3个方面来简析网络配置的方法. 一.ifcfg系命令 ifcfg系命令包括ifconfig,route,netstat和hostname. 1.ifconfig命令 用来配置一个网络接口.

Linux网络配置及SSH和Shell基础

Linux网络配置及SSH和Shell基础 一.Linux网络配置     ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 二.hosts文件的作用及修改主机名      Hosts : The static table lookup for host name(主机名查询静态表)       Linux 的/etc/hosts是

Centos的网络配置命令和文件

一.ifcongfig Centos6之前最常用的配置网络命令就是ifconfig,使用ifconfig命令时最好切换到root用户的身份 1.直接使用ifconfig可以查看当前配置的网络设备的信息 例如 [[email protected] ~]# ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet 172.16.9.9  netmask 255.255.0.0  b

【负载均衡】F5的激活与基本网络配置

一.F5管理IP配置 将F5虚拟机打开,F5CLI下面默认账号为root密码为default. 利用root账户登陆后,输入config命令 输入config命令后会出现如下提示,回车就行 选择yes,修改网络配置 配置IP地址,输入你要配置的ip,按yes就OK了 配置子网掩码 配置网关 查看配配置的Managent口ip 二.F5虚机的激活 2.1 到这里我们就配置好了F5的管理IP,利用浏览器登陆F5 webui 网址为https://F5管理口ip/ 账号和密码均为:admin,登陆后可

Linux网络配置之二ip、ss、网络相关配置文件

本文续网络基础与Linux网络配置之一 ifconfig.route.netstat命令详解 ip命令 作用ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户.几乎所有的Linux发行版本都支持该命令. 格式ip [ OPTIONS ] OBJECT { COMMAND | help }   OBJECT := { link | addr | route | netns  } 注:OBJECT可简写,

网络配置简要说明

1.概述 此文主要是讲述修改CentOS系列网络的配置,通过命令或配置文件两种方式,这里特别说明,通过命令修改的配置文件会立即生效,但不会永久有效.而通过配置文件可永久有效,但不会立即生效,需要重读配置文件. 2.命令修改 ①ifcfg命令系列(ifconfig,route,netstat) ifconfig命令: 功能:用来查看或配置网络接口的地址和参数. 格式:ifconfig [-a] [-s] [interface] ifconfig interface [aftype] options

CentOS 网络配置详解

一.配置文件详解 在RHEL或者CentOS等Redhat系的Linux系统里,跟网络有关的主要设置文件如下: /etc/host.conf         配置域名服务客户端的控制文件/etc/hosts             完成主机名映射为IP地址的功能/etc/resolv.conf       域名服务客户端的配置文件,用于指定域名服务器的位置/etc/sysconfig/network 包含了主机最基本的网络信息,用于系统启动./etc/sysconfig/network-scri

linux学习笔记:网络配置详解

我们安装好一台linux主机系统,要想将其接入网络就需要配置好网络配置了,centos5.x,centos6.x,到现在的centos7.x主要有三大配置网络的家族工具供我们使用: 这里主要以静态配置网络地址方式说明,首先从古老的ifcfg家族命令开始介绍: ifcfg家族:ifconfig,route,netstat ifconfig命令:网卡接口的查看和管理 格式:ifconfig [interface] -a:显示所有的接口信息,包含没有激活状态的接口: -s:简单显示接口的网络状况: i

Linux网络配置相关命令

写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How. 本篇主要内容: ● 网络基础知识回顾 ● ifcfg系列 ifconfig route netstat ifup/ifdown ● 主机名.DNS配置 ● iproute系列 ip ss ● 网卡配置文件.路由配置文件 nmcli 计算机网络基础知识回顾: TCP/IP: TCP/IP协议体系结构是专门针对使用TCP/IP协议簇的广域计算机网络而开发的,是OSI/RM的改进版本.被大范围使用,但并非国