Sto scrivendo uno script che esaminerà una directory di file Parent VHD e quindi valuterà quali VM stanno utilizzando quei VHD parent.
ho la meccanica di farlo funzionare, ma io sono in esecuzione in un problema in cui ho davvero bisogno di fare riferimento a una variabile conduttura automatica ($ _) dal contesto di una condotta nidificato
Il codice sudo sarebbe qualcosa di simile :
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
ecco il codice vero e proprio PowerShell ho implementato finora per fare questo:
$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> } }
Grazie per qualsiasi aiuto che potete fornire me on come accedere elegantemente a una variabile di pipeline esterna da una pipeline annidata.
Talvolta i "foreach'es" sono più leggibili delle condutture annidate. – stej