PowerShell āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Azure VM āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻ°āĻžāĻ¨

PowerShell āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻĒā§āĻ°āĻ•ā§ŒāĻļāĻ˛ā§€ āĻāĻŦāĻ‚ IT āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ°āĻ°āĻž āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻ¸ā§‡āĻ¸ā§‡āĻ‡ āĻ¨āĻ¯āĻŧ, āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ¸āĻžāĻĨā§‡āĻ“, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ Azure-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, Azure āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ PowerShell āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻāĻŦāĻ‚ āĻĻā§āĻ°ā§āĻ¤āĨ¤ āĻāĻ° āĻ•ā§āĻ°āĻ¸-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, PowerShell āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§, āĻ°ā§‡āĻĄ āĻšā§āĻ¯āĻžāĻŸ āĻŦāĻž āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨ āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Azure PowerShell, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ Azure āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻāĻ•āĻŸāĻŋ VM āĻāĻ° āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ PowerShell āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ VM āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

PowerShell āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Azure VM āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻ°āĻžāĻ¨

āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ! āĻ•āĻžāĻœā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻ¸ā§āĻ¯āĻžāĻ¨āĻŋāĻŸāĻžāĻ‡āĻœāĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšāĻžāĻ¤ āĻŽā§āĻ›āĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻž:

  • āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ Azure PowerShell āĻŽāĻĄāĻŋāĻ‰āĻ˛ - āĻāĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš PowerShell āĻ—ā§āĻ¯āĻžāĻ˛āĻžāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ Install-Module Az.
  • āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ Azure āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻšāĻ˛āĻ›ā§‡ Connect-AzAccount.

āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ Azure VM āĻāĻ° āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ VS āĻ•ā§‹āĻĄ āĻ–ā§āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋ āĻ°āĻŋāĻ¸āĻžāĻ‡āĻœ-AzVirtualMachine.ps1 — āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ¤ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻŸā§āĻ•āĻ°ā§‹ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŦāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ˛āĻ­ā§āĻ¯ VM āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻŋ

āĻ†āĻĒāĻ¨āĻŋ VM āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ Azure āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ āĻ†āĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡ Get-AzVMSize.

āĻ¤āĻžāĻ‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ devvm01 āĻ¸āĻŽā§āĻĒāĻĻ āĻ—ā§āĻ°ā§āĻĒ āĻĨā§‡āĻ•ā§‡ āĻĻā§‡āĻŦ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻ›āĻŋ:

Get-AzVMSize -ResourceGroupName dev -VMName devvm01

(āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯āĻŧ, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ ResourceGroupName=dev и VMName=devvm01 āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤)

āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ‡ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŦā§‡:

PowerShell āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Azure VM āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻ°āĻžāĻ¨

āĻāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ—āĻžāĻĄāĻŧāĻŋāĻ° āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ_B1ls - āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ¤āĻŋāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ†āĻ›ā§‡āĻ¨āĨ¤ (āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ-āĻœā§€āĻŦāĻ¨ā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¤āĻž āĻšāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡āĻ¨āĨ¤)

  1. āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ Get-AzVM āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ (āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨) āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡ āĻĒāĻžāĻ‡ $virtualMachine:
    $virtualMachine = Get-AzVM -ResourceGroupName dev -VMName devvm01
  2. āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ¤ā§‡ .HardwareProfile.VmSize āĻāĻŦāĻ‚ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨:
    $virtualMachine.HardwareProfile.VmSize = "Standard_B1ls"
  3. āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° VM āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ‡ - Update-AzVm:
    Update-AzVM -VM devvm01 -ResourceGroupName dev
  4. āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ - āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋāĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨ $virtualMachine.HardwareProfile:
    $virtualMachine = Get-AzVM -ResourceGroupName dev -VMName devvm01
    $virtualMachine.HardwareProfile

āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĻā§‡āĻ–āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ_B1ls - āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ—āĻžāĻĄāĻŧāĻŋāĻ° āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ°āĻ“ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ VM āĻāĻ° āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻĢāĻ˛ā§āĻ¯ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ—āĻĄāĻŧā§‡ āĻ¤ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

Azure āĻ āĻāĻ•āĻŸāĻŋ VM āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ•āĻŋ?

āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ¸āĻžāĻĨā§‡, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻ¸ā§‹āĻœāĻž āĻŽāĻ¨ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻž āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸āĻ°ā§āĻŦā§‹āĻĒāĻ°āĻŋ, āĻāĻ‡ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻŦā§āĻŸ āĻĄāĻžāĻ¯āĻŧāĻ—āĻ¨āĻŋāĻ¸ā§āĻŸāĻŋāĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĒāĻžāĻ¤ā§āĻ°ā§‡
  • āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸
  • āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž
  • āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻ¸ā§āĻ• āĻāĻŦāĻ‚ āĻŦā§āĻ˛āĻŦ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
  • āĻĄā§‡āĻŸāĻž āĻĄāĻŋāĻ¸ā§āĻ•

āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻŦ Remove-AzrVirtualMachine - āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Azure VM āĻ¨āĻ¯āĻŧ, āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŦāĻ—ā§āĻ˛āĻŋāĻ•ā§‡āĻ“ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŦā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ†āĻĻāĻ°ā§āĻļ āĻĒāĻĨā§‡ āĻ¯āĻžāĻ‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ (VM) āĻĒāĻžāĻ‡ Get-AzVm. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ—āĻžāĻĄāĻŧāĻŋ āĻšāĻ¤ā§‡ āĻĻāĻŋāĻ¨ WINSRV19 āĻ¸āĻŽā§āĻĒāĻĻ āĻ—ā§āĻ°ā§āĻĒ āĻĨā§‡āĻ•ā§‡ MyTestVMs.

āĻ†āĻ¸ā§āĻ¨ āĻāĻ‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŸāĻŋāĻ•ā§‡ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋ $vm:

$vm = Get-AzVm -Name WINSRV19 -ResourceGroupName MyTestVMs

āĻŦā§āĻŸ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ• āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻš āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡

Azure-āĻ āĻāĻ•āĻŸāĻŋ VM āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻŦā§āĻŸ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ•āĻ¸ (āĻŦā§āĻŸ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ• āĻ•āĻ¨ā§āĻŸā§‡āĻ¨āĻžāĻ°) āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡āĻ“ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ¤ā§‡ āĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¯āĻ–āĻ¨ VM āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧ, āĻāĻ‡ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋ āĻ¤āĻžāĻ° āĻāĻ–āĻ¨ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯āĻšā§€āĻ¨ āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻ–ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻšāĻ˛ā§āĻ¨ āĻāĻ‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ āĻŋāĻ• āĻ•āĻ°āĻž āĻ¯āĻžāĻ•.

  1. āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻāĻ‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ• - āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋāĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ storageUri āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ…āĻ¨ā§āĻ¤ā§āĻ°ā§‡ DiagnosticsProfile āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ­āĻŋāĻāĻŽāĨ¤ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ:
    $diagSa = [regex]::match($vm.DiagnosticsProfile.bootDiagnostics.storageUri, '^http[s]?://(.+?)\.').groups[1].value
  2. āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋāĻ° āĻ¨āĻžāĻŽ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ­āĻŋāĻāĻŽ āĻ†āĻ‡āĻĄāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ 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)
    
  3. āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ—ā§āĻ°ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒāĻžāĻ‡ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:
    $diagSaRg = (Get-AzStorageAccount | where { $_.StorageAccountName -eq $diagSa }).ResourceGroupName
  4. āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ Remove-AzStorageContainer:
    $saParams = @{
        'ResourceGroupName' = $diagSaRg
        'Name' = $diagSa
    }
     
    Get-AzStorageAccount @saParams | Get-AzStorageContainer | where { $_.Name-eq $diagContainerName } | Remove-AzStorageContainer -Force

VM āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡

āĻāĻ–āĻ¨ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨āĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ¯āĻžāĻ•, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ $vm āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ“āĻ¯āĻŧā§‡āĻ˛, āĻāĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• Remove-AzVm:

$null = $vm | Remove-AzVM -Force

āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡

āĻ†āĻŽāĻžāĻĻā§‡āĻ° VM-āĻāĻ° āĻāĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ (āĻŦāĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ•) āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ (NICs) āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ°āĻžāĻ¤ā§‡, āĻ†āĻ¸ā§āĻ¨ āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ‡ NetworkInterfaces āĻ†āĻŽāĻžāĻĻā§‡āĻ° VM āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ NIC āĻŽā§āĻ›ā§‡ āĻĻāĻŋāĻ¨ Remove-AzNetworkInterface. āĻ¯āĻĻāĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĨāĻžāĻ•ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ NIC-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦ IpConfiguration āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻŦ Remove-AzPublicIpAddress.

āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ˛, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ˛ā§āĻĒā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨āĻ†āĻ‡āĻ¸āĻŋ āĻĻā§‡āĻ–āĻŋ, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ†āĻ‡āĻĒāĻŋ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°ā§āĻ¨ PublicIpAddress, āĻ†āĻ‡āĻĄāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ āĻ–ā§āĻāĻœā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŽā§āĻ›ā§āĻ¨:


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
        }
    }
}

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻ¸ā§āĻ• āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡

OS āĻĄāĻŋāĻ¸ā§āĻ• āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻŦ, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ†āĻĻā§‡āĻļ āĻ†āĻ›ā§‡ Remove-AzStorageBlob - āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻŦāĻŋāĻļā§‡āĻˇāĻ¤, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻ¸ā§āĻ• āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ āĻāĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

$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]

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻ¸ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻŦā§āĻ˛āĻŦ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡

āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¯ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻŸāĻŋ āĻ¨āĻŋāĻ‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻĄāĻŋāĻ¸ā§āĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻŦā§‹āĻāĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻļā§‡āĻˇā§‡āĻ° āĻŦā§āĻ˛āĻŦāĻŸāĻŋāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ status, āĻĄāĻŋāĻ˛āĻŋāĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨ Remove-AzStorageBlob:

$osDiskStorageAcct | Get-AzStorageBlob -Container $osDiskContainerName -Blob "$($vm.Name)*.status" | Remove-AzStorageBlob

āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻŸāĻž āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻŋ

āĻ†āĻŽāĻžāĻĻā§‡āĻ° VM āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻš āĻĄāĻŋāĻ¸ā§āĻ• āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ“ āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻŦāĨ¤ āĻāĻ° āĻ†āĻ—ā§‡ āĻāĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• StorageProfile āĻ†āĻŽāĻžāĻĻā§‡āĻ° VM āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻ–ā§āĻāĻœā§‡ Uri. āĻ¯āĻĻāĻŋ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻāĻ•āĻŸāĻŋ āĻšāĻ•ā§āĻ° āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻŋ URI. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ URI-āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻŦ Get-AzStorageAccount. āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻŦā§āĻ˛āĻŦā§‡āĻ° āĻ¨āĻžāĻŽ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ‡āĻ‰āĻ†āĻ°āĻ†āĻ‡ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ˛āĻŋāĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨ Remove-AzStorageBlob āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻ¸āĻšāĨ¤ āĻ•ā§‹āĻĄā§‡ āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ•ā§‡āĻŽāĻ¨ āĻšāĻŦā§‡:

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]
    }
}

āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ "āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻ–ā§€ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĻ¤ā§‡ āĻĒā§ŒāĻāĻ›ā§‡āĻ›āĻŋ!" āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§āĻ•āĻ°ā§‹ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¸āĻĻāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻ• āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻŽ āĻŦāĻžāĻ°ā§āĻŸā§āĻ°āĻžāĻŽ āĻ…āĻ°ā§āĻ§ā§‡āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• Remove-AzrVirtualMachine.ps1:

→ GitHub

āĻ†āĻŽāĻŋ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻ†āĻĒāĻ¨āĻŋ Azure VM-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž, āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ…āĻ°ā§āĻĨ āĻŦāĻžāĻāĻšāĻžāĻ¤ā§‡ āĻāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ• āĻŸāĻŋāĻĒāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨