рдХреИрд╕реЗ PowerCLI рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЙрдХреЗрдЯ рддреНрд╡рд░рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП┬а

рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рдХрд┐рд╕реА рднреА VMware рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдкрд╛рд╡рд░рд╢реЗрд▓ рдпрд╛ рд╡реАрдПрдорд╡реЗрдпрд░ рдкрд╛рд╡рд░рд╕реАрдПрд▓рдЖрдИ рдЖрддрд╛ рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдиреЗ ISE рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдорд╛рдирдХ cmdlets рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдмрдврд╝рдХрд░ рдХреБрдЫ рд╣рдж рддрдХ рдЬрд╛рджреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдЬрдм рдЖрдк рд╕реИрдХрдбрд╝реЛрдВ рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХреА рдЧрд┐рдирддреА рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЫреЛрдЯреЗ рдкреИрдорд╛рдиреЛрдВ рдкрд░ рдорджрдж рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдХрд╛рдлреА рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред 

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, 2 рдЙрдкрдХрд░рдг рдорджрдж рдХрд░реЗрдВрдЧреЗ:

  • PowerShell Runspaces - рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬреЛ рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ; 
  • Get-View рдПрдХ рдореВрд▓ PowerCLI рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ Windows рдкрд░ Get-WMIObject рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдпрд╣ cmdlet рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд╣реАрдВ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░рд▓ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рддреЗрдЬреА рд╕реЗ рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЬрдм рдХреЛрдИ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рджреВрд╕рд░рд╛ред рдЬрд╛рдУ!



рдкрд╣рд▓рд╛ рдЪрд░рдг: рд░рдирд╕реНрдкреЗрд╕


рдЗрд╕рд▓рд┐рдП, рд░рдирд╕реНрдкреЗрд╕ рдХреЛ рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд╣рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдПрдХ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдореЗрдореЛрд░реА, рдкреНрд░реЛрд╕реЗрд╕рд░, рдЖрджрд┐ рдЦрд╛рдПрдЧреАред рдпрджрд┐ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдЪрд▓рддреА рд╣реИ рдФрд░ рдореЗрдореЛрд░реА рдХреА рдПрдХ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдЦрд░реНрдЪ рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╢рд╛рдпрдж рд░рдирд╕реНрдкреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рджрд╕рд┐рдпреЛрдВ рд╣рдЬрд╛рд░ рд╡рд╕реНрддреБрдУрдВ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред
рдЖрдк рдпрд╣рд╛рдВ рд╕реЗ рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: 
рдкреЙрд╡рд░рд╢реЗрд▓ рд░рдирд╕реНрдкреЗрд╕ рдХрд╛ рд╢реБрд░реБрдЖрддреА рдЙрдкрдпреЛрдЧ: рднрд╛рдЧ 1

рд░рдирд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ:

  • рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдХреЗ рдЧрддрд┐,
  • рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдп
  • рд╕реБрд░рдХреНрд╖рд╛ред

рдЬрдм рд░рдирд╕реНрдкреЗрд╕ рдорджрдж рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣рд╛рдВ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
┬л тАУ , vSphere. vCenter , . , PowerShell.
, VMware vCenter .  
PowerShell runspaces, ESXi Runspace . PowerShell , , ┬╗.

: How to Show Virtual Machine I/O on an ESXi Dashboard

рдиреАрдЪреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рдирд╕реНрдкреЗрд╕ рдЕрдм рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рдирд╣реАрдВ рд╣реИ:
тАЬрдореИрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рд╡реАрдПрдо рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдирдпрд╛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡реАрдПрдо рд╣реИрдВ, рдФрд░ рдПрдХ рдорд╢реАрди рдХреЗ рд▓рд┐рдП 5-8 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред тАЭ 

рд╕реНрд░реЛрдд: RunspacePool рдХреЗ рд╕рд╛рде Multithreading PowerCLI

рдпрд╣рд╛рдВ рдЧреЗрдЯ-рд╡реНрдпреВ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЖрдЗрдП рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВред 

рджреВрд╕рд░рд╛ рдЪрд░рдг: рдЧреЗрдЯ-рд╡реНрдпреВ


рдЧреЗрдЯ-рд╡реНрдпреВ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ cmdlets рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред 

рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрдХреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдФрд░ рдкрд╣рд┐рдпрд╛ рдХреЛ рд╕реБрджреГрдврд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Cmdlets рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреБрд░рд╛рдиреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рдХреЛрдб рдХреА рдПрдХ рд╕реМ рдпрд╛ рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдкреЙрд╡рд░рд╢реЗрд▓ рдЖрдкрдХреЛ рдПрдХ рдХрдорд╛рдВрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╣рдо рдЧрддрд┐ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЦреБрдж cmdlets рдХреЗ рдЕрдВрджрд░, рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реИ: рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд▓реЗрдХрд┐рди рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░, рд╕рдиреА рдЗрдВрдбрд┐рдпрд╛ рдХреЗ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреЗ рдХреБрд╢рд▓ рд╣рд╛рдереЛрдВ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм, рдЧреЗрдЯ-рд╡реНрдпреВ рдХреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдЧреЗрдЯ-рд╡реАрдПрдо cmdlet рдХреЛ рд▓реЗрдВ: рдпрд╣ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдХрдВрдкреЛрдЬрд┐рдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ: VMHost, Datastore, рдЖрджрд┐ред  

рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдЧреЗрдЯ-рд╡реНрдпреВ рд▓реМрдЯреА рд╣реБрдИ рд╡рд╕реНрддреБ рдореЗрдВ рдХреБрдЫ рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЗрдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдкрдХреЛ рдХрдареЛрд░ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдПрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдореЗрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд╛рдЗрдкрд░-рд╡реА рдореЗрдВ, рдЧреЗрдЯ-рдбрдмреНрд▓реВрдПрдордЖрдИрдУрдмрдЬреЗрдХреНрдЯ рд╕реЗрдореАрдбрд▓реЗрдЯ рдПрдХ рд╕реАрдзрд╛ рдПрдирд╛рд▓реЙрдЧ рд╣реИ - рд╡рд┐рдЪрд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╣реИред

рдкреНрд╡рд╛рдЗрдВрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рдпрдорд┐рдд рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдЧреЗрдЯ-рд╡реНрдпреВ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╣рдЬрд╛рд░реЛрдВ рдФрд░ рд╣рдЬрд╛рд░реЛрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдЙрд╕рдХреА рдХреЛрдИ рдХреАрдордд рдирд╣реАрдВ рд╣реИред
VMware рдмреНрд▓реЙрдЧ рдкрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ: рдЧреЗрдЯ-рд╡реНрдпреВ рдХрд╛ рдкрд░рд┐рдЪрдп

рдЕрдм рдореИрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред 

рд╣рдо VM рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ


рдПрдХ рдмрд╛рд░ рдореЗрд░реЗ рд╕рд╣рдХрд░реНрдореА рдиреЗ рдореБрдЭреЗ рдЙрдирдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдХрд╛рд░реНрдп рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рдирдЪрд░реНрдпрд╛ рд╣реИ: рд╕рднреА VMs рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреНрд▓рд╛рдЙрдб рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ редuuid рдкреИрд░рд╛рдореАрдЯрд░ (рд╣рд╛рдБ, vCloud рдирд┐рджреЗрд╢рдХ рдореЗрдВ VM рдХреЛ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╕рдВрднрд╡ рд╣реИ)ред 

рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдЬреЛ рдорди рдореЗрдВ рдЖрддрд╛ рд╣реИ:

  1. рд╕рднреА рд╡реАрдПрдо рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  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
}
#     

рд╕рдм рдХреБрдЫ рдмреЗрд╣рдж рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдпрд╣ рдХреЙрдлреА рд╡рд┐рд░рд╛рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░ рдкреЗрдВрдЪ, рдФрд░ рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рд╕рдордп рдХреЛ рдорд╛рдкреЗрдВ: рд▓рдЧрднрдЧ 10k рд╡реАрдПрдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░рддреЗ рд╕рдордп





2 рдорд┐рдирдЯ 47 рд╕реЗрдХрдВрдб ред рдПрдХ рдмреЛрдирд╕ рдлрд┐рд▓реНрдЯрд░ рдХреА рдХрдореА рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣реА рд╣реИред

рдЬрдм рдЖрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ vCenter рдХреЗ рд╕рд╛рде рдореЗрдЬрдмрд╛рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдЖрдк рд╣рдЬрд╛рд░реЛрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХреЗ рд▓рд┐рдП Ransepses рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрдпрд╛ рджреЗрдЧрд╛ред

рд╣рдо рдкрд╣рд▓реА рдЧрддрд┐ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ: рдкреЙрд╡рд░рд╢реЗрд▓ рд░рдирд╕реНрдкреЗрд╕

рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рд╣реИ рд▓реВрдк рдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рдорд╛рдирд╛рдВрддрд░ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛, рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ред 

рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ: 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 рдЙрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо ScriptBlock рдХреЗ рд▓рд┐рдПред рдЖрдЗрдП рд╕рддреНрд░ рдХреЛ $ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рд╕ рдХрд░реЗрдВ: DefaultVIServers (рдХрдиреЗрдХреНрдЯ-рд╡рд┐рдЬрд╝рд░ рдЗрди-рдиреЙрдЯрдбрд┐рдлреЙрд▓реНрдЯ рдХреБрдВрдЬреА):

$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. рд╕рднреА рд╡реАрдПрдо рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  2. рд╕рдорд╛рдирд╛рдВрддрд░ рдзрд╛рдЧреЛрдВ рдореЗрдВ рд╣рдореЗрдВ рдмрд╛рджрд▓ рдорд┐рд▓рддреЗ рд╣реИрдВред
  3. рд╣рдо рдзрд╛рд░рд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╡рд╕реНрддреБ рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
  4. рд╣рдо CloudUUID рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ: рд╡реЗ рдЬрд╣рд╛рдВ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 1 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рд╡реАрдПрдо рд╣реИрдВред

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓рддреА рд╣реИ:


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
}

рдЗрд╕ рд▓рд┐рдкрд┐ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрдиреНрдп рд╕рдорд╛рди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ ScriptBlock рдХреЛ рдмрджрд▓рдХрд░ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдВ!

рд╣рдо рд╕рдордп рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВ:



55 рд╕реЗрдХрдВрдбред рдкрд╣рд▓реЗ рд╕реЗ рдмреЗрд╣рддрд░, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рддреЗрдЬред 

рд╣рдо рджреВрд╕рд░реА рдЧрддрд┐ рд╕реЗ рдЧреБрдЬрд░рддреЗ

рд╣реИрдВ : GetView рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
рдкрд╣рд▓рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ: Get-VM cmdlet рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рджреВрд╕рд░рд╛: Get-AdvancedOptions cmdlet рдЕрдм рднреА рдЪрд▓рддрд╛ рд╣реИред
рдкрд╣рд▓рд╛, рджреВрд╕рд░реЗ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВред 

Get-AdvancedOptions рд╡реНрдпрдХреНрддрд┐рдЧрдд VM рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдмрд╣реБрдд рдзреАрдорд╛ред рд╣рдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╣реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (Get-VM)ред рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ ExtensionData рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджрдлрди рд╣реИред рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рд╢рд╕реНрддреНрд░, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рддреЗ рд╣реИрдВред

рдХрд▓рд╛рдИ рдХреА рдПрдХ рдЪрдВрдЪрд▓ рдХреЗ рд╕рд╛рде рдпрд╣ рд╣реИ:


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 рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ: рдпрд╣ рдПрдХ рдЧреЗрдЯ-рд╡реНрдпреВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред 

рдкреЙрд╡рд░рд╢реЗрд▓ рдорд╛рд╕реНрдЯрд░реНрд╕ рдХреА рдкреНрд░рд╛рдЪреАрди рддрдХрдиреАрдХ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ: рдлрд╝рд┐рд▓реНрдЯрд░, рд╕реЙрд░реНрдЯ рдФрд░ рдЧреНрд░реБрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд▓рд╛рдЗрдиред рд╕рднреА рдкрд┐рдЫрд▓реЗ рд╣реЙрд░рд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдврд╣ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рддреНрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:


$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

рд╣рдо рд╕рдордп рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВ: рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 10k рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП



9 рд╕реЗрдХрдВрдб ред рдареАрдХ!

рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп рдПрдХ

рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдо рд╕реАрдзреЗ рдЙрдкрдХрд░рдг рдХреА рдкрд╕рдВрдж рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реВрдЪреАрдмрджреНрдз рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреНрд╡рд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреА рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдХреА рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рдЕрдЪреНрдЫрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдФрд░ рдЖрдкрдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдЙрдирдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдХрдард┐рди рдХрд╛рд░реНрдп рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред

рдкреБрдирд╢реНрдЪ: рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЙрдирдХреА рдорджрдж рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХ рдиреЗ рдХрдореНрдпреВрди рдХреЗ рд╕рднреА рд╕рджрд╕реНрдпреЛрдВ рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж рдХрд┐рдпрд╛ред рдкрдВрдЬреЗ рд╡рд╛рд▓реЗ рднреАред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдкреИрд░ рдирд╣реАрдВ рд╣реИрдВ, рдмреЛрдЖ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреА рддрд░рд╣ред

All Articles