【问题标题】:Get List of VM Full Folder Paths through PowerCLI通过 PowerCLI 获取 VM 完整文件夹路径列表
【发布时间】:2019-04-26 18:31:20
【问题描述】:

我正在使用 vSphere 6.0 和最新的 PowerCLI。我想获取 VM 的名称及其路径。类似 get-vm myvmware |获取文件夹路径

我尝试了几种在线找到的解决方案,但要么根本不起作用,要么获得了所有虚拟机。我有一个虚拟机列表,我需要提供给它以获取它们的路径

【问题讨论】:

    标签: powershell vmware powercli


    【解决方案1】:

    你可以用一个函数来做这样的事情。 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
    

    这将列出从数据中心容器开始到包含 VM 的 VM 文件夹的文件夹路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-15
      • 2011-07-10
      • 2011-07-14
      • 2014-06-08
      • 2019-01-16
      • 2011-04-13
      • 2020-08-09
      • 1970-01-01
      相关资源
      最近更新 更多