Skip to content

Instantly share code, notes, and snippets.

@Pyromaniaxxx
Created April 21, 2016 20:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Pyromaniaxxx/40be0a3dea540571c015f2a12e632a91 to your computer and use it in GitHub Desktop.
Save Pyromaniaxxx/40be0a3dea540571c015f2a12e632a91 to your computer and use it in GitHub Desktop.
NATVMがフリーズする問題を回避するため、NATvSwitchへの迂回路を作るスクリプト
# NATVM Credential
$LoginUser = "Administrator"
$LoginPass = "NATVMPassword"
$Sstr = ConvertTo-SecureString $LoginPass -AsPlainText -Force
$psc = New-Object System.Management.Automation.PsCredential($LoginUser, $Sstr)
$Cred = Get-Credential -Credential $psc
#create nat vSwitch
$SubnetPrefix = "192.168.255.0/24"
New-VmSwitch "vNAT-01" -SwitchType NAT -NatSubnetAddress $SubnetPrefix
New-NetNat -Name "VmNAT-01" -InternalIPInterfaceAddressPrefix $SubnetPrefix
$VM = Get-VM -Name 'NATVM'
# Change vSwitch
Connect-VMNetworkAdapter -VMNetworkAdapter (Get-VMNetworkAdapter -VM $VM -Name 'Nic2') -SwitchName 'vNAT-01'
# Change IPAddress
Invoke-Command -VMId $VM.VMId -ScriptBlock { Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.IPAddress -eq "ExternalIPAddress" } } -Credential $Cred
Invoke-Command -VMId $VM.VMId -ScriptBlock { Remove-NetIPAddress -InterfaceIndex 3 -AddressFamily IPv4 -DefaultGateway "ExternaGWAddress" -Confirm:$false } -Credential $Cred
Invoke-Command -VMId $VM.VMId -ScriptBlock { Set-DnsClientServerAddress -InterfaceIndex 3 -ResetServerAddresses -Confirm:$false } -Credential $Cred
Invoke-Command -VMId $VM.VMId -ScriptBlock { New-NetIPAddress -InterfaceIndex 3 -IPAddress "192.168.255.10" -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway "192.168.255.1" -Confirm:$false } -Credential $Cred
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment