SMA - более пристальный взгляд

Для примера я возьму Runbook изменения IP адреса виртуального адаптера на статический:

workflow New-NetworkAdapter
{
# Импортируем параметры  
param([object]$params) 
  
# Соединяемся с VMM, для этого необходимо создать "Connection Asset" с названием "VMM_Connection"
$con = Get-AutomationConnection -Name "Vmm_Connection"
 
$secpasswd = ConvertTo-SecureString $con.Password -AsPlainText -Force
$SMA-crd = New-Object System.Management.Automation.PSCredential ($con.username, $secpasswd)
 
# Работаем с VMM 
InlineScript {
 
    $con=$USING:Con
    $SMA-crd=$USING:SMA-crd
    $params=$USING:params
    
Invoke-Command -ComputerName $con.computername -Credential $SMA-crd -ArgumentList ($params.VMId),$con -ScriptBlock {
 
 param(
    $VMID,
    $con
    )
 
# Проверка работает ли VM, если да - выключаем
$restart = $false
if ((Get-SCVirtualMachine -VMMServer $con.computername -ID $VMID).VirtualMachineState -ne "PowerOff") {
    $restart = $true
    Get-SCVirtualMachine -VMMServer $con.computername -ID $VMID | Stop-SCVirtualMachine -Shutdown 
    }
if ((Get-SCVirtualMachine -VMMServer $con.computername -ID $VMID).VirtualMachineState -ne "PowerOff") {
    $restart = $true
    Get-SCVirtualMachine -VMMServer $con.computername -ID $VMID | Stop-SCVirtualMachine -force
    }
 
# Изменяем MAC на статический на всех адаптерах
Get-SCVirtualMachine -VMMServer $con.computername -ID $VMID | Get-SCVirtualNetworkAdapter | where {$_.MACAddressType -EQ "Dynamic"} | Set-SCVirtualNetworkAdapter -MACAddressType "Static"
 
# Включаем VM
if ($restart -eq "$true") {Get-SCVirtualMachine -VMMServer $con.computername -ID $VMID | Start-SCVirtualMachine } 
 
  }
 }
}

Кроме переменной $Params, Вы можете использовать переменные $ResourceOnject и $PSPrivateMetaData.

Для того чтобы при создании адаптера Runbook запустился необходимо создать Runbook с названием “New-NetworkAdapter” и тегом “SPF”. После этого опубликовать его и привязать к событию создания сетевого адаптера.sma_new_network_adapter_00.

Пример VMM_Connection Asset
sma_new_network_adapter_01

Written on July 1, 2014