use*_*593 -1 powershell vmware powercli
我使用的是 vSphere 6.0 和最新的 PowerCLI。我想获取 VM 的名称及其路径。类似于 get-vm myvmware | 获取文件夹路径
我尝试了几个在线找到的解决方案,但要么根本无法使用,要么获得了所有 VM。我有一个 VM 列表,我需要提供给它以获取它们的路径
你可以用一个函数做这样的事情。VMware 似乎没有内置这样的功能。
Function Get-VMFolderPath {
param([string]$VMFolderId)
$Folders = [system.collections.arraylist]::new()
$tracker = Get-Folder -Id $VMFolderId
$Obj = [pscustomobject][ordered]@{FolderName = $tracker.Name; FolderID = $tracker.Id}
$null = $Folders.add($Obj)
while ($tracker) {
if ($tracker.parent.type) {
$tracker = (Get-Folder -Id $tracker.parentId)
$Obj = [pscustomobject][ordered]@{FolderName = $tracker.Name; FolderID = $tracker.Id}
$null = $Folders.add($Obj)
}
else {
$Obj = [pscustomobject][ordered]@{FolderName = $tracker.parent.name; FolderID = $tracker.parentId}
$null = $Folders.add($Obj)
$tracker = $null
}
}
$Folders.Reverse()
$Folders.FolderName -join "/"
}
$VM = Get-VM "VM Name"
Get-VMFolderPath $VM.Folder.Id
Run Code Online (Sandbox Code Playgroud)
这将列出从数据中心容器开始到包含 VM 的 VM 文件夹的文件夹路径。
| 归档时间: |
|
| 查看次数: |
7990 次 |
| 最近记录: |