>gcm –Module vmware* -verb getДля командлетов PowerShell принята система названия Verb-MeaningfulWord (Глагол-ЗначимоеСлово), например Get-VM.
Но Get- не единственный глагол используемый в PowerShell, вы также найдете:
- Set-
- New-
- Add- (таких только 3 в PowerCLI)
- Прочитать help, идущий с командой
- Почитать что пишут гуру PowerCLI:
- Hal Rottenberg – http://halr9000.com
- Alan Renouf – http://www.virtu-al.net
- Luc Dekens – http://www.lucd.info
- Или просто старый добрый Google
Get-VMHost -?
Список параметров - это очень хорошо, но мне бы еще и пример использования. Если посмотреть в конец help страницы, то можно увидеть как именно получить примеры.
get-help Get-VMHost -examples
Прочитав help, я понял, что Get-VMHost можно использовать, чтобы узнать на каком хосте запущена ВМ в конкретном датацентре. И я попробовал это для своей ВМ:
Get-VMHost -Location (Get-Datacenter -Name VeeamUKVsphereDatacentre) -VM (Get-VM -Name "VeeamRicky")
Разбор:
Объяснение:
а) Мы запускаем командлет Get-VMHost
б) Используем параметр -Location для передачи датацентра
в) Используем командлет Get-Datacenter для передачи объекта типа датацентр в параметр Location
г) Используем параметр -VM для передачи выбранной ВМ
д) Используем командлет Get-VM для передачи объекта типа ВМ в параметр VM
И в результате получаем информацию о хосте, на котором запущена моя ВМ "VeeamRicky".
Как вы можете увидеть, подстановка информации о моей лаборатории в пример не заняла много времени.
А что если мы не знаем имени датацентра? Разумеется, мы можем запустить командлет Get-Datacenter и получить список доступных датацентров. У меня только один, но если у вас несколько, то вы весь список можете сохранить в переменной.
>$mydatacenters = Get-DatacenterЕсли бы посмотрел в переменную, то увидели бы, что все записи индексированы. Например:
Поскольку это список (коллекция), то переменная хранит сразу несколько записей. В этом случае тип переменной называется "массив" (array). Получить доступ к конкретной записи можно при помощи индекса:[0] VeeamUKVsphereDatacentre1 Datacenter-datacenter-21 [1] VeeamUKVsphereDatacentre2 Datacenter-datacenter-22 [2] VeeamUKVsphereDatacentre3 Datacenter-datacenter-23
>mydatacenter[1]Т.е. в нашем командлете Get-VMHost можно заменить Get-Datacenter на одну из записей в массиве:
Name Id —- – VeeamUKVsphereDatacentre2 Datacenter-datacenter-22
>Get-VMHost -location $mydatacenter[1] -VM (Get-VM -Name “VeeamRicky”)И, разумеется, то же самое можно проделать и со списком ВМ, который мы получим при помощи Get-VM.
<< Предыдущий урок
Антон, спасибо большое за понятные уроки! Жду продолжения!
ОтветитьУдалитьСпасибо за уроки.
ОтветитьУдалитьПодскажите, когда ждать продолжения?