Hola chicos como estan
En este último artículo implementaremos un entorno completo a través de powershell. La intención con esto sería un artículo, era ayudarlo en la creación de cada recurso y, después de una manera automatizada, ayudar en la entrega de proyectos o iniciar proyectos con powershell.
¿Qué hay en este script?
- Grupo de recursos;
- Cuenta de almacenamiento;
- Compartir archivos;
- Contenedores de registro;
- Creación de red;
- Creación de máquina virtual;
- Tarjeta de red de creación;
- Creación del grupo de seguridad de red;
Ahora vamos, haz que la magia suceda rsrsrsrsrs
Capture algunas pantallas para entender su tiempo de ejecución del script, para que pueda tener una idea de lo simple y rápida que es la creación.
Este script es ideal en escenarios de iniciación de proyectos, donde ya tiene listo su alcance.
Script:
#Configurando Resource Group $rgName= "RG_CloudShell" $locName= "East US 2" New-AzResourceGroup -Name $rgName -Location $locName -Tag @{Departmento="IT"} New-AzResourceGroup -Name "RG_CloudShell" -Location "East US 2" #Criação do Storage $rgName= "RG_CloudShell" $locName= "East US 2" $STRName= "xxxx" $TypeSTR= "Standard_LRS" New-AzStorageAccount -ResourceGroupName $rgName -Name $STRName -Type $TypeSTR -Location $locName #Criando um Container via Powershell $storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $STRName $containerName = "logs" $ctx = $storageAccount.Context New-AzStorageContainer -Name $containerName -Context $ctx -Permission blob #Criando FileShare $storageAccount = Get-AzStorageAccount -ResourceGroupName "RG_CloudShell" -Name "xxxx" $storageKey = (Get-AzStorageAccountKey -ResourceGroupName $storageAccount.ResourceGroupName -Name $storageAccount.StorageAccountName | select -first 1).Value $storageContext = New-AzStorageContext -StorageAccountName $storageAccount.StorageAccountName -StorageAccountKey $storageKey New-AzureStorageShare -Name "xxxxfileshare" -Context $storageContext #Criação de Rede New-AzVirtualNetwork -Name "VNet-001" -ResourceGroupName "RG_CloudShell" -Location "East US 2" -AddressPrefix 192.168.5.0/24 $VirtualNetwork = Get-AzVirtualNetwork -Name "VNet-001" -ResourceGroupName "RG_CloudShell" Add-AzVirtualNetworkSubnetConfig -Name BackEnd -VirtualNetwork $VirtualNetwork -AddressPrefix 192.168.5.0/26 Add-AzVirtualNetworkSubnetConfig -Name FrontEnd -VirtualNetwork $VirtualNetwork -AddressPrefix 192.168.5.64/26 Add-AzVirtualNetworkSubnetConfig -Name DMZ -VirtualNetwork $VirtualNetwork -AddressPrefix 192.168.5.128/28 Add-AzVirtualNetworkSubnetConfig -Name GatewaySubnet -VirtualNetwork $VirtualNetwork -AddressPrefix 192.168.5.144/28 Set-AzVirtualNetwork -VirtualNetwork $VirtualNetwork #Criação de VM # Definir valores para recurso existente nomes de conta de grupo e armazenamento. $rgName="RG_CloudShell $locName="East US 2" $STRName="xxxx" $nsgName ="NSG-VM-01" #Pedir credenciais VM #$cred=Get-Credential -Message "Digite o nome e a senha da conta de administrador local." $VMLocalAdminUser = "administrador" $VMLocalAdminSecurePassword = ConvertTo-SecureString "xxxx" -AsPlainText -Force $cred=New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword); # Definir o índice de rede e sub-rede virtual existente. $vnetName="VNet-001" $subnetIndex=0 $vnet=Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName # Criar o NIC com IP público. $nicName="VM-001" $pip=New-AzPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic $nic=New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id # Criar o NIC sem IP público. $nicName="VM-001" $vnet=Get-AzVirtualNetworkSubnetConfig -Name Backend -VirtualNetwork $vnet $nic=New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Id $pip.Id #Adicionando NSG(Grupo de Segurança) $rules = New-AzNetworkSecurityRuleConfig -Name 'default-allow-rdp' -Direction Inbound -Priority 1000 -Access Allow -SourceAddressPrefix '*' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange 3389 -Protocol Tcp $nsg = New-AzNetworkSecurityGroup -Name $nsgName -ResourceGroupName $rgName -Location $locName -SecurityRules $rules # Especificar o Nome e tamanho. $vmName="VM-001" $vmSize="Standard_DS3_v2" $vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize # Especificar a imagem e a conta de administrador local e em seguida, adicione o NIC. $pubName="MicrosoftWindowsServer" $offerName="WindowsServer" $skuName="2019-Datacenter" $vm=Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate $vm=Set-AzVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id # Especifique o nome de disco do sistema operacional e criar a VM $diskName="OSDisk" $storageAcc=Get-AzStorageAccount -ResourceGroupName $rgName -Name $STRName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $vmName + $diskName + ".vhd" $vm=Set-AzVMOSDisk -VM $vm -Name $diskName -VhdUri $osDiskUri -CreateOption fromImage New-AzVM -ResourceGroupName $rgName -Location $locName -VM $vm |
Gracias chicos, espero que hayan disfrutado esta serie de artículos.
Hasta el próximo post.
ISO 45001:2018 Standard is proposed to purely concentrate on the Occupational Health and Safety Management System (OH&SMS) of an organization. This standard certainly creates a safe, healthy and confident working environment for employees and visitors. ISO 45001 Certification in Philippines|Short Audit and Reports|certificate in record time|Simple-Transparent|Contact:enquiry@iascertification.com. Call @+6531591803
ResponderBorrar