मैं एक स्क्रिप्ट लिख रहा हूं जो अभिभावक वीएचडी फाइलों की निर्देशिका को देखेगा और फिर मूल्यांकन करेगा कि कौन से वीएम उन अभिभावक वीएचडी का उपयोग कर रहे हैं।
मैं इसे काम करने का यांत्रिकी है, लेकिन मैं एक मुद्दा जहां मैं वास्तव में एक नेस्टेड पाइपलाइन
के संदर्भ से एक स्वचालित पाइपलाइन चर ($ _) को संदर्भित करने की जरूरत में चल रहा sudo कोड की तरह कुछ होगा :
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
यहाँ वास्तविक powershell कोड मैं अब तक लागू कर दिया है यह करने के लिए है:
$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> } }
किसी भी मदद आप मुझ पर प्रदान कर सकते हैं के लिए धन्यवाद कैसे एक नेस्टेड पाइपलाइन से बाहरी पाइपलाइन चर का उपयोग करने के लिए।
कभी-कभी घोंसला 'foreach'es नेस्टेड पाइपलाइनों की तुलना में अधिक पठनीय है। – stej