02
2024
06
02:49:12

PowerCli批量管理多个vCenter

实测软件平台版本
VMware vSphere: 7.0u3/6.7u3混合
VMware ESXi: 7.0u3/6.7u3混合
Powershell:5.1.17763.2090
VMware Powercli:12.7.0-20091289

使用场景:多版本共存环境;管理混乱的环境;多云但是没有云管平台的环境;其他各种甲方坑爹的环境

批量连接到vCenter

创建密码表

使用excel创建csv文件,保存为vc_login.csv,格式如下图,注意首行标题,需要与登录脚本中调用的属性保持一致,注意保障密码文件安全性

创建登录脚本

创建登录脚本文件login_to_all_vc.ps1,内容如下:

# 读取密码表$vc_login_infos = Import-Csv .\vc_login.csv# 循环密码表依次登录到每一个vcforeach($vc_login_info in $vc_login_infos){Connect-VIServer -server $vc_login_info.serverip -Protocol https -force -user $vc_login_info.username  -password $vc_login_info.password}

日常使用可以直接执行./login_to_all_vc.ps1之后,手动使用get-vm等基本查询命令了。使用完成后最好登出用户。

创建登出脚本

创建登出脚本文件logout_from_all_vc.ps1,内容如下:

# 登出所有已连接的vCenterDisconnect-VIServer -Server * -Force

虚拟机信息" style="margin: 10px 0px; padding: 0px; font-size: 21px; line-height: 1.5; font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif; text-wrap: wrap; background-color: rgb(238, 238, 238);">批量导出所有虚拟机信息

#调用登录脚本./login_to_all_vc.ps1#获取所有vm信息并导出到csv$all_vm_infos = get-vm$all_vm_infos | select name, VMHost, PersistentId, uid, numcpu, memoryGB, UsedSpaceGB, powerstate, @{N="IPAddress0";E={@($_.guest.IPAddress[0])}}, @{N="IPAddress1";E={@($_.guest.IPAddress[1])}}, @{N="IPAddress2";E={@($_.guest.IPAddress[2])}}, @{N="MainIp";E={@($_.CustomFields.Values[2])}}, Notes| Export-Csv -Encoding utf8 -path vminfo.csv# 调用登出脚本./logout_from_all_vc.ps1

导出csv成功之后,就可以方便的用excel处理结果了,直达宇宙的尽头

命令介绍

Connect-VIServer

选项参数形式说明
Server字符串或列表指定要连接的服务器,IP地址或列表
Force
忽略证书
User
指定用户名
Password
指定密码
Port整数指定访问端口,80 或 443等
Protocol字符串指定连接协议,http 或 https
Session字符串指定已存在的连接ID,重新连接

Disconnect-VIServer

选项参数形式说明
Server字符串或列表指定要断开连接的服务器,IP地址或列表,可以是通配符*
ForceSwitchParameter关闭到服务器的所有连接,如果值为$false则只关闭最后一个连接

Get-Vm

选项参数形式说明
NameString[]指定要查询的虚拟机名称
DatastoreStorageResource[]指定要查询的Datastore范围,支持管道
ServerVIServer[]关指定要查询的VIServer范围
TagTag[]指定要查询的虚拟机标签

Export-Csv

选项参数形式说明
AppendSwitchParameter使用此参数可将 CSV 输出添加到指定文件的末尾。 如果没有此参数,请将文件内容替换为警告
Delimiterchar指定分隔符以分隔属性值。默认值为逗号,若要指定分号,请将它括在引号中
Encodingchar为导出的 CSV 文件指定编码。 默认值为 utf8NoBOM
ForceSwitchParameter此参数允许覆盖只读文件
PathString必需参数,指定保存 CSV 输出文件的位置




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/6418.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: