do tej pory nie miałem problemow z ‘enlightments’ – czyli Integration Services dla systemu operacyjnego do współpracy z Hyper-v. po pierwsze dla w2k3 trzeba było instalować zawsze, po drugie w2k8 i w2k8R2 mają je wbudowane.

jeśli jednak zostawi się standardowe wersje na w2k8 R2 na Hv v3 [czyli na w12] to zaczynają się dziać różne dziwne rzeczy. np. potrafi się wywyalić CSV [w eventlogu wpisy o błędach ze sterownikiem dla vhd], czasem nie działa prawidłowo sieć – mieliśmy teraz guesta, który gubił 4o% pakietów, i inne drobniejsze wypadki. a więc – jest to ważne, aby je zupdateować. a ponieważ od w2k8 są one od razu w systemie, nie zawsze się o tym pamięta. jak hurtem sprawdzić wersje IS na guestach?

dla pojedynczego hosta jest to trywialne:

get-vm |%{ echo "$($_.name) -> $($_.IntegrationServicesVersion)"}

trochę bardziej [ale nie tak znowu bardzo] kompliqje się to na clustrze. można oczywiście ręcznie wykonywać host-by-host ale bardziej pro jest zrobić to jednolinijkowcem (:

wykonanie ‘get-vm –computername <clustername>’ zwróci wyniki wyłącznie z jednego węzła. trzeba więc wylistować węzły i przekazać listę do kolejnego wykonania przytoczonego polecenia:

Get-ClusterNode -cluster <NAME>|%{get-vm -ComputerName $_ |%{echo "$($_.name) -> $($_.IntegrationServicesVersion)" } }

więcej poleceń dla klastrów:

Get-Command -Module failoverclusters

P.S. wychodzi na tym przykaładzie problem, z jakim boryka się cała idea PowerShell – podany przykład działa tylko dla w12. na w2k8 nie ma modułu dla Hv. co prawda jak cluster jest na w2k8 to i nie ma problemu z IS niemniej globalnie, jeśli chce się coś zrobić na Hv na w2k8 to trzeba sobie radzić inaczej – albo via WMI albo instalować moduły z sieci. a jeśli środowisko jest mieszane… zaczyna się robić nieprzyjemnie /:

eN.