VMM: IP-Address Pools: Unterschied zwischen den Versionen

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche
Zeile 37: Zeile 37:
 
.NOTES
 
.NOTES
 
File Name : Set-SCVMIPAddressMode.ps1
 
File Name : Set-SCVMIPAddressMode.ps1
Author    : Charbel Nemnom
+
Author    : Charbel Nemnom / Robin Hermann
Date      : 01-Mar-2016
+
Date      : 06.12.2019
Version  : 1.0
+
Version  : 1.1
 
Requires  : PowerShell Version 3.0 or above, VMM IP Pools defined
 
Requires  : PowerShell Version 3.0 or above, VMM IP Pools defined
OS        : Windows Server 2012 R2 with System Center Virtual Machine Manager 2012 R2
+
OS        : Windows Server 2012R2/2016 with System Center Virtual Machine Manager 2012R2/2016
  
 
.LINK
 
.LINK

Version vom 6. Dezember 2019, 11:48 Uhr

Show IP-Address allocated to a IP-Address-Pool

(Get-SCStaticIPAddressPool <"IP-PoolName">) | Get-SCIPAddress | select Name, Description, State, ObjectType


Allocate new IP-Address to a VMM-IPAddress-Pool (Show which is the next IP address that VMM allocate to a VM -> VMM chooses the IP-Address)

$VM = Get-SCVirtualMachine -Name <"VMName">
$vNICs = $VM.VirtualNetworkAdapters
$IPPool = Get-SCStaticIPAddressPool -Name <"IP-PoolName">
Grant-SCIPAddress -StaticIPAddressPool $IPPool -GrantToObjectType VirtualNetworkAdapter -GrantToObjectID $vNICs[0].ID -Description $VM.Name

Allocate new defined IP-Address to a VMM-IPAddress-Pool (manual)

$VM = Get-SCVirtualMachine -Name <"VMName">
$vNICs = $VM.VirtualNetworkAdapters
$IPPool = Get-SCStaticIPAddressPool -Name <"IP-PoolName">
Grant-SCIPAddress -StaticIPAddressPool $IPPool -GrantToObjectType VirtualNetworkAdapter -GrantToObjectID $vNICs[0].ID -Description $VM.Name -IPAddress <IP-Address>


Revoke IP-Address

Get-SCIPAddress -IPAddress <IP-Address> | Revoke-SCIPAddress


Change VLAN or Static/Dynamic IP of a VM (interactiv)

<#
 .SYNOPSIS
Switch From Dynamic IP To Static IP Pool.
 
.DESCRIPTION
Switch From Dynamic IP To Static IP Pool in Virtual Machine Manager.
 
.NOTES
File Name : Set-SCVMIPAddressMode.ps1
Author    : Charbel Nemnom / Robin Hermann
Date      : 06.12.2019
Version   : 1.1
Requires  : PowerShell Version 3.0 or above, VMM IP Pools defined
OS        : Windows Server 2012R2/2016 with System Center Virtual Machine Manager 2012R2/2016 
 
.LINK
To provide feedback or for further assistance please visit:
https://charbelnemnom.com
https://charbelnemnom.com/2016/03/how-to-switch-a-vm-from-dynamic-ip-to-static-ip-pool-in-virtual-machine-manager-vmm-scvmm-sysctr-hyperv/
 
.EXAMPLE
./Set-SCVMIPAddressMode -VMMServer <VMMServerName> -VM <VMName>
This example will switch <VMName> from Dynamic IP to Static IP Pool and assign a static IP Address 
#>
 
[CmdletBinding()]
param(
    [Parameter(Mandatory=$true, HelpMessage='VMM Server Name')]
    [Alias('VMMServer')]
    [String]$VMMServerName,
 
    [Parameter(Mandatory=$true, HelpMessage='Virtual Machine Name')]
    [Alias('VM')]
    [String]$VMName   
 
  )
 
$VM = Get-SCVirtualMachine -Name $VMName
 
# Select The VM Network  
$VMNetwork = Get-SCVMNetwork -VMMServer $VMMServerName | Out-Gridview -PassThru -Title 'Select VM Network'
 
# Select the VM Subnet
$VMSubnet = Get-SCVMSubnet -VMMServer $VMMServerName -VMNetwork $VMNetwork | Out-GridView -PassThru -Title 'Select VM Subnet'
 
# Select the IP Address Pool
$IPPool = Get-SCStaticIPAddressPool -VMMServer $VMMServerName -VMSubnet $VMSubnet | Out-GridView -PassThru -Title 'Select IP Address Pool'
 
# Select which Virtual NIC you want to apply Static IP Mode
$NIC = Get-SCVirtualNetworkAdapter -VMMServer $VMMServerName -VM $VM.Name | Out-Gridview -PassThru -Title 'Select VMs vNIC'
 
# Get free IP address from the IP Pool
$IPAddress = Grant-SCIPAddress -GrantToObjectType VirtualNetworkAdapter -GrantToObjectID $VM.VirtualNetworkAdapters[($NIC.SlotID)].ID -StaticIPAddressPool $IPPool -Description $VM.Name
 
# Allocate to the vNIC an IP Address from the IP Pool
Set-SCVirtualNetworkAdapter -VMMServer $VMMServerName -VirtualNetworkAdapter $VM.VirtualNetworkAdapters[($NIC.SlotID)] -VMNetwork $VMNetwork -IPv4AddressType Static -IPv4Addresses $IPAddress.Address
 
# Refresh VM
Read-SCVirtualMachine -Name $VMName