breakfruit
19-05-2015, 13:58
Друзья, камнями не закидывайте и палками не бейте. Только начал разбираться в PS.
Задача, казалось бы простая. Есть список VM, из которого нужно взять конкретный ID и использовать его для работы стороннего командлета. Скрипт выглядит банально
Add-PSSnapin SecurityManager
$script:vm_name=Read-Host "Virtual Machine name is..."
$script:vm_group=Read-Host "Group name is..."
$script:vm_ident=Get-VM "$vm_name" | Select ID
$script:vm_group_id=foreach ($vm_group in Get-VMGroups | Select-Object ID)
{
Set-VMGroupsMembership -VMId $vm_ident -GroupsList $vm_group_id
}
На выходе получаю
Cannot bind parameter 'VMId'. Cannot convert value
"@{Id=e0f63469-1c5e-4c8e-a0ae-5b92e7cfe1da}" to type "System.Guid". Error: "Cannot convert
the "@{Id=e0f63469-1c5e-4c8e-a0ae-5b92e7cfe1da}" value of type
"Selected.Microsoft.HyperV.PowerShell.VirtualMachine" to type "System.Guid".
Нужно именно значение. Это реально сделать? Загуглился уже весь, глаза в мыле.
Задача, казалось бы простая. Есть список VM, из которого нужно взять конкретный ID и использовать его для работы стороннего командлета. Скрипт выглядит банально
Add-PSSnapin SecurityManager
$script:vm_name=Read-Host "Virtual Machine name is..."
$script:vm_group=Read-Host "Group name is..."
$script:vm_ident=Get-VM "$vm_name" | Select ID
$script:vm_group_id=foreach ($vm_group in Get-VMGroups | Select-Object ID)
{
Set-VMGroupsMembership -VMId $vm_ident -GroupsList $vm_group_id
}
На выходе получаю
Cannot bind parameter 'VMId'. Cannot convert value
"@{Id=e0f63469-1c5e-4c8e-a0ae-5b92e7cfe1da}" to type "System.Guid". Error: "Cannot convert
the "@{Id=e0f63469-1c5e-4c8e-a0ae-5b92e7cfe1da}" value of type
"Selected.Microsoft.HyperV.PowerShell.VirtualMachine" to type "System.Guid".
Нужно именно значение. Это реально сделать? Загуглился уже весь, глаза в мыле.