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在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

Redis分布式锁使用及说明

《Redis分布式锁使用及说明》本文总结了Redis和Zookeeper在高可用性和高一致性场景下的应用,并详细介绍了Redis的分布式锁实现方式,包括使用Lua脚本和续期机制,最后,提到了RedLo... 目录Redis分布式锁加锁方式怎么会解错锁?举个小案例吧解锁方式续期总结Redis分布式锁如果追求

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

最便宜的8口2.5G网管交换机! 水星SE109 Pro拆机测评

《最便宜的8口2.5G网管交换机!水星SE109Pro拆机测评》水星SE109Pro价格很便宜,水星SE109Pro,外观、接口,和SE109一样,区别Pro是网管型的,下面我们就来看看详细拆... 听说水星SE109 Pro开卖了,PDD卖 220元,于是买回来javascript拆机看看。推荐阅读:水

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密