Tôi đang viết một tập lệnh sẽ xem một thư mục các tệp VHD gốc và sau đó đánh giá các máy ảo nào đang sử dụng các VHD mẹ đó.
tôi có các cơ chế của nó làm việc nhưng tôi chạy vào một vấn đề mà tôi thực sự cần phải tham khảo một biến đường ống tự động ($ _) từ bối cảnh của một đường ống lồng nhau
Mã sudo sẽ là một cái gì đó như :
For each File in Files
Iterate over all VMs that have differencing disks
and return all the VMs that have a disk whose parent disk is File
đây là đoạn mã PowerShell thực tế tôi đã thực hiện cho đến nay để làm điều này:
$NAVParentFiles = get-childitem '\\hypervc2n2\c$\ClusterStorage\Volume1\ParentVHDs' | where {$_.Name -notLike "*diff*"} | select name
$NAVParentFiles | % { Get-VM | where {$_.VirtualHardDisks | where {$_.VHDType -eq "Differencing" -and ($_.ParentDisk.Location | split-path -leaf) -like <$_ from the outer for each loop goes here> } }
Nhờ sự giúp đỡ bạn có thể cung cấp cho tôi trên làm thế nào để truy cập trang nhã một biến đường ống ngoài từ một đường ống lồng nhau.
Đôi khi, tính năng 'foreach'es lồng vào nhau có thể đọc được nhiều hơn so với đường ống lồng nhau. – stej