Powercli批量修改分布式交换机端口组

2023-11-07 01:45

本文主要是介绍Powercli批量修改分布式交换机端口组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

需求:

  • 批量修改虚拟机的分布式端口组

解决方式一:

  • 三条命令解决:先获取目标虚拟机、获取目标端口组、修改虚拟机端口组、检查虚拟机状态。
$vm = Get-VM -Name <虚拟机名称>
$portGroup = Get-VirtualPortGroup -Name <端口组名称>
Get-NetworkAdapter -VM $vm | Set-NetworkAdapter -NetworkName $portGroup
Get-NetworkAdapter -VM $vm

解决方式二:

  • 使用管道符连接多条命令:获得具体某个数据中心的名叫10.42.40.x的虚拟机、获取这些虚拟机的网卡、修改这些网卡为新的配置。
Get-VM -Location Datacenter-xxx-xxx -name 10.42.40.*|Get-NetworkAdapter|Set-NetworkAdapter -NetworkName "DPortGroup-xxxxxx-10.42.40.x (1)"|ft -au

实际操作流程(方式一)

实操环境
因为调整物理机资源,部分esxi主机加入到新的vcenter中,导入分布式交换机后出现一些问题,需要调整部分虚拟机网络:
三台名叫10.43.10.78-K8SConsul-Czm01的虚拟机需要修改分布式交换机端口组,
修改前:DPortGroup-xxxx-10.43.10.x dvportgroup-285
修改后:DPortGroup-xxxx-10.43.10.x (1) dvportgroup-15232

1.获取目标虚拟机

获取目标虚拟机,设为变量$vm

PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> get-vm -name *K8ScONSUL*|Get-NetworkAdapterName                 Type            NetworkName     MacAddress         WakeOnLanEnabled
----                 ----            -----------     ----------         ---------
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:ee       True
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:76       True
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:ba       True
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:3f       TruePS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $vm = Get-VM -Name *k8sconsul-c*
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $vmName                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
10.43.10.79-K8SCo... PoweredOn  4        8.000
10.43.10.78-K8SCo... PoweredOn  4        8.000
10.43.10.80-K8SCo... PoweredOn  4        8.000

2.获取目标端口组

获取目标端口组,设为变量$portGroup

PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps>  Get-VirtualPortGroup|ft -auName                                            Key                                       VLanId PortBinding NumPorts
----                                            ---                                       ------ ----------- --------DPortGroup-xxxx-10.43.10.x (1)   dvportgroup-15232                                Static      48
DPortGroup-xxxx-10.43.10.x       dvportgroup-285                                  Static      48PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $portGroup = Get-VirtualPortGroup -name "DPortGroup-xxxx-10.43.10.x (1)"
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $portGroupName                      Key                            VLanId PortBinding NumPorts
----                      ---                            ------ ----------- --------
DPortGroup-xxxx... dvportgroup-15232                     Static      48                                                                                                                                   

3.修改虚拟机配置:

以先前两个变量($vm$portGroup)为命令操作对象,将目标虚拟机网络适配器,修改改为使用目标端口组。

PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $vm                                                                                                                                                                                        Name                 PowerState Num CPUs MemoryGB                                                                       ----                 ---------- -------- --------                                                                       10.43.10.79-K8SCo... PoweredOn  4        8.000                                                                          10.43.10.78-K8SCo... PoweredOn  4        8.000                                                                          10.43.10.80-K8SCo... PoweredOn  4        8.000                                                                                                                                                                                                  
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $portGroupName                      Key                            VLanId PortBinding NumPorts
----                      ---                            ------ ----------- --------
DPortGroup-xxxx... dvportgroup-15232                     Static      48

执行以下命令修改虚拟机的配置,修改端口组。

PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-NetworkAdapter -VM $vm | Set-NetworkAdapter -NetworkName $portGroup确认
是否确实要执行此操作?
正在目标“Network adapter 1”上执行操作“Setting NetworkName: DPortGroup-VID_310-TEST.测试区-10.43.10.x (1)”。
[Y](Y)  [A] 全是(A)  [N](N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): a
警告: Specifying a distributed port group name as network name is no longer supported. Use the -Portgroup parameter.Name                 Type            NetworkName     MacAddress         WakeOnLanEnabled
----                 ----            -----------     ----------         ---------
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:ee       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:3f       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:76       True

4.检查虚拟机状态

PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-NetworkAdapter -VM $vmName                 Type            NetworkName     MacAddress         WakeOnLanEnabled
----                 ----            -----------     ----------         ---------
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:ee       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:3f       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:76       TruePS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-NetworkAdapter -VM $vm|ft -auName              Type    NetworkName                                   MacAddress        WakeOnLanEnabled
----              ----    -----------                                   ----------        ----------------
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.43.10.x (1) 00:50:56:b6:xx:ee             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.43.10.x (1) 00:50:56:b6:xx:3f             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.43.10.x (1) 00:50:56:b6:xx:76             True

分布式端口组修改成功。

参考截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实际操作流程(方式二)

若觉得设置变量太麻烦,也可直接通过管道符操作,将多条命令连续执行进行操作。
此处不需要以变量为对象进行操作。
示例命令:

Get-VM -Location Datacenter-xxx-xxx -name 10.42.40.*|Get-NetworkAdapter|Set-NetworkAdapter -NetworkName "DPortGroup-xxxxxx-10.42.40.x (1)"|ft -au

按管道符分割解释一下各部分就是:

获取"Datacenter-xxx-xxx"中的名称前缀为"10.42.40.x"的虚拟机|
获取这些虚拟机的网卡|
将这些网卡设置名叫"DPortGroup-xxxxxx-10.42.40.x (1)"新的分布式端口组|
将返回的结果调整为完整显示并自适应宽度

执行结果参考如下:

PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-VM -Location Datacenter-xxx-xxx -name 10.42.40.*|Get-NetworkAdapter|ft -auName              Type    NetworkName                         MacAddress        WakeOnLanEnabled
----              ----    -----------                         ----------        ----------------
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:1c             True
Network adapter 2 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:2b             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:76             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:80             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:67             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:22             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:6e             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:4f             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:ae             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:4e             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:7a             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:e3             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:f5             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:fc             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:39             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:09             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:89             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:b6:xx:a3             True
Network adapter 1 Vmxnet3 dvportgroup-269                     00:50:56:b6:xx:91             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.42.40.x (1) 	  00:50:56:8a:xx:59             True                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-VM -Location Datacenter-xxx-xxx -name 10.42.40.*|Get-NetworkAdapter|Set-NetworkAdapter -NetworkName "DPortGroup-xxxxxx-10.42.40.x (1)"|ft -au
确认
是否确实要执行此操作?
正在目标“Network adapter 1”上执行操作“Setting NetworkName: DPortGroup-xxxxx-10.42.40.x (1)”。
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): aName              Type    NetworkName                     MacAddress        WakeOnLanEnabled
----              ----    -----------                     ----------        ----------------
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:1c             True
Network adapter 2 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:2b             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:76             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:80             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:67             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:22             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:6e             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:4f             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:ae             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:4e             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:7a             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:e3             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:f5             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:fc             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:39             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:09             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:89             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:a3             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:b6:xx:91             True
Network adapter 1 Vmxnet3 DPortGroup-xxxxx-10.42.40.x (1) 00:50:56:8a:xx:59             True

完成

这篇关于Powercli批量修改分布式交换机端口组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360416

相关文章

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

redis+lua实现分布式限流的示例

《redis+lua实现分布式限流的示例》本文主要介绍了redis+lua实现分布式限流的示例,可以实现复杂的限流逻辑,如滑动窗口限流,并且避免了多步操作导致的并发问题,具有一定的参考价值,感兴趣的可... 目录为什么使用Redis+Lua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

Flask解决指定端口无法生效问题

《Flask解决指定端口无法生效问题》文章讲述了在使用PyCharm开发Flask应用时,启动地址与手动指定的IP端口不一致的问题,通过修改PyCharm的运行配置,将Flask项目的运行模式从Fla... 目录android问题重现解决方案问题重现手动指定的IP端口是app.run(host='0.0.

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1