O le faʻaaogaina o le PowerShell, e faʻatautaia ma le manuia e inisinia ma IT faʻatonu galuega eseese pe a galulue e le gata i luga ole fale, ae faʻapea foʻi ma atinaʻe ao, aemaise ile Azure. I nisi tulaga, o le galue i le PowerShell e sili atu ona faigofie ma vave nai lo le galue ile Azure portal. Fa'afetai i lona uiga fa'alava, PowerShell e mafai ona fa'aoga i so'o se faiga fa'aoga.
Pe o e fa'aogaina le Ubuntu, Red Hat, po'o le Windows, e mafai e le PowerShell ona fesoasoani ia te oe e pulea au punaoa ao. Fa'aaogaina o le module
I lenei tusiga, o le a tatou vaʻavaʻai pe faʻafefea ona e faʻaogaina le PowerShell e toe faʻaleleia ai se VM i le ao Azure, faʻapea foʻi ma le tapeina o se VM ma ana mea faʻatatau.
Taua! Aua nei galo e solo ou lima ile sanitizer e sauni ai mo galuega:
- E te mana'omia se module Azure PowerShell Module - e mafai ona la'uina mai le PowerShell Gallery ma le fa'atonuga
Install-Module Az
. - E tatau ona e faʻamaonia i le Azure ao o loʻo taʻavale ai le masini masini e ala i le faʻatonuina o le poloaiga
Connect-AzAccount
.
Muamua, seʻi o tatou fatuina se tusitusiga e toe faʻafouina se Azure VM. Tatou tatala le VS Code ma sefe se tusitusiga fou PowerShell ua ta'ua Toe Fua-AzVirtualMachine.ps1 - o le a matou faʻaopoopoina fasi code i ai aʻo faʻaauau le faʻataʻitaʻiga.
Matou te talosagaina le tele o VM avanoa
Ae e te leʻi suia le tele o le VM, e tatau ona e suʻeina poʻo le a le tele e taliaina mo masini faʻapitoa i le ao Azure. Ina ia faia lenei mea e te manaʻomia e faʻatautaia le poloaiga Get-AzVMSize
.
O lea mo le masini komepiuta devvm01 mai le vaega o punaoa dev Matou te talosagaina lapopoa uma e mafai ona talia:
Get-AzVMSize -ResourceGroupName dev -VMName devvm01
(I faafitauli moni, ioe, nai lo ResourceGroupName=dev и VMName=devvm01 e te faʻamaonia au lava tau mo nei faʻamau.)
O le poloaiga o le a toe faafoi mai se mea e pei o lenei:
O filifiliga lapopoa uma ia e mafai ona fa'atulaga mo se masini masini.
Sei o tatou sui le taavale
Mo se faʻataʻitaʻiga, o le a tatou toe faʻaleleia i se lapoʻa fou Tulaga_B1ls - o ia i le tulaga muamua i le lisi o loʻo i luga. (I mea moni o le olaga, ioe, e te filifilia soʻo se tele e te manaʻomia.)
- Muamua faaaoga le poloaiga
Get-AzVM
matou te maua faʻamatalaga e uiga i la matou mea (masini virtual) e ala i le teuina i se fesuiaiga$virtualMachine
:$virtualMachine = Get-AzVM -ResourceGroupName dev -VMName devvm01
- Ona tatou ave lea o le meatotino mai lenei mea
.HardwareProfile.VmSize
ma seti le tau fou e manaʻomia:$virtualMachine.HardwareProfile.VmSize = "Standard_B1ls"
- Ma o lenei ua na ona matou faʻatinoina le VM update command -
Update-AzVm
:Update-AzVM -VM devvm01 -ResourceGroupName dev
- Matou te faʻamautinoa o loʻo lelei mea uma - e fai lenei mea, matou te toe talosagaina faʻamatalaga e uiga i la matou mea ma vaʻai i le meatotino
$virtualMachine.HardwareProfile
:$virtualMachine = Get-AzVM -ResourceGroupName dev -VMName devvm01 $virtualMachine.HardwareProfile
Afai tatou te vaai i ai Tulaga_B1ls - o lona uiga o loʻo lelei mea uma, ua suia le tele o le taʻavale. E mafai ona e alu atili ma fausia i luga o lou manuia e ala i le suia o le tele o VM i le taimi e tasi e faʻaaoga ai se laina.
Ae faapefea le tapeina o se VM i Azure?
Faatasi ai ma le tapeina, e le o mea uma e faigofie ma tuusao e pei ona foliga mai ai. A uma mea uma, e tatau ona aveese le tele o punaoa e fesoʻotaʻi ma lenei masini, e aofia ai:
- Va'a fa'ata'ita'iga koneteina teuina
- Fesoʻotaiga i fesoʻotaiga
- tuatusi IP lautele
- System disk ma blob lea e teu ai lona tulaga
- Tisiki fa'amaumauga
O le mea lea, o le a matou faia se galuega ma faʻaigoaina Remove-AzrVirtualMachine
- ma o le a tapeina e le gata Azure VM, ae faʻapea foʻi mea uma o loʻo i luga.
Matou te alu i le auala masani ma muamua maua la matou mea (VM) faʻaaoga le poloaiga Get-AzVm
. Mo se faataitaiga, ia avea o se taavale WINSRV19 mai le vaega o punaoa MyTestVMs.
Se'i tatou fa'asaoina lenei mea fa'atasi ma ona meatotino uma i se fesuiaiga $vm
:
$vm = Get-AzVm -Name WINSRV19 -ResourceGroupName MyTestVMs
Ave'ese le atigipusa o lo'o iai faila fa'ata'ita'i ta'avale
Pe a fatuina se VM i Azure, e talosagaina foi le tagata faʻaoga e fai se atigipusa mo le teuina o faʻataʻitaʻiga taʻavale (boot diagnostics container), ina ia i ai ni faʻafitauli i le taʻavale, o loʻo i ai se mea e liliu i ai mo faʻafitauli. Ae peitaʻi, pe a tape le VM, o loʻo tuʻu le koneteina e faʻaauau ai lona olaga leai se aoga. Tatou faaleleia lea tulaga.
- Muamua, se'i o tatou su'esu'e po o le a le teuga tupe e iai lenei atigipusa - ona o lea e mana'omia ai ona tatou su'e le meatotino
storageUri
i totonu o le manava o le meaDiagnosticsProfile
matou VM. Mo lenei mea ou te faʻaaogaina le faʻamatalaga masani:$diagSa = [regex]::match($vm.DiagnosticsProfile.bootDiagnostics.storageUri, '^http[s]?://(.+?)\.').groups[1].value
- O lenei e tatau ona e suʻeina le igoa o le pusa, ma mo lenei mea e te manaʻomia le mauaina o le VM ID e faʻaaoga ai le poloaiga
Get-AzResource
:if ($vm.Name.Length -gt 9) { $i = 9 } else { $i = $vm.Name.Length - 1 } $azResourceParams = @{ 'ResourceName' = WINSRV 'ResourceType' = 'Microsoft.Compute/virtualMachines' 'ResourceGroupName' = MyTestVMs } $vmResource = Get-AzResource @azResourceParams $vmId = $vmResource.Properties.VmId $diagContainerName = ('bootdiagnostics-{0}-{1}' -f $vm.Name.ToLower().Substring(0, $i), $vmId)
- Ma le isi, matou te maua le igoa o le kulupu punaoa o loʻo iai le pusa:
$diagSaRg = (Get-AzStorageAccount | where { $_.StorageAccountName -eq $diagSa }).ResourceGroupName
- Ma o lea ua tatou maua mea uma tatou te manaʻomia e tape ai le atigipusa ma le poloaiga
Remove-AzStorageContainer
:$saParams = @{ 'ResourceGroupName' = $diagSaRg 'Name' = $diagSa } Get-AzStorageAccount @saParams | Get-AzStorageContainer | where { $_.Name-eq $diagContainerName } | Remove-AzStorageContainer -Force
Aveese le VM
Sei o tatou tapeina le masini komepiuta lava ia, talu ai ua uma ona tatou faia se fesuiaiga $vm
mo le mea e fetaui. Ia, tatou fa'atonu le fa'atonuga Remove-AzVm
:
$null = $vm | Remove-AzVM -Force
Ave'esea le feso'ota'iga feso'ota'iga ma tuatusi IP lautele
O loʻo iai pea le matou VM (poʻo le tele) fesoʻotaʻiga fesoʻotaʻiga (NICs) - ia aveese i latou e le manaʻomia, seʻi o tatou faʻaogaina le meatotino NetworkInterfaces
la matou mea VM ma tape le NIC ma le poloaiga Remove-AzNetworkInterface
. Afai e sili atu ma le tasi le fesoʻotaʻiga fesoʻotaʻiga, matou te faʻaogaina se matasele. I le taimi lava e tasi, mo NIC taʻitasi o le a matou siakiina le meatotino IpConfiguration
e iloa ai pe o le atinaʻe o loʻo i ai se tuatusi IP lautele. Afai e maua se tasi, o le a matou aveese ma le poloaiga Remove-AzPublicIpAddress
.
O se faʻataʻitaʻiga lea o naʻo sea code, lea tatou te vaʻavaʻai ai i NIC uma i se matasele, tape i latou, ma siaki pe o iai se IP lautele. Afai ei ai, ona va'ai lea o le meatotino PublicIpAddress
, su'e le igoa ole punaoa talafeagai ile ID ma tape ai:
foreach($nicUri in $vm.NetworkProfile.NetworkInterfaces.Id) {
$nic = Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $nicUri.Split('/')[-1]
Remove-AzNetworkInterface -Name $nic.Name -ResourceGroupName $vm.ResourceGroupName -Force
foreach($ipConfig in $nic.IpConfigurations) {
if($ipConfig.PublicIpAddress -ne $null) {
Remove-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName -Name $ipConfig.PublicIpAddress.Id.Split('/')[-1] -Force
}
}
}
Aveese le disk system
O le OS disk o se pa'u, lea e iai le fa'atonuga e tape ai Remove-AzStorageBlob
- ae aʻo leʻi faʻatinoina, e te manaʻomia le setiina o tau manaʻomia mo ona tapulaʻa. Ina ia faia lenei mea, aemaise lava, e te manaʻomia le mauaina o le igoa o le pusa teu oloa o loʻo i ai le disk system, ona pasi atu lea i lenei poloaiga faʻatasi ai ma le faʻamaumauga e teu ai.
$osDiskUri = $vm.StorageProfile.OSDisk.Vhd.Uri
$osDiskContainerName = $osDiskUri.Split('/')[-2]
$osDiskStorageAcct = Get-AzStorageAccount | where { $_.StorageAccountName -eq $osDiskUri.Split('/')[2].Split('.')[0] }
$osDiskStorageAcct | Remove-AzStorageBlob -Container $osDiskContainerName -Blob $osDiskUri.Split('/')[-1]
Aveese le System Disk Status Blob
Ina ia faia lenei mea, atonu ua uma ona e mateina, matou te ave le pusa teu oloa o loʻo teuina ai lenei tisiki, ma, o loʻo faʻaalia ai o le paʻu i le pito o loʻo i ai. status
, pasi atu fa'atatau i le fa'atonuga tape Remove-AzStorageBlob
:
$osDiskStorageAcct | Get-AzStorageBlob -Container $osDiskContainerName -Blob "$($vm.Name)*.status" | Remove-AzStorageBlob
Ma le mea mulimuli, matou te aveese faʻamaumauga faʻamaumauga
O la matou VM e mafai lava ona i ai tisiki ma faʻamaumauga o loʻo faʻapipiʻi i ai. Afai e le manaʻomia, o le a matou tapeina foi. Se'i fa'avasega muamua StorageProfile
tatou VM ma su'e le meatotino Uri
. Afai e tele tisiki, matou te faʻatulagaina se taamilosaga e tusa ai ma URI
. Mo URI taʻitasi, o le a matou mauaina le tala faʻapipiʻi talafeagai e faʻaaoga Get-AzStorageAccount
. Ona fa'asolo lea o le URI teuina e aveese mai ai le igoa o lo'o mana'omia ma pasi i le poloaiga tape Remove-AzStorageBlob
faatasi ai ma se teugatupe teu oloa. O le mea lea e foliga mai ile code:
if ($vm.DataDiskNames.Count -gt 0) {
foreach ($uri in $vm.StorageProfile.DataDisks.Vhd.Uri) {
$dataDiskStorageAcct = Get-AzStorageAccount -Name $uri.Split('/')[2].Split('.')[0]
$dataDiskStorageAcct | Remove-AzStorageBlob -Container $uri.Split('/')[-2] -Blob $uri.Split('/')[-1]
}
}
Ma o lenei "ua tatou oʻo i le iʻuga fiafia!" Ole taimi nei e tatau ona tatou faʻapipiʻi se tasi atoa mai nei vaega uma. O le tusitala agalelei o Adam Bertram na feiloai i tagata faʻaoga afa ma faia e ia lava. O le so'oga lea i le fa'amaumauga mulimuli ua ta'ua Aveese-AzrVirtualMachine.ps1:
→
Ou te faʻamoemoe e te mauaina nei fautuaga aoga e fesoasoani i le sefeina o oe taumafaiga, taimi, ma tupe pe a galue ma Azure VMs.
puna: www.habr.com