哈喽大家好,欢迎来到虚拟化时代君(XNHCYL),收不到通知请将我点击星标!“ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利不见不散)

文 章 引 言
如果不依赖于云桌面,你是否在VMware上短时间内创建几十台虚拟机?或者修改所有主机上的设置?例如,启用 SSH 服务?要自动执行任务和重复操作,你必须创建自己的脚本!你不需要自动执行复杂的任务来节省时间。有时,自动执行非常简单的任务可以帮助您节省大量时间。
几年前,VMware 发布了 PowerCLI。PowerCLI 可能是自动化管理和配置 VMware vSphere 的最佳工具。VMware PowerCLI 是一个以 Microsoft Windows PowerShell 管理单元形式分发的命令行界面。
在本文中,我将介绍使用 VMware PowerCLI 命令的基础知识。由于 cmdlet 数量众多(超过 600 个 cmdlet),只列举了一部分常用的。
目录
1.主机和集群
2.存储
3.虚拟机
4.模板
5.配置虚拟机
6.快照
7.结论
第一章、介绍
我们都知道可以使用 PowerCLI 模块来管理所有受支持的 VMware 产品,例如:
·vSphere,
·Horizon View,
·vCloud,
·vRealize Operations Manager,
·vSAN,
·NSX-T
1、其实昨天已经就讲了一遍了,今天在赘述下吧。我们可以使用 Windows PowerShell 安装 VMware PowerCLI。打开 PowerShell 控制台并运行以下命令:
PS > Install-Module VMware.PowerCLI –Scope CurrentUser
注意:我们使用范围作为当前用户,此时它不需要管理员权限。
2、对于需要将 VMware PowerCLI 升级到新版本的用户,必须在升级之前卸载现有的 PowerCLI 实例。运行以下命令:
PS > Get-Module VMware.Module_Name | Uninstall-Module -Force
3、如果以下目录仍然存在,则将其删除:C:\Program Files (x86)\VMware\Infrastructure\
你也可以输入下的命令查找帮助:
Get-PowerCLIHelp
4、它将打开您的默认 Web 浏览器并将您连接到此链接: https:
//www.vmware.com/support/developer/PowerCLI/。
我建议更新帮助内容以确保您拥有最新信息。定期(尤其是在升级 PowerCLI 版本后)运行以下命令:
Update-Help
5、下面是获取有关 Get-VM cmdlet 正确语法的帮助的示例:

6、要查找包含特定单词的所有 PowerShell Cmdlet,请使用 Get-VICommand cmdlet:

7、PowerCLI 环境已准备就绪。首先,使用 Connect-VIServer cmdlet 连接到您的 vCenter 环境:
Connect-VIServer -User -Password
8、输入vc的账号和密码

9、连接到 vCenter 服务器,如图所示

10、将创建一个默认变量,可用于检索 vCenter 信息。此变量名为 $DefaultVIServers,包含当前 VMware PowerCLI 会话的所有已连接服务器:

11、首先,运行不带附加参数的 Get-Datacenter cmdlet,查看 vCenter 中是否存在任何现有对象。图示我的Lab中,此 cmdlet 仅返回一个名为“Datacenter ”的数据中心。

12、使用命令查看Get-Folder

13、可以使用 New-Datacenter cmdlet 创建一个名为“XNHSDJ”的新数据中心:
New-Datacenter -Location (Get-Folder -Name "Datacenters") -Name "XNHSDJ"

14、很烦一直出现192.168.50.107我们使用命令断开
![]()
第一章、主机和集群
我们在介绍中已经将一个数据中心创建好了,接下来我们可以使用 New-Cluster cmdlet 创建一个新 VMware 集群,参数如下:
·HAEnabled:表示 VMware 高可用性已启用
·DrsEnabled:表示 VMware DRS(分布式资源调度程序)已启用
1、获取集群信息,get-cluster

2、创建一个集群,输入以下命令
New-Cluster -Location XNHSDJ -Name Citrix -HAEnabled -DrsEnabled

3、继续查看集群,get-cluster

3、我们现在将使用带有以下参数的 Set-Cluster cmdlet 将 HA 重启优先级设置设为“高”:
·HARestartPriority:指定集群 HA 重启优先级。有效值为“已禁用”、“低”、“中”和“高”。VMware HA 是一种检测故障虚拟机并在备用 ESX 主机上自动重启它们的功能
4、要禁用 DRS 功能,请将值设置为 false,如下命令和演示
Set-Cluster -Cluster Citrix -DrsEnabled:$false -Confirm:$false
5、为了正确管理您的 VMware 资源,必须像管理文件服务器一样创建文件夹结构。可以使用 vCenter Server 上的 New-Folder cmdlet 创建新文件夹:
New-Folder -Name Manage -Location (Get-Datacenter -Name XNHSDJ | Get-Folder -Name VM)

6、继续在Mange文件夹下创建一个VM的文件夹

7、查看文件夹类型

8、此时我们已经有一个可以移动虚拟机的文件夹。要移动虚拟机,请使用 Move-VM cmdlet:我们先将机器迁移至Manage文件夹下
Move-VM -VM UAG_192.168.50.6 -Destination Manage

9、接着我们将机器迁移至Manage下的VM文件夹下
Move-VM -VM VM-AD-192.168.50.3 -Destination DC
(本来文件夹下VM,出现报错,可能会有所冲突我就换成DC了)

10、我们将使用“Get-VMHost”cmdlet 获取有关 vCenter 服务器、数据中心、集群中有哪些主机可用以及特定虚拟机在哪个主机上运行的信息。您可以通过添加“location”参数来过滤位置。
·在第一个示例中,该命令返回1个主机,Get-VMHost -Location Datacenter
·在第二个示例中,该命令未返回任何主机,这是因为在我的数据中心中没有 ESXi 主机,Get-VMHost -Location XNHSDJ

11、“Get-VMHost” cmdlet 还可用于列出特定 VM 所在的 ESXi 主机。在此示例中,我们想知道名为“Windows11”和“MacOS15”的 VM 位于何处:

12、在 ESXi 主机上执行自动操作必须小心谨慎。在此示例中,我们使用 Set-VMHost cmdlet 将 vSphere 主机置于维护模式:
Set-VMHost -VMHost 192.168.50.107 -State Maintenance

13、使用 VMware PowerCLI,我们还可以在 vCenter 服务器的数据中心添加新主机:
Add-VMHost -Name Hostname -Location 数据中心名字 -User root -Password 你的密码

第二章、存储
1、要从我们当前连接到的 vCenter 服务器检索所有数据存储的列表,请使用命令
Get-Datastore -Name Da*

第三章、虚拟机
1、使用 New-VM cmdlet 自动化虚拟机配置非常简单。需要注意的一点是:在下面的示例中,我尝试在集群中部署虚拟机,其中我的一个 ESXi 节点不可用。
New-VM -Name XNHSDJ -VMHost (Get-Cluster 你的集群名字 | Get-VMHost | Get-Random)

2、如果集群正确可以正常创建
New-VM -Name XNHSDJ -VMHost (Get-Cluster Cloud | Get-VMHost | Get-Random)

3、或者可以指定到某台ESXi机器上面
New-VM -Name xnhsdj-01 -VMHost 192.168.50.2

4、当您创建一个没有额外参数的新虚拟机时,默认设置如下:

5、虚拟机创建后,VM 是关机状态。您必须使用 命令:Start-VM xnhsdj-01

6、当虚拟机启动时,运行 Open-VMConsoleWindow cmdlet 以打开远程控制台会话:
Get-VM xnhsdj-01 | Open-VMConsoleWindow

第四章、模板
首先,您必须创建虚拟机的副本,以便我们可以使用该副本作为模板。您可以将现有虚拟机转换为模板,但使用副本更安全。
1、部署名为“xnhsdj-temp”的克隆后,
Get-VM xnhsdj-01 | New-VM -Name "xnhsdj-temp" -VMhost 192.168.50.2 -DiskStorageFormat Thin

2、下一步是将这个新 VM 转换为模板。使用“ToTemplate”参数将指定的 VM 转换为模板。
Set-VM -VM "xnhsdj-temp" -ToTemplate -Confirm:$false

3、确认模板是否存在。现在我们可以再次使用 New-VM cmdlet 和“Template”参数从这个新模板部署虚拟机。
New-VM -Template "xnhsdj-temp" -Name xnhsdj-02 -VMHost 192.168.50.2 -DiskStorageFormat Thin

第五章、配置虚拟机
1、您将看到此 VM 只有一个磁盘。现在您可以使用 Set-HardDisk cmdlet 更改磁盘大小。执行命令时,它会要求您确认,或者您可以添加“-Confirm:$false”参数来阻止此操作:
Get-VM xnhsdj-02 | Get-HardDisk | Set-HardDisk -CapacityGB 20 -Confirm:$false

2、Get-VM xnhsdj-02 | Get-HardDisk

3、要升级虚拟机的硬件版本,我们需要确保虚拟机已关闭,然后使用 Set-VM cmdlet 将其升级到最新版本:
查看版本
Get-VM | Select-Object Name,VersionSet-VM -VM xnhsdj-02 -Version v11

第六章、快照
1、当您想要保留虚拟机的状态以便可以反复返回到同一状态时,快照功能非常有用。要使用 PowerCLI 的本机 cmdlet 创建快照,请执行以下步骤:
New-Snapshot -VM xnhsdj-02 -Name "snapshot" -Description "initial snapshot"

第七章、总结
借助这个PowerCLI模块,您可以轻松管理 vCenter 基础架构。例如,您可以:
·创建您的虚拟机,
·配置您的 ESXi 主机,
·管理您的 VMware 集群,
·自动化虚拟机配置,
·重新启动虚拟机,
·根据到期日期删除虚拟机,
但要小心,自动化任务非常简单,但可能会对 vCenter 基础架构造成严重损害。在生产中运行脚本之前,请在测试环境中运行脚本。
【以上内容均属虚拟化时代君整理,大家仅供参考!】
往期回顾
点击下方链接阅读精彩文章
免费技术爽文、命令一键备份还原VMware ESXi主机配置文件
VMware vSphere中vApp的功能你真的了解吗?保姆式免费教你vApp的妙处
如何将虚拟机从 VirtualBox 转换为 VMware(Fusion 或 ESXi)
VMware ESXi USB直通技术全解析:如何将物理USB设备直通给虚拟机
超详细通过命令行升级VMware ESXi 7到ESXi 8教程攻略
Dell R730xd安装VMware ESXi 8.0u3d攻略教程
一个小小培训,500大洋外快就到手!VMware vSphere 8内容库你学会了吗?
黑客大佬都在用,VMware ESXi 从Shell启停虚拟机命令
你真的了解VMware三种磁盘配置吗!精简置备 vs 后置备到底选哪个?
博通收购VMware后,新旧VMware兼容性列表查询方案对比
白嫖技巧、VMware vSphere使用mod模式删除无法访问的数据存储
白嫖VMware ESXi 8.0 U3新功能Live Patch、无需重启零中断修复漏洞
VMware安全从我做起,vCenter和Esxi端口加固建议方案
又被客户白嫖一个脚本,VMware vCenter通过Pwershell全自动克隆虚拟机
VMware vCenter(VCSA) 8.0 中的 17 个vmdk有什么用途?给客户介绍用途含泪血赚200!
资源申明:小编更新资源文章只是为了给大家提供一个绿色学习的平台,如果你在本站看到的任何图片文字有涉及到你的利益以及版权都可以联系小编删除。联系微信:XNHSDJ
304

被折叠的 条评论
为什么被折叠?



