Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 126
Благодарности: 3

Профиль | Отправить PM | Цитировать


Спасибо, ребята.
Цитата Kazun:
Get-WmiObject Win32_PerfFormattedData_PerfOS_NUMANodeMemory -Filter "Name='_Total'" | Foreach {$_.TotalMBytes - $_.AvailableMBytes} »
К сожалению, показывает только на W2012, а у меня W2008, но буду иметь на будущее, спасибо.

Цитата greg zakharov:
Как вариант, вкупе с Invoke-Command задействовать рефлексию »
Здорово! С помощью "Invoke-Command" я решил обратиться к кластеру на Hyper-V хосты напрямую без WMI (с проверкой по месту нахождению конкретной VM на одном из узлов) и взять от туда значения у виртуальной машины - "MemoryAssigned", "MemoryDemand" и "MemoryMaximum". Эти показатели будут более верными, нежели выдает сама гостевая ОС.

Но возникло небольшое затруднение, почему-то Invoke-Command не передаст никак значение переменной $vm на удаленный хост и возвращает ошибку. Подскажите как правильно сделать?

Код: Выделить весь код
#PARAM
$cluster = "CLUSTER-NAME" # потом $args[0]
$vm = "VM-NAME" # потом $args[1]

#CODE
$clusterVM = Invoke-Command $cluster -ScriptBlock {Get-ClusterGroup} | ?{$_.name -eq $vm}
$vmParams = Invoke-Command $clusterVM.OwnerNode -ScriptBlock {Get-VM $vm}
Возвращает ошибку
Код: Выделить весь код
Cannot validate argument on parameter 'Name'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
    + CategoryInfo          : InvalidData: (:) [Get-VM], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.HyperV.PowerShell.Commands.GetVMCommand
    + PSComputerName        : HYPER-V NAME

Дополню сообщение:
Вышеуказанный мной метод - невариант оказался. В момент запроса процесс RM создает пиковую активность на CPU. Нужно как-то иначе инициировать запрос к данным. =\

Последний раз редактировалось rudimko, 03-12-2015 в 09:17.


Отправлено: 08:06, 03-12-2015 | #11