Simons Roliga Kod
From Datateknik
(Difference between revisions)
(→PowerCLI för VMware (körs i Powershell!) |
|||
Line 30: | Line 30: | ||
Taget från [https://virtuallymikebrown.com/2012/02/17/deploy-a-vm-from-template-with-powercli/ virtuallymikebrown.com] | Taget från [https://virtuallymikebrown.com/2012/02/17/deploy-a-vm-from-template-with-powercli/ virtuallymikebrown.com] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | == Mass-radera VMs som matchar en sträng | Obs: anslut till rätt host också först (steg 1-4) ovan == | ||
+ | |||
+ | $remove_vms = Read-Host -Prompt 'Input the server match string to remove from disk' | ||
+ | Write-Host "The entered string was: '$remove_vms'" | ||
+ | $select_confirm = Read-Host -Prompt 'Confirm your selection string (y/n)' | ||
+ | |||
+ | if($select_confirm -eq 'y') { | ||
+ | $VMs = Get-VM $remove_vms | ||
+ | foreach($VM in $VMs) { | ||
+ | Write-Host $VM | ||
+ | } | ||
+ | Write-Host "The listed VMs above will be permanently deleted from disk!" | ||
+ | Write-Host "Are you absolutely sure you want to do this?" | ||
+ | $nuclearoption = Read-Host -Prompt 'Type in "DELETE" to confirm this operation!' | ||
+ | if($nuclearoption -eq 'DELETE') { | ||
+ | Write-Host "Deleting..." | ||
+ | foreach($active in $VMs) { | ||
+ | if($active.Powerstate -eq "PoweredOn") { | ||
+ | Stop-VM -VM $active -Confirm:$false -RunAsync | Out-Null | ||
+ | Start-Sleep -Seconds 7 | ||
+ | } | ||
+ | } | ||
+ | foreach($delete in $VMs) { | ||
+ | Remove-VM -VM $delete -DeleteFromDisk -Confirm:$false -RunAsync | Out-Null | ||
+ | } | ||
+ | } | ||
+ | } |
Revision as of 13:34, 7 September 2020
PowerCLI för VMware (körs i Powershell!
För att skapa en mängd VLANS utan att sitta manuellt i Vcentret (obs PowerCLI är farligt!) // 1. behövs för att köra vm-ware modulen i windows då den är "tredjepart" Set-ExecutionPolicy remotesigned // 2. -Scope begränsar installation till inloggad användare install-module -Name VMware.PowerCLI -Scope CurrentUser // 3. Kommer att fråga om dina credentials, använd samma som gui inloggningen Connect-VIServer -server vcenter-b.cnap.hv.se // 4. länk till object som är h6 hosten (till exempel) $myVMHost = Get-VMHost -name esxi-h6.cnap.hv.se !! VA RIKTIGT RIKTIGT SÄKER PÅ ATT DET ÄR HÄR DU VILL PILLA !! // 5. länk till vswitch som skall pillas på $vswitch = Get-VirtualSwitch -vmhost $myVMHost -name vSwitch1 // 6. Skapar VLAN med namn "VLAN20XX" och vlan id 20XX for ($i=2004; $i -le 2038; $i++) {New-VirtualPortGroup -VirtualSwitch $vswitch -name "VLAN$i" -VLanId $i} // 7. tar bort portgroups "VLAN2037-VLAN2038" på vswitchen som definieras i steg >>5<< // OBS! -confirm:$false stänger av en "are you sure, dummy" fråga. Är du inte säker, ta bort detta ur raden! OBS! for ($i=2037; $i -le 2038; $i++) {Get-VirtualPortGroup -VirtualSwitch $vswitch -name "VLAN$i" | Remove-VirtualPortGroup -confirm:$false} // Bryt kopplingen till vcentret Disconnect-VIServer
Taget från virtuallymikebrown.com
Mass-radera VMs som matchar en sträng | Obs: anslut till rätt host också först (steg 1-4) ovan
$remove_vms = Read-Host -Prompt 'Input the server match string to remove from disk' Write-Host "The entered string was: '$remove_vms'" $select_confirm = Read-Host -Prompt 'Confirm your selection string (y/n)'
if($select_confirm -eq 'y') { $VMs = Get-VM $remove_vms foreach($VM in $VMs) { Write-Host $VM }
Write-Host "The listed VMs above will be permanently deleted from disk!"
Write-Host "Are you absolutely sure you want to do this?" $nuclearoption = Read-Host -Prompt 'Type in "DELETE" to confirm this operation!' if($nuclearoption -eq 'DELETE') { Write-Host "Deleting..." foreach($active in $VMs) { if($active.Powerstate -eq "PoweredOn") { Stop-VM -VM $active -Confirm:$false -RunAsync | Out-Null Start-Sleep -Seconds 7 } } foreach($delete in $VMs) { Remove-VM -VM $delete -DeleteFromDisk -Confirm:$false -RunAsync | Out-Null } } }