เชตเชนเซเชฒเชพ เชเซ เชชเชเซเชฅเซ, เชเซเชเชชเชฃ VMware เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐ เชจเชฟเชฏเชฎเชฟเชค เชเชพเชฐเซเชฏเซเชจเซ เชธเซเชตเชเชพเชฒเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเซ เชเซ. เชคเซ เชฌเชงเซเช เชเชฎเชพเชจเซเชก เชฒเชพเชเชจเชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ, เชชเชเซ เชชเชพเชตเชฐเชถเซเชฒ เช เชฅเชตเชพ VMware PowerCLI เชเชตเซ เชเซ.
เชเชพเชฒเซ เชเชนเซเช เชเซ เชคเชฎเซ ISE เชถเชฐเซ เชเชฐเชตเชพ เช เชจเซ "เช เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเชพ เชเชพเชฆเซ" เชจเซ เชเชพเชฐเชฃเซ เชเชพเชฎ เชเชฐเชคเชพ เชฎเซเชกเซเชฏเซเชฒเซเชฎเชพเชเชฅเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค cmdletsเชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพเช เชฅเซเชกเซ เชตเชงเซ เชเชเชณ เชชเชพเชตเชฐเชถเซเชฒเชฎเชพเช เชจเชฟเชชเซเชฃเชคเชพ เชฎเซเชณเชตเซ เชเซ. เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซเชจเซ เชธเซเชเชเชกเซเชฎเชพเช เชเชฃเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเชถเซ, เชคเซเชฏเชพเชฐเซ เชคเชฎเซ เชเซเชถเซ เชเซ เชจเชพเชจเชพ เชธเซเชเซเชฒ เชชเชฐ เชฎเชฆเชฆ เชเชฐเชคเซ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชฎเซเชเชพ เชชเชพเชฏเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชงเซเชฎเซ เชเชพเชฒเซ เชเซ.
เช เชธเซเชฅเชฟเชคเชฟเชฎเชพเช, 2 เชธเชพเชงเชจเซ เชฎเชฆเชฆ เชเชฐเชถเซ:
- เชชเชพเชตเชฐเชถเซเชฒ เชฐเชจเชธเซเชชเซเชธ - เชเช เช เชญเชฟเชเชฎ เชเซ เชคเชฎเชจเซ เช เชฒเช เชฅเซเชฐเซเชกเซเชฎเชพเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชจเชพ เช เชฎเชฒเชจเซ เชธเชฎเชพเชเชคเชฐ เชฌเชจเชพเชตเชตเชพ เชฆเซ เชเซ;
- เชเซเช-เชตเซเชฏเซ - เชฎเซเชณเชญเซเชค PowerCLI เชซเชเชเซเชถเชจ, Windows เชฎเชพเช Get-WMIObject เชจเซเช เชเชจเชพเชฒเซเช. เช cmdlet เชเชเชฎเซเชจเซ เชธเชพเชฅเซเชจเซ เชตเชธเซเชคเซเชเชจเซ เชเซเชเชเชคเซเช เชจเชฅเซ, เชชเชฐเชเชคเซ เชธเชพเชฆเชพ เชกเซเชเชพ เชชเซเชฐเชเชพเชฐเซ เชธเชพเชฅเซ เชธเชพเชฆเชพ เชเชฌเซเชเซเชเซเชเชจเชพ เชฐเซเชชเชฎเชพเช เชฎเชพเชนเชฟเชคเซ เชฎเซเชณเชตเซ เชเซ. เชเชฃเชพ เชเชฟเชธเซเชธเชพเชเชฎเชพเช เชคเซ เชเชกเชชเชฅเซ เชฌเชนเชพเชฐ เชเชตเซ เชเซ.
เชเชเชณ, เชนเซเช เชฆเชฐเซเช เชเซเชฒ เชตเชฟเชถเซ เชเซเชเชเชฎเชพเช เชตเชพเชค เชเชฐเซเชถ เช เชจเซ เชเชชเชฏเซเชเชจเชพเช เชเชฆเชพเชนเชฐเชฃเซ เชฌเชคเชพเชตเซเชถ. เชเชพเชฒเซ เชเซเชเซเชเชธ เชธเซเชเซเชฐเชฟเชชเซเชเซเชธเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเช เช เชจเซ เชเซเชเช เชเซ เชเซเชฏเชพเชฐเซ เชเช เชฌเซเชเซ เชเชฐเชคเชพเช เชตเชงเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเซ เชเซ. เชเชพเช!
เชชเซเชฐเชฅเชฎ เชคเชฌเชเซเชเซ: เชฐเชจเชธเซเชชเซเชธ
เชคเซเชฅเซ, เชฐเชจเชธเซเชชเซเชธ เชฎเซเชเซเชฏ เชฎเซเชกเซเชฏเซเชฒเชจเซ เชฌเชนเชพเชฐเชจเชพ เชเชพเชฐเซเชฏเซเชจเซ เชธเชฎเชพเชเชคเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชฐเชเชพเชฏเซเชฒ เชเซ. เช เชฒเชฌเชคเซเชค, เชคเชฎเซ เชฌเซเชเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเชฐเซ เชเชฐเซ เชถเชเซ เชเซ เชเซ เชฅเซเชกเซ เชฎเซเชฎเชฐเซ, เชชเซเชฐเซเชธเซเชธเชฐ เชตเชเซเชฐเซ เชเชพเช เชเชถเซ. เชเซ เชคเชฎเชพเชฐเซ เชธเซเชเซเชฐเชฟเชชเซเช เชฅเซเชกเซ เชฎเชฟเชจเชฟเชเซเชฎเชพเช เชเชพเชฒเซ เชเซ เช เชจเซ เชเช เชเซเชเชพเชฌเชพเชเช เชฎเซเชฎเชฐเซ เชตเชพเชชเชฐเซ เชเซ, เชคเซ เชธเชเชญเชตเชคเช เชคเชฎเชพเชฐเซ เชฐเชจเชธเซเชชเซเชธเชจเซ เชเชฐเซเชฐ เชจเชนเซเช เชชเชกเซ. เชชเชฐเชเชคเซ เชนเชเชพเชฐเซ เชเชฌเซเชเซเชเซเชเซเชธ เชฎเชพเชเซเชจเซ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชฎเชพเชเซ เชคเซ เชเชฐเซเชฐเซ เชเซ.
เชคเชฎเซ เช เชนเซเช เชถเซเชเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชถเชเซ เชเซ:
เชชเชพเชตเชฐเชถเซเชฒ เชฐเชจเชธเซเชชเซเชธเชจเซ เชเชชเชฏเซเช เชถเชฐเซ เชเชฐเชตเซ: เชญเชพเช 1
เชฐเชจเชธเซเชชเซเชธเชจเซ เชเชชเชฏเซเช เชถเซเช เชเชชเซ เชเซ:
- เชเชเซเชเชฟเชเซเชฏเซเชเซเชก เชเชฆเซเชถเซเชจเซ เชธเซเชเชฟเชจเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเชฐเซเชจเซ เชเชกเชช,
- เชเชพเชฐเซเชฏเซเชจเซ เชธเชฎเชพเชเชคเชฐ เช เชฎเชฒ,
- เชธเชฒเชพเชฎเชคเซ.
เชเซเชฏเชพเชฐเซ เชฐเชจเชธเซเชชเซเชธ เชฎเชฆเชฆ เชเชฐเซ เชเซ เชคเซเชฏเชพเชฐเซ เชเชจเซเชเชฐเชจเซเช เชชเชฐเชฅเซ เช เชนเซเช เชเช เชเชฆเชพเชนเชฐเชฃ เชเซ:
"เชธเชเชเซเชฐเชน เชตเชฟเชตเชพเชฆ เช vSphere เชฎเชพเช เชเซเชฐเซ เช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เชธเซเชฅเซ เชฎเซเชถเซเชเซเชฒ เชฎเซเชเซเชฐเชฟเชเซเชธ เชเซ. vCenter เชจเซ เช เชเชฆเชฐ, เชคเชฎเซ เชฎเชพเชคเซเชฐ เชเชเชจเซ เชเซเช เชถเชเชคเชพ เชจเชฅเซ เชเซ เชเช VM เชตเชงเซ เชธเซเชเซเชฐเซเช เชธเชเชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชฐเชนเซ เชเซ. เชธเชฆเชญเชพเชเซเชฏเซ, เชคเชฎเซ เชชเชพเชตเชฐเชถเซเชฒเชจเซ เชเชญเชพเชฐเซ เชฎเชฟเชจเชฟเชเซเชฎเชพเช เช เชกเซเชเชพ เชเชเชคเซเชฐเชฟเชค เชเชฐเซ เชถเชเซ เชเซ.
เชนเซเช เชเช เชธเซเชเซเชฐเชฟเชชเซเช เชถเซเชฐ เชเชฐเซเชถ เชเซ VMware เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐเซเชธเชจเซ เชธเชฎเชเซเชฐ vCenterเชฎเชพเช เชเชกเชชเชฅเซ เชถเซเชงเชตเชพเชจเซ เช เชจเซ เชคเซเชฎเชจเชพ เชธเชฐเซเชฐเชพเชถ เชตเชชเชฐเชพเชถ เชชเชฐเชจเชพ เชกเซเชเชพ เชธเชพเชฅเซ VM เชจเซ เชธเซเชเชฟ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ.
เชธเซเชเซเชฐเชฟเชชเซเช เชชเชพเชตเชฐเชถเซเชฒ เชฐเชจเชธเซเชชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เชเซเชฅเซ เชฆเชฐเซเช ESXi เชนเซเชธเซเชเชจเซ เชคเซเชจเชพ เชชเซเชคเชพเชจเชพ VM เชฎเชพเชเชฅเซ เช เชฒเช เชฐเชจเชธเซเชชเซเชธเชฎเชพเช เชตเชชเชฐเชพเชถเชจเซ เชฎเชพเชนเชฟเชคเซ เชเชเชคเซเชฐเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เช เชจเซ เชคเชฐเชค เช เชชเซเชฐเซเชฃเชคเชพเชจเซ เชเชพเชฃ เชเชฐเซ เชถเชเชพเชฏ. เช เชชเชพเชตเชฐเชถเซเชฒเชจเซ เชฏเชเชฎเชพเชจเซ เชฆเซเชตเชพเชฐเชพ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชเชฐเชตเชพ เช เชจเซ เชฆเชฐเซเชเชจเซ เชตเชฟเชจเชเชคเซ เชชเซเชฐเซเชฃ เชเชฐเชตเชพเชจเซ เชฐเชพเชน เชเซเชตเชพเชจเซ เชฌเชฆเชฒเซ เชคเชฐเชค เช เชจเซเชเชฐเซเช เชฌเชเชง เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ."เชธเซเชฐเซเชธ:
ESXi เชกเซเชถเชฌเซเชฐเซเชก เชชเชฐ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ I/O เชเซเชตเซ เชฐเซเชคเซ เชฌเชคเชพเชตเชตเซเช
เชจเซเชเซเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชฐเชจเชธเซเชชเซเชธ เชนเชตเซ เชเชชเชฏเซเชเซ เชจเชฅเซ:
โเชนเซเช เชเช เชธเซเชเซเชฐเชฟเชชเซเช เชฒเชเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเซ เชเซเช เชเซ VM เชฎเชพเชเชฅเซ เชเชฃเซ เชกเซเชเชพ เชเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ เช เชจเซ เชเซเชฏเชพเชฐเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชจเชตเซ เชกเซเชเชพ เชฒเชเซ เชเซ. เชธเชฎเชธเซเชฏเชพ เช เชเซ เชเซ เชคเซเชฏเชพเช เชเชฃเชพ เชฌเชงเชพ VM เชเซ, เช เชจเซ เชเช เชฎเชถเซเชจ เชชเชฐ 5-8 เชธเซเชเชจเซเชก เชเชฐเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ."
เชธเซเชฐเซเชธ:
RunspacePool เชธเชพเชฅเซ เชฎเชฒเซเชเชฟเชฅเซเชฐเซเชกเชฟเชเช PowerCLI
เช เชนเซเช เชคเชฎเชพเชฐเซ เชเซเช-เชตเซเชฏเซเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ, เชเชพเชฒเซ เชคเซเชจเชพ เชชเชฐ เชเชเชณ เชตเชงเซเช.
เชฌเซเชเซ เชคเชฌเชเซเชเซ: เชเซเช-เชตเซเชฏเซ
เชเซเช-เชตเซเชฏเซ เชถเชพ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชเซ เชคเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ cmdlets เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เชคเซ เชฏเชพเชฆ เชฐเชพเชเชตเซเช เชฏเซเชเซเชฏ เชเซ.
API เชธเชเชฆเชฐเซเชญ เชชเซเชธเซเชคเชเซเชจเซ เช เชญเซเชฏเชพเชธ เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เช เชจเซ เชเชเชฒเชพ เชเชเซเชฐเชจเซ เชชเซเชจเชเชถเซเชง เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชธเชฐเชณเชคเชพเชชเซเชฐเซเชตเช เชฎเชพเชนเชฟเชคเซ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ Cmdletsเชจเซ เชเชฐเซเชฐ เชเซ. เชเซเชจเชพ เชฆเชฟเชตเชธเซเชฎเชพเช เชเซเชกเชจเซ เชธเซ เชเซ เชฌเซ เชฒเซเชเซเช เชถเซเช เชฒเซเชคเซ เชนเชคเซ, เชชเชพเชตเชฐเชถเซเชฒ เชคเชฎเชจเซ เชเช เชเชฆเซเชถ เชธเชพเชฅเซ เชเชฐเชตเชพเชจเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ. เช เชฎเซ เชเชกเชช เชธเชพเชฅเซ เช เชธเซเชตเชฟเชงเชพ เชฎเชพเชเซ เชเซเชเชตเชฃเซ เชเชฐเซเช เชเซเช. cmdlets เชจเซ เช เชเชฆเชฐ เชเซเช เชเชพเชฆเซ เชจเชฅเซ: เชธเชฎเชพเชจ เชธเซเชเซเชฐเชฟเชชเซเช, เชชเชฐเชเชคเซ เชจเซเชเชฒเชพ เชธเซเชคเชฐเซ, เชธเชจเซ เชญเชพเชฐเชคเชจเชพ เชฎเชพเชธเซเชเชฐเชจเชพ เชเซเชถเชณ เชนเชพเชฅ เชฆเซเชตเชพเชฐเชพ เชฒเชเชพเชฏเซเชฒ.
เชนเชตเซ, Get-View เชธเชพเชฅเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชพเชฒเซ Get-VM cmdlet เชฒเชเช: เชคเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเชจเซ เชเชเซเชธเซเชธ เชเชฐเซ เชเซ เช เชจเซ เชเช เชธเชเชฏเซเชเซเชค เชเชฌเซเชเซเชเซเช เชชเชฐเชค เชเชฐเซ เชเซ, เชเชเชฒเซ เชเซ, เชคเซ เช เชจเซเชฏ เชธเชเชฌเชเชงเชฟเชค เชเชฌเซเชเซเชเซเชเชจเซ เชคเซเชจเซ เชธเชพเชฅเซ เชเซเชกเซ เชเซ: VMHost, Datastore, เชตเชเซเชฐเซ.
เชคเซเชจเชพ เชธเซเชฅเชพเชจเซ เชเซเช-เชตเซเชฏเซ เชชเชฐเชค เชเชฐเซเชฒเชพ เชเชฌเซเชเซเชเซเชเชฎเชพเช เชฌเชฟเชจเชเชฐเซเชฐเซ เชเชเชเชชเชฃ เชเชฎเซเชฐเชคเซเช เชจเชฅเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชคเซ เช เชฎเชจเซ เชเช เชฎเชพเชนเชฟเชคเซเชจเซ เชเชฐเซเชฐ เชเซ เชคเซ เชธเชเชค เชฐเซเชคเซ เชธเซเชชเชทเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ, เชเซ เชเชเชเชชเซเช เชเชฌเซเชเซเชเซเชเชจเซ เชธเชฐเชณ เชฌเชจเชพเชตเชถเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชตเชฟเชจเซเชกเซเช เชธเชฐเซเชตเชฐเชฎเชพเช เช เชจเซ เชเชพเชธ เชเชฐเซเชจเซ เชนเชพเชฏเชชเชฐ-เชตเซเชฎเชพเช, Get-WMIObject cmdlet เช เชกเชพเชฏเชฐเซเชเซเช เชเชจเชพเชฒเซเช เชเซ - เชตเชฟเชเชพเชฐ เชฌเชฐเชพเชฌเชฐ เช เช เชเซ.
เชเซเช-เชตเซเชฏเซ เชชเซเชเชจเซเช เชเชฌเซเชเซเชเซเชเซเชธ เชชเชฐ เชจเชฟเชฏเชฎเชฟเชค เชเชพเชฎเชเซเชฐเซ เชฎเชพเชเซ เช เชธเซเชตเชฟเชงเชพเชเชจเช เชเซ. เชชเชฐเชเชคเซ เชเซเชฏเชพเชฐเซ เชนเชเชพเชฐเซ เช เชจเซ เชนเชเชพเชฐเซ เชตเชธเซเชคเซเชเชจเซ เชตเชพเชค เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเซเชจเซ เชเซเช เชเชฟเชเชฎเชค เชจเชฅเซ.
เชคเชฎเซ VMware เชฌเซเชฒเซเช เชชเชฐ เชตเชงเซ เชตเชพเชเชเซ เชถเชเซ เชเซ:
เชเซเช-เชตเซเชฏเซเชจเซ เชชเชฐเชฟเชเชฏ
เชนเชตเซ เชนเซเช เชคเชฎเชจเซ เชตเชพเชธเซเชคเชตเชฟเช เชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเชงเซเช เชฌเชคเชพเชตเซเชถ.
VM เช เชจเชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชธเซเชเซเชฐเชฟเชชเซเช เชฒเชเซ เชฐเชนเซเชฏเชพ เชเซเช
เชเช เชฆเชฟเชตเชธ เชฎเชพเชฐเชพ เชธเชพเชฅเซเชฆเชพเชฐเซ เชฎเชจเซ เชคเซเชจเซ เชธเซเชเซเชฐเชฟเชชเซเช เชเชชเซเชเชฟเชฎเชพเชเช เชเชฐเชตเชพ เชเชนเซเชฏเซเช. เชเชพเชฐเซเชฏ เชเช เชธเชพเชฎเชพเชจเซเชฏ เชฆเชฟเชจเชเชฐเซเชฏเชพ เชเซ: เชกเซเชชเซเชฒเชฟเชเซเช cloud.uuid เชชเซเชฐเชพเชฎเซเชเชฐ เชธเชพเชฅเซ เชคเชฎเชพเชฎ VM เชถเซเชงเซ (เชนเชพ, vCloud เชกเชฟเชฐเซเชเซเชเชฐเชฎเชพเช VM เชเซเชฒเซเชจ เชเชฐเชคเซ เชตเชเชคเซ เช เชถเชเซเชฏ เชเซ).
เชธเซเชชเชทเซเช เชเชเซเชฒ เชเซ เชฎเชจเชฎเชพเช เชเชตเซ เชเซ เชคเซ เชเซ:
- เชคเชฎเชพเชฎ VM เชจเซ เชฏเชพเชฆเซ เชฎเซเชณเชตเซ.
- เชธเซเชเชฟเชจเซ เชเซเชเช เชฐเซเชคเซ เชชเชพเชฐเซเชธ เชเชฐเซ.
เชฎเซเชณ เชเชตเซเชคเซเชคเชฟ เช เชธเชฐเชณ เชธเซเชเซเชฐเชฟเชชเซเช เชนเชคเซ:
function Get-CloudUUID1 {
# ะะพะปััะฐะตะผ ัะฟะธัะพะบ ะฒัะตั
ะะ
$vms = Get-VM
$report = @()
# ะะฑัะฐะฑะฐััะฒะฐะตะผ ะบะฐะถะดัะน ะพะฑัะตะบั, ะฟะพะปััะฐั ะธะท ะฝะตะณะพ ัะพะปัะบะพ 2 ัะฒะพะนััะฒะฐ: ะะผั ะะ ะธ Cloud UUID.
# ะะฐะฝะพัะธะผ ะดะฐะฝะฝัะต ะฒ ะฝะพะฒัะน PS-ะพะฑัะตะบั ั ะฟะพะปัะผะธ VM ะธ UUID
foreach ($vm in $vms)
{
$table = "" | select VM,UUID
$table.VM = $vm.name
$table.UUID = ($vm | Get-AdvancedSetting -Name cloud.uuid).Value
$report += $table
}
# ะะพะทะฒัะฐัะฐะตะผ ะฒัะต ะพะฑัะตะบัั
$report
}
# ะะฐะปะตะต ะ ะฃะะะะ ะฟะฐััะธะผ ะฟะพะปััะตะฝะฝัะน ัะตะทัะปััะฐั
เชฌเชงเซเช เช เชคเซเชฏเชเชค เชธเชฐเชณ เช เชจเซ เชธเซเชชเชทเซเช เชเซ. เชคเซ เชเซเชซเซ เชฌเซเชฐเซเช เชธเชพเชฅเซ เชฅเซเชกเซ เชฎเชฟเชจเชฟเชเซเชฎเชพเช เชฒเชเซ เชถเชเชพเชฏ เชเซ. เชซเชฟเชฒเซเชเชฐเซเชถเชจ เชชเชฐ เชธเซเชเซเชฐเซ เชเชฐเซ เช เชจเซ เชคเซ เชฅเช เชเชฏเซเช.
เชชเชฐเชเชคเซ เชเชพเชฒเซ เชธเชฎเชฏ เชฎเชพเชชเซเช:
2 เชฎเชฟเชจเชฟเช 47 เชธเซเชเชจเซเชก เชฒเชเชญเช 10k VMs เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชคเซ เชตเชเชคเซ. เชฌเซเชจเชธ เช เชซเชฟเชฒเซเชเชฐเซเชธเชจเซ เชเซเชฐเชนเชพเชเชฐเซ เช
เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชฎเซเชจเซเชฏเซเช
เชฒเซ เชธเซเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค เชเซ. เชฆเซเชเซเชคเซ เชฐเซเชคเซ, เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเซเชเชฟเชฎเชพเชเชเซเชถเชจเชจเซ เชเชฐเซเชฐ เชเซ.
เชเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ vCenter เชชเชพเชธเซเชฅเซ เชเชเชธเชพเชฅเซ เชนเซเชธเซเช เชฎเซเชเซเชฐเชฟเชเซเชธ เชฎเซเชณเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เช เชฅเชตเชพ เชนเชเชพเชฐเซ เชเชฌเซเชเซเชเซเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชฐเชจเชธเซเชชเซเชธ เช เชฌเชเชพเชตเชฎเชพเช เชธเซ เชชเซเชฐเชฅเชฎ เชเชตเซ เชเซ. เชเชพเชฒเซ เชเซเชเช เชเซ เช เช เชญเชฟเชเชฎ เชถเซเช เชฒเชพเชตเซ เชเซ.
เชชเซเชฐเชฅเชฎ เชเชคเชฟ เชเชพเชฒเซ เชเชฐเซ: เชชเชพเชตเชฐเชถเซเชฒ เชฐเชจเชธเซเชชเซเชธ
เช เชธเซเชเซเชฐเชฟเชชเซเช เชฎเชพเชเซ เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซ เชเซ เชงเซเชฏเชพเชจเชฎเชพเช เชเชตเซ เชเซ เชคเซ เชเซ เชฒเซเชชเชจเซ เชเซเชฐเชฎเชฟเช เชฐเซเชคเซ เชจเชนเซเช, เชชเชฐเชเชคเซ เชธเชฎเชพเชเชคเชฐ เชฅเซเชฐเซเชกเซเชฎเชพเช, เชคเชฎเชพเชฎ เชกเซเชเชพเชจเซ เชเช เชเชฌเซเชเซเชเซเชเชฎเชพเช เชเชเชคเซเชฐเชฟเชค เชเชฐเซ เช เชจเซ เชคเซเชจเซ เชซเชฟเชฒเซเชเชฐ เชเชฐเซ.
เชชเชฐเชเชคเซ เชเช เชธเชฎเชธเซเชฏเชพ เชเซ: PowerCLI เช เชฎเชจเซ vCenter เชชเชฐ เชเชฃเชพ เชธเซเชตเชคเชเชคเซเชฐ เชธเชคเซเชฐเซ เชเซเชฒเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ เชจเชนเซเช เช เชจเซ เชเช เชฐเชฎเซเชเซ เชญเซเชฒ เชซเซเชเชเชถเซ:
You have modified the global:DefaultVIServer and global:DefaultVIServers system variables. This is not allowed. Please reset them to $null and reconnect to the vSphere server.
เชเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชชเชนเซเชฒเชพ เชธเซเชเซเชฐเซเชฎเชฎเชพเช เชธเชคเซเชฐเชจเซ เชฎเชพเชนเชฟเชคเซ เชชเชพเชธ เชเชฐเชตเซ เชชเชกเชถเซ. เชเชพเชฒเซ เชฏเชพเชฆ เชฐเชพเชเซเช เชเซ เชชเชพเชตเชฐเชถเซเชฒ เชเชตเชพ เชเชฌเซเชเซเชเซเชเซเชธ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ เชเซ เชซเชเชเซเชถเชจ เช เชฅเชตเชพ เชธเซเชเซเชฐเชฟเชชเซเชเชฌเซเชฒเซเชเชฎเชพเช เชชเซเชฐเชพเชฎเซเชเชฐ เชคเชฐเซเชเซ เชชเชธเชพเชฐ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชเชพเชฒเซ $global:DefaultVIServers (-NotDefault เชเซ เชธเชพเชฅเซ เชเชจเซเชเซเช-VIServer) เชจเซ เชฌเชพเชฏเชชเชพเชธ เชเชฐเซเชจเซ, เชเชตเชพ เชเชฌเซเชเซเชเซเชเชจเชพ เชธเซเชตเชฐเซเชชเชฎเชพเช เชธเชคเซเชฐ เชชเชธเชพเชฐ เชเชฐเซเช:
$ConnectionString = @()
foreach ($vCenter in $vCenters)
{
try {
$ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -AllLinked -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
}
catch {
if ($er.Message -like "*not part of a linked mode*")
{
try {
$ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
}
catch {
throw $_
}
}
else {
throw $_
}
}
}
เชนเชตเซ เชเชพเชฒเซ Runspace Pools เชฆเซเชตเชพเชฐเชพ เชฎเชฒเซเชเชฟเชฅเซเชฐเซเชกเชฟเชเชเชจเซ เช เชฎเชฒ เชเชฐเซเช.
เช เชฒเซเชเซเชฐเชฟเชงเชฎ เชจเซเชเซ เชฎเซเชเชฌ เชเซ:
- เช เชฎเชจเซ เชคเชฎเชพเชฎ VM เชจเซ เชฏเชพเชฆเซ เชฎเชณเซ เชเซ.
- เชธเชฎเชพเชเชคเชฐ เชธเซเชเซเชฐเซเชฎเซเชธเชฎเชพเช เชเชชเชฃเชจเซ cloud.uuid เชฎเชณเซ เชเซ.
- เช เชฎเซ เชเช เชเชฌเซเชเซเชเซเชเชฎเชพเช เชธเซเชเซเชฐเซเชฎเซเชธเชฎเชพเชเชฅเซ เชกเซเชเชพ เชเชเชคเซเชฐเชฟเชค เชเชฐเซเช เชเซเช.
- เช เชฎเซ เชเชฌเซเชเซเชเซเชเชจเซ CloudUUID เชซเซเชฒเซเชกเชจเชพ เชฎเซเชฒเซเชฏ เชฆเซเชตเชพเชฐเชพ เชเซเชฅเชฌเชฆเซเชง เชเชฐเซเชจเซ เชซเชฟเชฒเซเชเชฐ เชเชฐเซเช เชเซเช: เชเซเชฏเชพเช เช เชจเชจเซเชฏ เชฎเซเชฒเซเชฏเซเชจเซ เชธเชเชเซเชฏเชพ 1 เชเชฐเชคเชพ เชตเชงเชพเชฐเซ เชนเซเชฏ เชคเซ VM เชเซ เชเซ เช เชฎเซ เชถเซเชงเซ เชฐเชนเซเชฏเชพ เชเซเช.
เชชเชฐเชฟเชฃเชพเชฎเซ, เช เชฎเชจเซ เชธเซเชเซเชฐเชฟเชชเซเช เชฎเชณเซ เชเซ:
function Get-VMCloudUUID {
param (
[string[]]
[ValidateNotNullOrEmpty()]
$vCenters = @(),
[int]$MaxThreads,
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential
)
$ConnectionString = @()
# ะกะพะทะดะฐะตะผ ะพะฑัะตะบั ั ัะตััะธะพะฝะฝัะผ ะบะปััะพะผ
foreach ($vCenter in $vCenters)
{
try {
$ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -AllLinked -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
}
catch {
if ($er.Message -like "*not part of a linked mode*")
{
try {
$ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
}
catch {
throw $_
}
}
else {
throw $_
}
}
}
# ะะพะปััะฐะตะผ ัะฟะธัะพะบ ะฒัะตั
ะะ
$Global:AllVMs = Get-VM -Server $ConnectionString
# ะะพะตั
ะฐะปะธ!
$ISS = [system.management.automation.runspaces.initialsessionstate]::CreateDefault()
$RunspacePool = [runspacefactory]::CreateRunspacePool(1, $MaxThreads, $ISS, $Host)
$RunspacePool.ApartmentState = "MTA"
$RunspacePool.Open()
$Jobs = @()
# ScriptBlock ั ะผะฐะณะธะตะน!)))
# ะะผะตะฝะฝะพ ะพะฝ ะฑัะดะตั ะฒัะฟะพะปะฝััััั ะฒ ะฟะพัะพะบะต
$scriptblock = {
Param (
$ConnectionString,
$VM
)
$Data = $VM | Get-AdvancedSetting -Name Cloud.uuid -Server $ConnectionString | Select-Object @{N="VMName";E={$_.Entity.Name}},@{N="CloudUUID";E={$_.Value}},@{N="PowerState";E={$_.Entity.PowerState}}
return $Data
}
# ะะตะฝะตัะธััะตะผ ะฟะพัะพะบะธ
foreach($VM in $AllVMs)
{
$PowershellThread = [PowerShell]::Create()
# ะะพะฑะฐะฒะปัะตะผ ัะบัะธะฟั
$null = $PowershellThread.AddScript($scriptblock)
# ะ ะพะฑัะตะบัั, ะบะพัะพััะต ะฟะตัะตะดะฐะดะธะผ ะฒ ะบะฐัะตััะฒะต ะฟะฐัะฐะผะตััะพะฒ ัะบัะธะฟัั
$null = $PowershellThread.AddArgument($ConnectionString)
$null = $PowershellThread.AddArgument($VM)
$PowershellThread.RunspacePool = $RunspacePool
$Handle = $PowershellThread.BeginInvoke()
$Job = "" | Select-Object Handle, Thread, object
$Job.Handle = $Handle
$Job.Thread = $PowershellThread
$Job.Object = $VM.ToString()
$Jobs += $Job
}
# ะกัะฐะฒะธะผ ะณัะฐะดััะฝะธะบ, ััะพะฑั ะฝะฐะณะปัะดะฝะพ ะพััะปะตะถะธะฒะฐัั ะฒัะฟะพะปะฝะตะฝะธะต ะทะฐะดะฐะฝะธะน
# ะ ะทะดะตัั ะถะต ะฟัะธะฑะธะฒะฐะตะผ ะพััะฐะฑะพัะฐะฒัะธะต ะทะฐะดะฐะฝะธั
While (@($Jobs | Where-Object {$_.Handle -ne $Null}).count -gt 0)
{
$Remaining = "$($($Jobs | Where-Object {$_.Handle.IsCompleted -eq $False}).object)"
If ($Remaining.Length -gt 60) {
$Remaining = $Remaining.Substring(0,60) + "..."
}
Write-Progress -Activity "Waiting for Jobs - $($MaxThreads - $($RunspacePool.GetAvailableRunspaces())) of $MaxThreads threads running" -PercentComplete (($Jobs.count - $($($Jobs | Where-Object {$_.Handle.IsCompleted -eq $False}).count)) / $Jobs.Count * 100) -Status "$(@($($Jobs | Where-Object {$_.Handle.IsCompleted -eq $False})).count) remaining - $remaining"
ForEach ($Job in $($Jobs | Where-Object {$_.Handle.IsCompleted -eq $True})){
$Job.Thread.EndInvoke($Job.Handle)
$Job.Thread.Dispose()
$Job.Thread = $Null
$Job.Handle = $Null
}
}
$RunspacePool.Close() | Out-Null
$RunspacePool.Dispose() | Out-Null
}
function Get-CloudUUID2
{
[CmdletBinding()]
param(
[string[]]
[ValidateNotNullOrEmpty()]
$vCenters = @(),
[int]$MaxThreads = 50,
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential)
if(!$Credential)
{
$Credential = Get-Credential -Message "Please enter vCenter credentials."
}
# ะัะทะพะฒ ััะฝะบัะธะธ Get-VMCloudUUID, ะณะดะต ะผั ัะฐัะฟะฐัะฐะปะปะตะปะธะฒะฐะตะผ ะพะฟะตัะฐัะธั
$AllCloudVMs = Get-VMCloudUUID -vCenters $vCenters -MaxThreads $MaxThreads -Credential $Credential
$Result = $AllCloudVMs | Sort-Object Value | Group-Object -Property CloudUUID | Where-Object -FilterScript {$_.Count -gt 1} | Select-Object -ExpandProperty Group
$Result
}
เช เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชธเซเชเชฆเชฐเชคเชพ เช เชเซ เชเซ เชคเซเชจเซ เชเชชเชฏเซเช เชซเชเซเชค เชธเซเชเซเชฐเชฟเชชเซเชเชฌเซเชฒเซเช เช เชจเซ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชฌเชฆเชฒเซเชจเซ เช เชจเซเชฏ เชธเชฎเชพเชจ เชเซเชธเซเชฎเชพเช เชฅเช เชถเชเซ เชเซ เชเซ เชธเซเชเซเชฐเซเชฎเชฎเชพเช เชชเชธเชพเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. เชคเซเชจเซ เชถเซเชทเชฃ เชเชฐเซ!
เช เชฎเซ เชธเชฎเชฏ เชฎเชพเชชเซเช เชเซเช:
55 เชธเซเชเชจเซเชก. เชคเซ เชตเชงเซ เชธเชพเชฐเซเช เชเซ, เชชเชฐเชเชคเซ เชคเซ เชนเชเซ เชชเชฃ เชเชกเชชเซ เชนเซเช เชถเชเซ เชเซ.
เชเชพเชฒเซ เชฌเซเชเซ เชเชกเชช เชชเชฐ เชเชเช: GetView
เชเชพเชฒเซ เชถเซเชงเซ เชเชพเชขเซเช เชเซ เชถเซเช เชเซเชเซเช เชเซ.
เชชเซเชฐเชฅเชฎ เช
เชจเซ เช
เชเซเชฐเชฃเซ, Get-VM cmdlet เชเชเซเชเซเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชฒเชพเชเชฌเซ เชธเชฎเชฏ เชฒเซ เชเซ.
เชฌเซเชเซเช, Get-AdvancedOptions cmdlet เชชเซเชฐเซเชฃ เชฅเชตเชพเชฎเชพเช เชตเชงเซ เชธเชฎเชฏ เชฒเซ เชเซ.
เชเชพเชฒเซ เชชเชนเซเชฒเชพ เชฌเซเชเชพ เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซเช.
Get-AdvancedOptions เชตเซเชฏเชเซเชคเชฟเชเชค VM เชเชฌเซเชเซเชเซเชเซเชธ เชฎเชพเชเซ เช เชจเซเชเซเชณ เชเซ, เชชเชฐเชเชคเซ เชเชฃเชพ เชเชฌเซเชเซเชเซเชเซเชธ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชคเซ เชตเชเชคเซ เชเซเชฌ เช เช เชฃเชเชก เชเซ. เชเชชเชฃเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชเชฌเซเชเซเชเซเชเชฎเชพเชเชฅเซ เช เชฎเชพเชนเชฟเชคเซ เชฎเซเชณเชตเซ เชถเชเซเช เชเซเช (เชเซเช-เชตเซเชเชฎ). เชคเซ เชเชเซเชธเซเชเซเชเชถเชจเชกเซเชเชพ เชเชฌเซเชเซเชเซเชเชฎเชพเช เชธเชพเชฐเซ เชฐเซเชคเซ เชฆเชซเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ. เชซเชฟเชฒเซเชเชฐเชฟเชเชเชฅเซ เชธเชเซเช, เช เชฎเซ เชเชฐเซเชฐเซ เชกเซเชเชพ เชฎเซเชณเชตเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชเชกเชชเซ เชฌเชจเชพเชตเซเช เชเซเช.
เชนเชพเชฅเชจเซ เชฅเซเชกเซ เชนเชฟเชฒเชเชพเชฒ เชธเชพเชฅเซ เช เชเซ:
VM | Get-AdvancedSetting -Name Cloud.uuid -Server $ConnectionString | Select-Object @{N="VMName";E={$_.Entity.Name}},@{N="CloudUUID";E={$_.Value}},@{N="PowerState";E={$_.Entity.PowerState}}
เชเชฎเชพเช เชซเซเชฐเชตเชพเชฏ เชเซ:
$VM | Where-Object {($_.ExtensionData.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value -ne $null} | Select-Object @{N="VMName";E={$_.Name}},@{N="CloudUUID";E={($_.ExtensionData.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value}},@{N="PowerState";E={$_.summary.runtime.powerstate}}
เชเชเชเชชเซเช Get-AdvancedOptions เชเซเชตเซเช เช เชเซ, เชชเชฐเชเชคเซ เชคเซ เชเชฃเซ เชตเชเชค เชเชกเชชเซ เชเชพเชฎ เชเชฐเซ เชเซ.
เชนเชตเซ Get-VM เชฎเชพเชเซ. เชคเซ เชเชกเชชเซ เชจเชฅเซ เชเชพเชฐเชฃ เชเซ เชคเซ เชเชเชฟเชฒ เชตเชธเซเชคเซเช เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซ เชเซ. เชเช เชคเชพเชฐเซเชเชฟเช เชชเซเชฐเชถเซเชจ เชเชญเซ เชฅเชพเชฏ เชเซ: เชเซเชฏเชพเชฐเซ เชเชชเชฃเชจเซ เชซเชเซเชค VM เชจเชพ เชจเชพเชฎ, เชคเซเชจเซ เชธเซเชฅเชฟเชคเชฟ เช เชจเซ เชฎเซเชถเซเชเซเชฒ เชตเชฟเชถเซเชทเชคเชพเชจเชพ เชฎเซเชฒเซเชฏเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เช เชเชฟเชธเซเชธเชพเชฎเชพเช เช เชฎเชจเซ เชตเชงเชพเชฐเชพเชจเซ เชฎเชพเชนเชฟเชคเซ เช เชจเซ เชเช เชญเชฏเชเชเชฐ PSO เชเชฌเซเชเซเชเซเชเชจเซ เชถเชพ เชฎเชพเชเซ เชเชฐเซเชฐ เชเซ?
เชตเชงเซเชฎเชพเช, Get-AdvancedOptions เชจเชพ เชฐเซเชชเชฎเชพเช เช เชตเชฐเซเชง เชธเซเชเซเชฐเชฟเชชเซเชเชฎเชพเชเชฅเซ เชฆเซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ. เชฐเชจเชธเซเชชเซเชธ เชชเซเชฒเซเชธเชจเซ เชเชชเชฏเซเช เชนเชตเซ เชเชตเชฐเชเชฟเชฒ เชเซเชตเซเช เชฒเชพเชเซ เชเซ เชเชพเชฐเชฃ เชเซ เชธเชคเซเชฐ เชธเซเชเชชเชคเซ เชตเชเชคเซ เชธเซเชเซเชตเซเช เชฅเซเชฐเซเชกเซเชฎเชพเช เชงเซเชฎเชพ เชเชพเชฐเซเชฏเชจเซ เชธเชฎเชพเชเชคเชฐ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. เชธเชพเชงเชจ เชธเชพเชฐเซเช เชเซ, เชชเชฐเชเชคเซ เช เชเซเชธ เชฎเชพเชเซ เชจเชนเซเช.
เชเชพเชฒเซ เชเชเซเชธเซเชเซเชเชถเชจเชกเซเชเชพเชจเชพ เชเชเชเชชเซเชเชจเซ เชเซเชเช: เชคเซ เชเซเช-เชตเซเชฏเซ เชเชฌเซเชเซเชเซเช เชธเชฟเชตเชพเชฏ เชฌเซเชเซเช เชเชเช เชจเชฅเซ.
เชเชพเชฒเซ เชชเชพเชตเชฐเชถเซเชฒ เชฎเชพเชธเซเชเชฐเซเชธเชจเซ เชชเซเชฐเชพเชเซเชจ เชคเชเชจเซเช เชชเชฐ เชเซเชฒ เชเชฐเซเช: เชซเชฟเชฒเซเชเชฐเซเชธ, เชธเซเชฐเซเชเชฟเชเช เช เชจเซ เชเซเชฐเซเชชเชฟเชเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเช เชฒเชพเชเชจ. เช เชเชพเชเชจเซ เชฌเชงเซ เชญเชฏเชพเชจเชเชคเชพ เชธเซเชเชฆเชฐ เชฐเซเชคเซ เชเช เชฒเชพเชเชจเชฎเชพเช เชคเซเชเซ เชเช เชเซ เช เชจเซ เชเช เชธเชคเซเชฐเชฎเชพเช เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
$AllVMs = Get-View -viewtype VirtualMachine -Property Name,Config.ExtraConfig,summary.runtime.powerstate | Where-Object {($_.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value -ne $null} | Select-Object @{N="VMName";E={$_.Name}},@{N="CloudUUID";E={($_.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value}},@{N="PowerState";E={$_.summary.runtime.powerstate}} | Sort-Object CloudUUID | Group-Object -Property CloudUUID | Where-Object -FilterScript {$_.Count -gt 1} | Select-Object -ExpandProperty Group
เช เชฎเซ เชธเชฎเชฏ เชฎเชพเชชเซเช เชเซเช:
9 เชธเซเชเชเชก เชเชเซเชเชฟเชค เชธเซเชฅเชฟเชคเชฟ เชฆเซเชตเชพเชฐเชพ เชซเชฟเชฒเซเชเชฐเชฟเชเช เชธเชพเชฅเซ เชฒเชเชญเช 10k เชเชฌเซเชเซเชเซเชเซเชธ เชฎเชพเชเซ. เชธเชฐเชธ!
เชคเซเชจเชพ เชฌเชฆเชฒเซ เชเช เชจเชฟเชทเซเชเชฐเซเชท
เชธเซเชตเซเชเชพเชฐเซเชฏ เชชเชฐเชฟเชฃเชพเชฎ เชธเซเชงเชพ เชธเชพเชงเชจเชจเซ เชชเชธเชเชฆเชเซ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเซ. เชคเซ เชนเชพเชเชธเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชฌเชฐเชพเชฌเชฐ เชถเซเช เชชเชธเชเชฆ เชเชฐเชตเซเช เชเซเชเช เชคเซ เชเชพเชคเชฐเซเชชเซเชฐเซเชตเช เชเชนเซเชตเซเช เชเชฃเซเชตเชพเชฐ เชฎเซเชถเซเชเซเชฒ เชนเซเชฏ เชเซ. เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชกเชชเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซเชจเซ เชฆเชฐเซเช เชธเซเชเชฟเชฌเชฆเซเชง เชชเชฆเซเชงเชคเชฟเช เชคเซเชจเซ เชฒเชพเชเซ เชชเชกเชตเชพเชจเซ เชฎเชฐเซเชฏเชพเชฆเชพเชฎเชพเช เชธเชพเชฐเซ เชเซ. เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เช เชฒเซเช เชคเชฎเชจเซ เชคเชฎเชพเชฐเชพ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชฎเชพเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชเซเชฎเซเชถเชจ เช เชจเซ เชเชชเซเชเชฟเชฎเชพเชเชเซเชถเชจเชจเซ เชฎเซเชณเชญเซเชค เชฌเชพเชฌเชคเซเชจเซ เชธเชฎเชเชตเชพเชจเชพ เชฎเซเชถเซเชเซเชฒ เชเชพเชฐเซเชฏเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชถเซ.
เชชเซเชเชธ: เชฒเซเช เชคเซเชฏเชพเชฐ เชเชฐเชตเชพเชฎเชพเช เชฎเชฆเชฆ เช
เชจเซ เชธเชฎเชฐเซเชฅเชจ เชฎเชพเชเซ เชฒเซเชเช เชธเชฎเซเชฆเชพเชฏเชจเชพ เชคเชฎเชพเชฎ เชธเชญเซเชฏเซเชจเซ เชเชญเชพเชฐ เชฎเชพเชจเซ เชเซ. เชชเชเชเชพเชตเชพเชณเชพ เชชเชฃ. เช
เชจเซ เชคเซ เชชเชฃ เชเซเชฎเชจเซ เชชเช เชจเชฅเซ, เชเซเชฎ เชเซ เชฌเซเช เชเชจเซเชธเซเชเซเชฐเชเซเชเชฐ.
เชธเซเชฐเซเชธ: www.habr.com