āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻ¸āĻŋāĻāĻ˛āĻ†āĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻ•ā§‡āĻŸ āĻŦā§āĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨ 

āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻŦāĻž āĻĒāĻ°ā§‡, āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ VMware āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻ°ā§āĻŸāĻŋāĻ¨ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ¸ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¸āĻŦ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻ¸ā§‡ PowerShell āĻŦāĻž VMware PowerCLIāĨ¤

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

āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡, 2 āĻŸāĻŋ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡:

  • āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛ āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ - āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§ƒāĻĨāĻ• āĻĨā§āĻ°ā§‡āĻĄā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻ•ā§‡ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ; 
  • āĻ—ā§‡āĻŸ-āĻ­āĻŋāĻ‰ - āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• PowerCLI āĻĢāĻžāĻ‚āĻļāĻ¨, Windows-āĻ Get-WMIObject-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ—āĨ¤ āĻāĻ‡ cmdlet āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻĨāĻžāĻ•āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŸā§‡āĻ¨ā§‡ āĻ†āĻ¨ā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĄā§‡āĻŸāĻž āĻŸāĻžāĻ‡āĻĒ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ…āĻ¨ā§‡āĻ• āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¤āĻž āĻĻā§āĻ°ā§āĻ¤ āĻŦā§‡āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸ā§‡āĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ†āĻŽāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻžāĻŦāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻŋ āĻ•āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ­āĻžāĻ˛ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž!

āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻ¸āĻŋāĻāĻ˛āĻ†āĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻ•ā§‡āĻŸ āĻŦā§āĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ: āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸

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

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻļā§‡āĻ–āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨: 
āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛ āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§: āĻĒāĻžāĻ°ā§āĻŸ 1

āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§€ āĻĻā§‡āĻ¯āĻŧ:

  • āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻĄ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ—āĻ¤āĻŋ,
  • āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻžāĻ°ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨,
  • āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻžāĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ˛ āĻ¯āĻ–āĻ¨ āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡:

"āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻŦāĻŋāĻ°ā§‹āĻ§ vSphere-āĻ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻ āĻŋāĻ¨ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋāĨ¤ vCenter-āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§ āĻ—āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž āĻ•ā§‹āĻ¨ VM āĻŦā§‡āĻļāĻŋ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ­āĻžāĻ—ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛āĻ•ā§‡ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤
āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¯āĻž VMware āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ°āĻĻā§‡āĻ° āĻĻā§āĻ°ā§āĻ¤ vCenter āĻœā§āĻĄāĻŧā§‡ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ—āĻĄāĻŧ āĻ–āĻ°āĻšā§‡āĻ° āĻĄā§‡āĻŸāĻž āĻ¸āĻš VM-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡āĨ¤  
āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ PowerShell āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ ESXi āĻšā§‹āĻ¸ā§āĻŸāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ VM āĻĨā§‡āĻ•ā§‡ āĻ–āĻ°āĻšā§‡āĻ° āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĻ° āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛āĻ•ā§‡ āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤"

āĻ‰āĻ¤ā§āĻ¸: āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ ESXi āĻĄā§āĻ¯āĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ I/O āĻĻā§‡āĻ–āĻžāĻŦā§‡āĻ¨

āĻ¨ā§€āĻšā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ āĻ†āĻ° āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻ¨āĻ¯āĻŧ:

“āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ VM āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻ˛ā§‡āĻ–ā§‡āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻšāĻ˛ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻ­āĻŋāĻāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ 5-8 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤" 

āĻ‰āĻ¤ā§āĻ¸: āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸āĻĒā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĨā§āĻ°ā§‡āĻĄāĻŋāĻ‚ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻ¸āĻŋāĻāĻ˛āĻ†āĻ‡

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ—ā§‡āĻŸ-āĻ­āĻŋāĻ‰ āĻ˛āĻžāĻ—āĻŦā§‡, āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋāĻ¤ā§‡ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ‡āĨ¤ 

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ: āĻ—ā§‡āĻŸ-āĻ­āĻŋāĻ‰

Get-View āĻ•ā§‡āĻ¨ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ¤āĻž āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ cmdlets āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨āĨ¤ 

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

āĻāĻ–āĻ¨, Get-View āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ¸ā§āĻ¨ Get-VM cmdlet āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•: āĻāĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¯ā§ŒāĻ—āĻŋāĻ• āĻŦāĻ¸ā§āĻ¤ā§ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡: VMHost, Datastore āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤  

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

āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ°ā§āĻŸāĻŋāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§‡āĻŸ-āĻ­āĻŋāĻ‰ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻ–āĻ¨ āĻšāĻžāĻœāĻžāĻ° āĻšāĻžāĻœāĻžāĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ•āĻĨāĻž āĻ†āĻ¸ā§‡, āĻ¤āĻ–āĻ¨ āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻĻāĻžāĻŽ āĻĨāĻžāĻ•ā§‡ āĻ¨āĻžāĨ¤

āĻ†āĻĒāĻ¨āĻŋ VMware āĻŦā§āĻ˛āĻ—ā§‡ āĻ†āĻ°āĻ“ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨: āĻ—ā§‡āĻŸ-āĻ­āĻŋāĻ‰ āĻāĻ° āĻ­ā§‚āĻŽāĻŋāĻ•āĻž

āĻāĻ–āĻ¨ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ•ā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻžāĻŦāĨ¤ 

āĻāĻ•āĻŸāĻŋ VM āĻ†āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛ā§‡āĻ–āĻž

āĻāĻ•āĻĻāĻŋāĻ¨ āĻ†āĻŽāĻžāĻ° āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¤āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻ˛ā§‡āĻ¨āĨ¤ āĻ•āĻžāĻœāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ°ā§āĻŸāĻŋāĻ¨: āĻāĻ•āĻŸāĻŋ āĻĄā§āĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻŸ Cloud.uuid āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ VM āĻ–ā§āĻāĻœā§āĻ¨ (āĻšā§āĻ¯āĻžāĻ, vCloud āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ VM āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ)āĨ¤ 

āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¯āĻž āĻŽāĻ¨ā§‡ āĻ†āĻ¸ā§‡ āĻ¤āĻž āĻšāĻ˛:

  1. āĻ¸āĻŽāĻ¸ā§āĻ¤ VM-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒāĻžāĻ¨āĨ¤
  2. āĻ•ā§‹āĻ¨ā§‹āĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒāĻžāĻ°ā§āĻ¸.

āĻŽā§‚āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻāĻ‡ āĻ¸āĻšāĻœ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ›āĻŋāĻ˛:

function Get-CloudUUID1 {
   # ПоĐģŅƒŅ‡Đ°ĐĩĐŧ ŅĐŋиŅĐžĐē вŅĐĩŅ… ВМ
   $vms = Get-VM
   $report = @()

   # ОбŅ€Đ°ĐąĐ°Ņ‚Ņ‹Đ˛Đ°ĐĩĐŧ ĐēĐ°ĐļĐ´Ņ‹Đš ОйŅŠĐĩĐēŅ‚, ĐŋĐžĐģŅƒŅ‡Đ°Ņ иС ĐŊĐĩĐŗĐž Ņ‚ĐžĐģŅŒĐēĐž 2 ŅĐ˛ĐžĐšŅŅ‚ва: ИĐŧŅ ВМ и Cloud UUID.
   # ЗаĐŊĐžŅĐ¸Đŧ Đ´Đ°ĐŊĐŊŅ‹Đĩ в ĐŊОвŅ‹Đš PS-ОйŅŠĐĩĐēŅ‚ Ņ ĐŋĐžĐģŅĐŧи VM и UUID
   foreach ($vm in $vms)
   {
       $table = "" | select VM,UUID

       $table.VM = $vm.name
       $table.UUID = ($vm | Get-AdvancedSetting -Name cloud.uuid).Value
          
       $report += $table
   }
# ВозвŅ€Đ°Ņ‰Đ°ĐĩĐŧ вŅĐĩ ОйŅŠĐĩĐēŅ‚Ņ‹
   $report
}
# ДаĐģĐĩĐĩ Đ ĐŖКАМИ ĐŋĐ°Ņ€ŅĐ¸Đŧ ĐŋĐžĐģŅƒŅ‡ĐĩĐŊĐŊŅ‹Đš Ņ€ĐĩСŅƒĐģŅŒŅ‚Đ°Ņ‚

āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°. āĻ•āĻĢāĻŋāĻ° āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻĻā§āĻ¯āĻŧā§‡āĻ• āĻ˛ā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻ°āĻžāĻŦāĻŖ āĻ‰āĻĒāĻ° āĻ¸ā§āĻ•ā§āĻ°ā§ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨.

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ¸ā§āĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻ¸āĻŋāĻāĻ˛āĻ†āĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻ•ā§‡āĻŸ āĻŦā§āĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻ¸āĻŋāĻāĻ˛āĻ†āĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻ•ā§‡āĻŸ āĻŦā§āĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨

2 āĻŽāĻŋāĻ¨āĻŋāĻŸ 47 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 10k VM āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻŦā§‹āĻ¨āĻžāĻ¸ āĻšāĻ˛ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻ‡, āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ vCenter āĻĨā§‡āĻ•ā§‡ āĻšā§‹āĻ¸ā§āĻŸ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻĒā§‡āĻ¤ā§‡ āĻŦāĻž āĻ•āĻ¯āĻŧā§‡āĻ• āĻšāĻžāĻœāĻžāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ‰āĻĻā§āĻ§āĻžāĻ°ā§‡ āĻ†āĻ¸ā§‡ā§ˇ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ• āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸ā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻ—āĻ¤āĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨: āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛ āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸

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

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ†āĻ›ā§‡: PowerCLI āĻ†āĻŽāĻžāĻĻā§‡āĻ° vCenter-āĻ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ¸ā§‡āĻļāĻ¨ āĻ–ā§āĻ˛āĻ¤ā§‡ āĻĻā§‡āĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŽāĻœāĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĢā§‡āĻ˛āĻŦā§‡:

You have modified the global:DefaultVIServer and global:DefaultVIServers system variables. This is not allowed. Please reset them to $null and reconnect to the vSphere server.

āĻāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¸ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ PowerShell āĻāĻŽāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻŦāĻž āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ $global:DefaultVIServers (-NotDefault āĻ•ā§€ āĻĻāĻŋāĻ¯āĻŧā§‡ Connect-VIServer) āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻ¸ā§‡āĻļāĻ¨āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŋ:

$ConnectionString = @()
foreach ($vCenter in $vCenters)
   {
       try {
           $ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -AllLinked -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
       }
       catch {
           if ($er.Message -like "*not part of a linked mode*")
           {
               try {
                   $ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
               }
               catch {
                   throw $_
               }
              
           }
           else {
               throw $_
           }
       }
   }

āĻāĻ–āĻ¨ āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ āĻĒā§āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĨā§āĻ°ā§‡āĻĄāĻŋāĻ‚ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤  

āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

  1. āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ VM-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒāĻžāĻ‡āĨ¤
  2. āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĒā§āĻ°āĻŦāĻžāĻšā§‡ āĻ†āĻŽāĻ°āĻž Cloud.uuid āĻĒāĻžāĻ‡āĨ¤
  3. āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻŋāĨ¤
  4. āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ˛āĻžāĻ‰āĻĄāĻ‡āĻ‰āĻ†āĻ‡āĻĄāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋāĻ•ā§‡ āĻ—ā§‹āĻˇā§āĻ ā§€āĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§‡ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻŋ: āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž 1-āĻāĻ° āĻŦā§‡āĻļāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻ˛ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ VMāĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœāĻ›āĻŋāĨ¤

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĒāĻžāĻ‡:


function Get-VMCloudUUID {
   param (
       [string[]]
       [ValidateNotNullOrEmpty()]
       $vCenters = @(),
       [int]$MaxThreads,
       [System.Management.Automation.PSCredential]
       [System.Management.Automation.Credential()]
       $Credential
   )

   $ConnectionString = @()

   # ХОСдаĐĩĐŧ ОйŅŠĐĩĐēŅ‚ Ņ ŅĐĩŅŅĐ¸ĐžĐŊĐŊŅ‹Đŧ ĐēĐģŅŽŅ‡ĐžĐŧ
   foreach ($vCenter in $vCenters)
   {
       try {
           $ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -AllLinked -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
       }
       catch {
           if ($er.Message -like "*not part of a linked mode*")
           {
               try {
                   $ConnectionString += Connect-VIServer -Server $vCenter -Credential $Credential -NotDefault -Force -ErrorAction stop -WarningAction SilentlyContinue -ErrorVariable er
               }
               catch {
                   throw $_
               }
              
           }
           else {
               throw $_
           }
       }
   }

   # ПоĐģŅƒŅ‡Đ°ĐĩĐŧ ŅĐŋиŅĐžĐē вŅĐĩŅ… ВМ
   $Global:AllVMs = Get-VM -Server $ConnectionString

   # ПоĐĩŅ…Đ°Đģи!
   $ISS = [system.management.automation.runspaces.initialsessionstate]::CreateDefault()
   $RunspacePool = [runspacefactory]::CreateRunspacePool(1, $MaxThreads, $ISS, $Host)
   $RunspacePool.ApartmentState = "MTA"
   $RunspacePool.Open()
   $Jobs = @()

# ScriptBlock Ņ ĐŧĐ°ĐŗиĐĩĐš!)))
# ИĐŧĐĩĐŊĐŊĐž ĐžĐŊ ĐąŅƒĐ´ĐĩŅ‚ вŅ‹ĐŋĐžĐģĐŊŅŅ‚ŅŒŅŅ в ĐŋĐžŅ‚ĐžĐēĐĩ
   $scriptblock = {
       Param (
       $ConnectionString,
       $VM
       )

       $Data = $VM | Get-AdvancedSetting -Name Cloud.uuid -Server $ConnectionString | Select-Object @{N="VMName";E={$_.Entity.Name}},@{N="CloudUUID";E={$_.Value}},@{N="PowerState";E={$_.Entity.PowerState}}

       return $Data
   }
# ГĐĩĐŊĐĩŅ€Đ¸Ņ€ŅƒĐĩĐŧ ĐŋĐžŅ‚ĐžĐēи

   foreach($VM in $AllVMs)
   {
       $PowershellThread = [PowerShell]::Create()
# ДобавĐģŅĐĩĐŧ ŅĐēŅ€Đ¸ĐŋŅ‚
       $null = $PowershellThread.AddScript($scriptblock)
# И ОйŅŠĐĩĐēŅ‚Ņ‹, ĐēĐžŅ‚ĐžŅ€Ņ‹Đĩ ĐŋĐĩŅ€ĐĩдадиĐŧ в ĐēĐ°Ņ‡ĐĩŅŅ‚вĐĩ ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€ĐžĐ˛ ŅĐēŅ€Đ¸ĐŋŅ‚Ņƒ
       $null = $PowershellThread.AddArgument($ConnectionString)
       $null = $PowershellThread.AddArgument($VM)
       $PowershellThread.RunspacePool = $RunspacePool
       $Handle = $PowershellThread.BeginInvoke()
       $Job = "" | Select-Object Handle, Thread, object
       $Job.Handle = $Handle
       $Job.Thread = $PowershellThread
       $Job.Object = $VM.ToString()
       $Jobs += $Job
   }

# ĐĄŅ‚авиĐŧ ĐŗŅ€Đ°Đ´ŅƒŅĐŊиĐē, Ņ‡Ņ‚ОйŅ‹ ĐŊĐ°ĐŗĐģŅĐ´ĐŊĐž ĐžŅ‚ŅĐģĐĩĐļиваŅ‚ŅŒ вŅ‹ĐŋĐžĐģĐŊĐĩĐŊиĐĩ СадаĐŊиК
# И СдĐĩŅŅŒ ĐļĐĩ ĐŋŅ€Đ¸ĐąĐ¸Đ˛Đ°ĐĩĐŧ ĐžŅ‚Ņ€Đ°ĐąĐžŅ‚авŅˆĐ¸Đĩ СадаĐŊиŅ
   While (@($Jobs | Where-Object {$_.Handle -ne $Null}).count -gt 0)
   {
       $Remaining = "$($($Jobs | Where-Object {$_.Handle.IsCompleted -eq $False}).object)"

       If ($Remaining.Length -gt 60) {
           $Remaining = $Remaining.Substring(0,60) + "..."
       }

       Write-Progress -Activity "Waiting for Jobs - $($MaxThreads - $($RunspacePool.GetAvailableRunspaces())) of $MaxThreads threads running" -PercentComplete (($Jobs.count - $($($Jobs | Where-Object {$_.Handle.IsCompleted -eq $False}).count)) / $Jobs.Count * 100) -Status "$(@($($Jobs | Where-Object {$_.Handle.IsCompleted -eq $False})).count) remaining - $remaining"

       ForEach ($Job in $($Jobs | Where-Object {$_.Handle.IsCompleted -eq $True})){
           $Job.Thread.EndInvoke($Job.Handle)     
           $Job.Thread.Dispose()
           $Job.Thread = $Null
           $Job.Handle = $Null
       }
   }

   $RunspacePool.Close() | Out-Null
   $RunspacePool.Dispose() | Out-Null
}


function Get-CloudUUID2
{
   [CmdletBinding()]
   param(
   [string[]]
   [ValidateNotNullOrEmpty()]
   $vCenters = @(),
   [int]$MaxThreads = 50,
   [System.Management.Automation.PSCredential]
   [System.Management.Automation.Credential()]
   $Credential)

   if(!$Credential)
   {
       $Credential = Get-Credential -Message "Please enter vCenter credentials."
   }

   # ВŅ‹ĐˇĐžĐ˛ Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ Get-VMCloudUUID, ĐŗĐ´Đĩ ĐŧŅ‹ Ņ€Đ°ŅĐŋĐ°Ņ€Đ°ĐģĐģĐĩĐģиваĐĩĐŧ ĐžĐŋĐĩŅ€Đ°Ņ†Đ¸ŅŽ
   $AllCloudVMs = Get-VMCloudUUID -vCenters $vCenters -MaxThreads $MaxThreads -Credential $Credential
   $Result = $AllCloudVMs | Sort-Object Value | Group-Object -Property CloudUUID | Where-Object -FilterScript {$_.Count -gt 1} | Select-Object -ExpandProperty Group
   $Result
}

āĻāĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋāĻ° āĻ¸ā§ŒāĻ¨ā§āĻĻāĻ°ā§āĻ¯ āĻšāĻ˛ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŦā§āĻ˛āĻ• āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻž āĻļā§‹āĻˇāĻŖ!

āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻŋ:

āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻ¸āĻŋāĻāĻ˛āĻ†āĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻ•ā§‡āĻŸ āĻŦā§āĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨

55 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄāĨ¤ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ 

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ—āĻ¤āĻŋāĻ¤ā§‡ āĻšāĻ˛ā§āĻ¨: GetView

āĻšāĻ˛ā§āĻ¨ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ•āĻŋ āĻ­ā§āĻ˛.
āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻžāĻ—ā§āĻ°ā§‡, Get-VM cmdlet āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤
āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, Get-AdvancedOptions cmdlet āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¤ā§‡ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤
āĻ†āĻ¸ā§āĻ¨ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°āĻŋāĨ¤ 

Get-AdvancedOptions āĻĒā§ƒāĻĨāĻ• āĻ­āĻŋāĻāĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ¨ā§‡āĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ–ā§āĻŦ āĻ†āĻ¨āĻžāĻĄāĻŧāĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻ‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ (Get-VM)āĨ¤ āĻāĻŸāĻŋ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻĄā§‡āĻŸāĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻ•āĻŦāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻœā§āĻœāĻŋāĻ¤, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ•āĻ°āĻŋāĨ¤

āĻšāĻžāĻ¤ā§‡āĻ° āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ¨āĻĄāĻŧāĻžāĻšāĻĄāĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋ āĻšāĻ˛:


VM | Get-AdvancedSetting -Name Cloud.uuid -Server $ConnectionString | Select-Object @{N="VMName";E={$_.Entity.Name}},@{N="CloudUUID";E={$_.Value}},@{N="PowerState";E={$_.Entity.PowerState}}

āĻāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ:


$VM | Where-Object {($_.ExtensionData.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value -ne $null} | Select-Object @{N="VMName";E={$_.Name}},@{N="CloudUUID";E={($_.ExtensionData.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value}},@{N="PowerState";E={$_.summary.runtime.powerstate}}

āĻ†āĻ‰āĻŸāĻĒā§āĻŸ Get-AdvancedOptions āĻāĻ° āĻŽāĻ¤āĻ‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻŖ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ 

āĻāĻ–āĻ¨ Get-VM-āĻāĨ¤ āĻāĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻ¯āĻŧ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻļā§āĻ¨ āĻ‰āĻ ā§‡āĻ›ā§‡: āĻ•ā§‡āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĻāĻžāĻ¨āĻŦā§€āĻ¯āĻŧ PSObject āĻĻāĻ°āĻ•āĻžāĻ°, āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§ VM-āĻāĻ° āĻ¨āĻžāĻŽ, āĻāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨?  

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, Get-AdvancedOptions āĻ†āĻ•āĻžāĻ°ā§‡ āĻŦāĻžāĻ§āĻž āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. āĻ°āĻžāĻ¨āĻ¸ā§āĻĒā§‡āĻ¸ āĻĒā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻ–āĻ¨ āĻ“āĻ­āĻžāĻ°āĻ•āĻŋāĻ˛ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻļāĻ¨ āĻšāĻ¸ā§āĻ¤āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻ•ā§‹āĻ¯āĻŧāĻžāĻŸ āĻĨā§āĻ°ā§‡āĻĄ āĻœā§āĻĄāĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ§ā§€āĻ° āĻ•āĻžāĻœ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ†āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻŸā§āĻ˛ āĻ­āĻžāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¨āĻž. 

āĻ†āĻ¸ā§āĻ¨ ExtensionData-āĻāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–āĻŋ: āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ Get-View āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ›āĻžāĻĄāĻŧāĻž āĻ†āĻ° āĻ•āĻŋāĻ›ā§āĻ‡ āĻ¨āĻ¯āĻŧāĨ¤ 

āĻ†āĻ¸ā§āĻ¨ PowerShell āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°āĻĻā§‡āĻ° āĻĒā§āĻ°āĻžāĻšā§€āĻ¨ āĻ•ā§ŒāĻļāĻ˛ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•: āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°, āĻŦāĻžāĻ›āĻžāĻ‡ āĻāĻŦāĻ‚ āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ• āĻ˛āĻžāĻ‡āĻ¨āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻšāĻ°āĻ° āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻ­āĻžāĻŦā§‡ āĻāĻ• āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ­ā§‡āĻ™ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻļāĻ¨ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:


$AllVMs = Get-View -viewtype VirtualMachine -Property Name,Config.ExtraConfig,summary.runtime.powerstate | Where-Object {($_.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value -ne $null} | Select-Object @{N="VMName";E={$_.Name}},@{N="CloudUUID";E={($_.Config.ExtraConfig | Where-Object {$_.key -eq "cloud.uuid"}).Value}},@{N="PowerState";E={$_.summary.runtime.powerstate}} | Sort-Object CloudUUID | Group-Object -Property CloudUUID | Where-Object -FilterScript {$_.Count -gt 1} | Select-Object -ExpandProperty Group

āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻŋ:

āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻ¸āĻŋāĻāĻ˛āĻ†āĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻ•ā§‡āĻŸ āĻŦā§āĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨

9 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ¸āĻš āĻĒā§āĻ°āĻžāĻ¯āĻŧ 10k āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻĻāĻžāĻ°ā§āĻŖ!

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°ā§‡āĻ°

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

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

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

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