Powershell: ConvertFrom-Yaml, ConvertTo- рдпрдорд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЕрдкреНрд░реИрд▓ 2017  ┬╖  65рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PowerShell/PowerShell

рдпрдорд▓ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рднреА # 3046 рдкрд░ @fabiendibot рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ CMDLets рдореЗрдВ XML рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рд░реВрдк рджреЗрдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реЛрдЧрд╛ред рд╢рд╛рдпрдж рдЗрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рдкрд░реАрдХреНрд╖рдг?

Area-Cmdlets Issue-Discussion Up-for-Grabs

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@lzybkr рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХрд╣рд╛ рдХрд┐ рд╣рдо рдПрдХ рдирдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд╣реАрдВ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рднреА рдЬрд╣рд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдзреБрдирд┐рдХ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдПрдХ рдЯрди рдХреЛ рдЕрдм YAML рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╢рд╛рдпрдж 6.0 рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рд╕рднреА 65 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдордиреЗ DSC рдкрд╣рд▓реВ рд╕реЗ рд╕рдорд╛рди рдЪрд░реНрдЪрд╛ рдХреА,
рд╣рдореЗрдВ рдЬреИрд╕рди рдЖрдзрд╛рд░рд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╣рдо рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ xml рдЖрдзрд╛рд░рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рд╣реЛрдВ, YAML рдЖрдзрд╛рд░рд┐рдд рдлрд╛рдЗрд▓реЗрдВ, INI рдЖрдзрд╛рд░рд┐рдд рдлрд╛рдЗрд▓реЗрдВ RegEx рд╕реНрд╡реИрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рда рдореИрдиреАрдкреБрд▓реЗрд╢рди cmdlets рдХреЗ рднреАрддрд░ рд╕реЗред

рдкреАрдПрд╕ рдореЗрдВ рдореМрдЬреВрджрд╛ рд╕рдорд░реНрдерди рдХреА рдХрдореА рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдРрд╕реА рдХреНрд╖рдорддрд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдиреА рд╣реЛрдЧреАред
рдпрд╣ рд▓рдВрдмрд┐рдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдпреЛрдЧрджрд╛рди рдкрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЗрд╕реЗ рдкреАрдПрд╕ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЗрд╕рд╕реЗ рдбреАрдПрд╕рд╕реА рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рднреА рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЬрдм рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм XML рдпрд╛ JSON рдЬреИрд╕рд╛ рд╣реИ?

рд╡рд░реНрддрдорд╛рди рд╕реЛрдЪ рдпрд╣ рд╣реИ рдХрд┐ YAML рдХреЛ PowerShell рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмреЗрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рдЖрдк PowerShell рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдиреЗ рдмрд┐рдирд╛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ YAML рдХреЛ XML рдХреА рддрд░рд╣ рдкрд╛рд╡рд░рд╢реЗрд▓ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ (рд╕реЛрдЪреЗрдВ [xml] " b ")

рдпрджрд┐ рд╣рдо JSON рдорд╛рд░реНрдЧ рдкрд░ рдЧрдП, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ YAML рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cmdlets рд╣реЛрдВрдЧреЗ - рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ PowerShell рдореЗрдВ рдмреЗрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ YAML рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PowerShell рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдХрдорд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред

@lzybkr рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХрд╣рд╛ рдХрд┐ рд╣рдо рдПрдХ рдирдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд╣реАрдВ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рднреА рдЬрд╣рд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдзреБрдирд┐рдХ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдПрдХ рдЯрди рдХреЛ рдЕрдм YAML рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╢рд╛рдпрдж 6.0 рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

@ рдРрд░реАрд╣рд┐рди - рдореЗрд░реЗ рдХреБрдЫ рд╕рд░рд▓ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╣реИрд╢ рдПрд░реЗ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ REG_SZ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░реЗрдВ - рд▓реЗрдХрд┐рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ - рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЙрдкреА рдЪрд╛рд╣рд┐рдПред

рдЬрдм рдореИрдВрдиреЗ "рджреЗрд╢реА" рдХрд╣рд╛ рддреЛ рдореБрдЭреЗ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ - рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд" рдХрд╛ рдорддрд▓рдм рдерд╛ - рдпрд╣ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ рд╢рд┐рдк рдХрд┐рдП рдЧрдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдорд╛рд░реА рдкрд╣рд▓реА рдЪрд░реНрдЪрд╛ # 2109

@iSazonov - рдЖрд╣ рд╣рд╛рдБ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ!

рдореИрдВрдиреЗ рдереНрд░реЗрдб рдкрд░ YAML рдХреЗ AWS рд╕рдорд░реНрдерди рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рджреЗрдЦрд╛ - рдореИрдВ рдХреБрдЫ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧреА рдкрд╛рдпрд╛ рд╣реИ: https://github.com/awslabs/aws-cfn-template-flip

@iSazonov рд╕реВрдЪрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВред

рдЙрд╕ рдореВрд▓ рд╕реВрддреНрд░ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рд╕рдордп cmdlets рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЧреИрд▓рд░реА рдореЗрдВ рд╢рд┐рдк рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдирдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдФрд░ рд▓реЛрдЧреЛрдВ рдХреА рдХрдерд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдХреБрдЫ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд╛рдо рдХреЗ рд╕рд╛рде рд╣рдо 6.0.0 рдХреЗ рдмрд╛рдж рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдЗрди-рдмреЙрдХреНрд╕ рдмрдирд╛рдо рдЧреИрд▓рд░реА-рдХреЗрд╡рд▓ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ https://github.com/PowerShell/platyPS рдореЗрдВ рдпрдорд▓ рд╣реИ

рд╣рд╛рдБ, рдпрд╣ рднрдпрд╛рдирдХ рд╣реЛрдЧрд╛, https://github.com/awslabs/aws-cfn-template-flip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░

@MattTunny рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ! :-)

рд╡рд╣рд╛рдБ рдПрдХ Windows рд╕рд░реНрд╡рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╛рдЬ рдЙрдард╛рдИ :-)

https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088495-out-of-the-box-support-for-yaml-like-csv-xml-j

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореВрд▓ рдкреАрдПрд╕ 6.1 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрди рджрд┐рдиреЛрдВ рдХрдИ рдЪреАрдЬреЗрдВ YAML рдореЗрдВ рд╣реИрдВред

PSGallery рдкрд░ рдЕрдм psyaml рдФрд░ powershell-yaml рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ VSTS рдмрд┐рд▓реНрдб рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдПрдХ YAML рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рд╛рдЙрдВрдб-рдЯреНрд░рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред рдЕрдЧрд░ рдореЙрдбреНрдпреВрд▓ PowerShell рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ PSGallery рд╕реЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ рддреЛ рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдпрд╣рд╛рдВ рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдХреНрд▓реВрдиреА рд╣реИред рдЖрдЬ, рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдвреВрдВрдврдирд╛, рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░) рдЪрд╛рд▓рд╛рдХ рддрд░реАрдХреЗ рд╕реЗ рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ var m = require('mymodule') ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреАрдПрд╕рд╕реА рдХреЗ рд▓рд┐рдП рд▓реЗрдХрд┐рди рджреЗрд╢реА рдкрд╛рд╡рд░рд╕реНрд▓реЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреАрдПрд╕рд╕реА рдореЗрдВ, рдЬрдм рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рдХреНрд╖реНрдп рдиреЛрдб рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЗрдХрд┐рди рдЧреИрд░-рдХреЛрд░ рдореЙрдбреНрдпреВрд▓ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдирд╛, "рдЗрд╕реЗ рдХреЛрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" рддрд░реНрдХреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдиреЗрдЯ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдлрд┐рд░ рд▓рдХреНрд╖реНрдп рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣реИ рдХрд┐ рдПрдЬрд╝реНрдпреЛрд░ рдбреАрдПрд╕рд╕реА рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╕реНрддрд╛рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ рдлрд┐рд░ рдПрдХ рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдмреВрдБрдж рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред Azure рд╕рдВрд╕рд╛рдзрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рддрдм рдЗрд╕ рдмреВрдБрдж рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИред

рдЬрдм рддрдХ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреБрдЫ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рднреА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рдЬрдм рддрдХ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рди рд╣реЛред рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡рддрдГ рдкреВрд░реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рддреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ (рджреЗрдЦреЗрдВ https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)ред

рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдПрдХ рддрд░рдл, рд╡рд░реНрддрдорд╛рди рдореЗрдВ PowerShell рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдЪреНрдЫрд╛ YAML рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ @bergmeister рдиреЗ рдмрддрд╛рдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реИ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред YAML рдЖрдзрд╛рд░рд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдм рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЯреАрдо рдХреА рд░рд╛рдп рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред XML рдФрд░ JSON рдХреЛ рднрд╛рд╖рд╛ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдкреАрдЫреЗ рддрд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред YAML рдХреЗ рд▓рд┐рдП рдорд╛рдорд▓рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред

@bgshacklett рдореИрдВрдиреЗ

рдХреНрдпрд╛ рдкреНрд▓реИрдЯрд┐рдкрд╕ рдкрд╛рд░реНрд╕рд░ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ?

@vors рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреЛрд░ рд░реЗрдкреЛ рдореЗрдВ рдкреНрд▓реИрдЯрдкреАрдПрд╕ рдпрдорд░реНрд╕ рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ?

рдореИрдВ PowerShell рдЧреИрд▓рд░реА рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬреИрд╕реЗ @lzybkr рдХрд╣рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреБрд░рд╛рдиреЗ рдкрд╛рд╡рд░рд╢реЗрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдХреА рдЕрдкрдиреА рд░рд┐рд▓реАрдЬрд╝ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ sqlserver рдореЙрдбреНрдпреВрд▓ рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛ред @BrucePay рдЕрдЧрд░ рдпрд╣ Microsoft рдХреЗ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде PowerShell рдЧреИрд▓рд░реА рдореЗрдВ рдПрдХ рдкреГрд╖реНрда рдерд╛, рддреЛ рдЗрд╕реЗ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ рдФрд░ рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдЙрди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ XML рдФрд░ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдкреЙрд╡рд░реНрд╕ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИред

рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ ConvertFrom-YAML рдФрд░ ConvertFrom-YAML рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ YAML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░рд╛рд░реВрдк рд╣реИ рдФрд░ рдЗрд╕реЗ @bgshacklett рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдПрдХ рдмреНрд▓реЙрдЧ рдПрдВрдЯреНрд░реА рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреА рдФрд░ рджреЛ рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ YAML рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: powershell-yaml ред

рдЙрдирдХреЗ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

| рдореЙрдбреНрдпреВрд▓ | рдореИрдкрд┐рдВрдЧ | рдХреНрд░рдо |
| --------- |: -------------- | ----------- |
| PSYaml | рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдРрд░реЗ |
| рд╢рдХреНрддрд┐рдпрд╛рдВ- yaml | Hastable | рд╕реВрдЪреА |

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдорд╛рдирдХ ConvertFrom-YAML рдФрд░ ConvertFrom-YAML ред

рджрд░рдЕрд╕рд▓, ConvertFrom-Yaml -ordered рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХрдирд╡рд░реНрдЯ рдХрд░рддреЗ рд╕рдордп powershell-yaml OrderedDictionary рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (DSC рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдФрд░ рд░рд╕реЛрдИ рдпрд╛рдорд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ), рд▓реЗрдХрд┐рди рдПрдХ vsts рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рд╣реИред

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ: get-content -Raw MyFile.yml | ConvertFrom-Yaml -Ordered (рд▓реЛрдЧ рдЕрдХреНрд╕рд░ -Raw )ред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рд╣рдореЗрдВ MSFT рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдУрд╡рд░рд╣реЗрдб рдбрд╛рд▓рдиреЗ рдФрд░ рдкрд╣рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ Microsoft _official_ рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА ... рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реЛ, рдкреНрд░рддрд┐рдЧрдорди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝реЗрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рдореБрджреНрджреЗ рдХрд┐ рдорд╛рд▓рд┐рдХ рдХреЛ рдкрддрд╛ рд╣реИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИ ...
рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдЖрдк 99 рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рдирдХ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ ...

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

рдореИрдВ @gaelcolas рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреБрдгрд╡рддреНрддрд╛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╕рдореБрджрд╛рдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИред

рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╡рд┐рд╢реНрд╡ YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ AppVeyor, Travis CI, VSTS, AWS CloudFormation, рдЗрддреНрдпрд╛рджрд┐ред YAML рдбрд┐рд╕реЗрд░рд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИред рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реА рд╕рдлрд▓рддрд╛ рдФрд░ рдЕрдВрддрддрдГ рдкрд╣рд┐рдпрд╛ рдХреЛ рдХрдИ рдмрд╛рд░ рд╕реБрджреГрдврд╝ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЙрд╕ рдЕрд░реНрде рдореЗрдВ, рдореИрдВ @BrucePay рд╕реЗ рд╕рд╣рдордд

рд╣рдо рдЗрд╕ platyPS рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА PowerShell рд╕рд╣рд╛рдпрддрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ MSFT рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдЪрд╛рд░ рд╕рдВрд╣рд┐рддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╡реЗ рдпрд╛ рддреЛ рдЪреБрдкрдЪрд╛рдк рдЗрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рд╕реБрдзрд╛рд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдпрджреНрдпрдкрд┐ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рд╣рдо рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ @adityapatwardhan рдФрд░ @ SteveL-MSFT рдЕрдкрдиреА рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рд╕рдордпрд░реЗрдЦрд╛ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦреЛрд▓реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдирдИ рдорджрдж RFC рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдпреЛрдЧ рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣реИред

рдореЗрд░рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдзрд┐рдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдлрд▓ рд╣реЛрддрд╛ рджреЗрдЦреВрдВрдЧрд╛ рдФрд░ Msft рд╕реЗ "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдмрди рдЬрд╛рдКрдВрдЧрд╛ред

@iSazonov рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреАрдЬ рд╣реИ рдЬреЛ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реНрдХреАрдорд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз / deserializing рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рднреА рд╕реНрдХреАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдХрдВрдкреНрд▓реАрдЯ рдпрдореНрд▓рд▓ рд╣реИрдВред

рдореИрдВ рд▓рд╛рдЧрдд рдореЗрдВ рдХрдЯреМрддреА рдХреЗ рд▓рд┐рдП рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MSFT рдХреА рдЗрдЪреНрдЫрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ рдХрд┐ MSFT рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

  • рдмрд╣реБрддреЛрдВ рдХреЗ рдкрд╛рд╕ рдмреБрд░рд╛ рдХреЛрдб рд╣реИ, рдХреЛрдИ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рд╣реИ
  • рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ

MSFT рдиреЗ 10 рд╕рд╛рд▓ рдкрд╣рд▓реЗ Powershell рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рднреА рдЕрднреА рддрдХ рдЗрд╕реЗ MSFT рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред
рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬрдмрдХрд┐ рдПрдордПрд╕рдПрдлрдЯреА рдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
MSFT рдиреЗ рдХрдИ рд╣рдЬрд╝рд╛рд░реЛрдВ API рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдпреВрдирд┐рдХреНрд╕ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдереЗ?
рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрдВрдкрдиреА рдиреЗ рдореЛрдиреЛ рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ .Net рдХреЛрд░ рдХреНрдпреЛрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛?
рдкреЙрд╡рд░рд╢реЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡рд░реНрд╖ рдХрд╛ рд╣реИ рдФрд░ рдбреЗрдврд╝ рд╕рд╛рд▓ рдХрд╛ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдореБрджрд╛рдп рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛрдб @markekraus рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рд╣реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ @ mklement0ред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрдзрд┐рдХ рдпреЛрдЧрджрд╛рди рдорд┐рд▓рд╛ред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд▓ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рдПрдЧреАред рдореИрдВ рдЗрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред

@markekraus рдореБрдЭреЗ http://yaml.org/spec/1.2/spec.html#id2802346 :-) рдкрд░ рдмрд╣реБрдд рдЙрдореНрдореАрдж рд╣реИ

@iSazonov 3 рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдорд░реНрдерди, рд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдмрдирд╛рддрд╛ рд╣реИред рдХреБрдЫ 3rd рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реЗ Pester рдПрдХ рд╕рдлрд▓рддрд╛ рдФрд░ рдкрд░рд┐рдкрдХреНрд╡ рдмрди рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдирд╣реАрдВ рдорд╛рди рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рдорд╣рд╛рди YAML рдореЙрдбреНрдпреВрд▓ рдЕрдЧрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рджрдо рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЙрдбреНрдпреВрд▓ рдЙрди рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрдзрд╛рд░ рдХреЛрдб рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЗрд╕ рддрд░рд╣ рд╣рдордиреЗ 2 рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛, рдЬрд┐рдирдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЕрдиреНрдпрдерд╛ рд╡реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдмрд╣рд╛рд╡ рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдмрд╕ рдмрд╛рд╕реА рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдЬрд▓реНрдж рд╣реА рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдзрд┐рдХ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдВрдЧреЗред
рдПрдХ рдЙрдЪрд┐рдд рдкрд╛рд░реНрд╕рд░ рд╣реЛрдиреЗ рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА (рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд) рдЬрдореАрдиреА рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣рдХреАрдо рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВ рдПрдХ YAML рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдвреАрд▓реА рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ VSTS рдпрд╛ AppVeyor рдЬреИрд╕реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЕрдЪреНрдЫреЗ рдкрд╛рд░реНрд╕рд░ рдХреА рдХрдореА рд╣реИ?
рдореБрдЭреЗ VSCode рдореЗрдВ YAML рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдирд┐рд░рд╛рд╢рд╛ рд╣реБрдИ рдФрд░ рдХреЗрд╡рд▓ рдЬрдм рдЗрд╕реЗ VSTS рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рдХрд┐ VSTS рдкрд╛рд░реНрд╕рд░ рдХреЛ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ ...

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдмрд╛рддрдЪреАрдд рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдХреА "рдХреЛрдб рдХреНрдпреВрд░реЗрд╢рди / рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░" рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдорд▓рд╛ рд╣реИред

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

@Bergmeister "рдкрд░рд┐рдкрдХреНрд╡ рд╕рдлрд▓рддрд╛рдУрдВ" рдХреЗ рд╕рдЪреНрдЪреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЕрдХреНрд╕рд░ рдПрдХ рд╕рдХреНрд░рд┐рдп

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ "рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП YAML рд╕рдорд░реНрдерди рд╕рдорд░реНрдерди рдЬреИрд╕рд╛ рд╣реИ - рдпрд╣ рдХреЛрд░ рд╣реИ - рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП => рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕реЛрдиреЗ рдХреЗ рдорд╛рдирдХ рд╣реЛрдиреЗ рдХреЗ рдЗрд░рд╛рджреЗ рд╕реЗ"

1 рдХрд╛ рд╕рдВрдпреЛрдЬрди) 2 рдХреЗ рд╕рд╛рде рдУрдкрди рд╕реЛрд░реНрд╕ рдХреА рдЕрд░реНрдз-рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛) рдпрдорд▓ рдХреА рдХреЛрд░ рдкреНрд░рдХреГрддрд┐ рдЬреЛ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрддреНрдпрдзрд┐рдХ рдкрд╛рд╡рд░рдлреБрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдЖрдЧреНрд░рд╣ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ Microsoft PowerShell Developers рдЙрдирдХреЗ рдХрд╛рдо рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╕рднреА рдЕрдиреНрдп рд╢рд╛рдВрдд рдЪреАрдЬреЛрдВ рд╕реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

рдореБрдЭреЗ рдЧрд▓рдд рдордд рд╕рдордЭреЛ, рдореИрдВ PowerShell рдЯреАрдо рдФрд░ MSFT рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЕрдиреБрднрд╡ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдорд╣рддреНрд╡ рджреЗрддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдЧрд▓рдд рд╣реИ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореБрджреНрд░рд╛рдВрдХрд┐рдд MSFT рдХреЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рднреА рдЕрдВрддрд░рд╛рд▓ рдХреЛ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ ... рдпрд╣ рдХрд░рддрд╛ рд╣реИ рд╕реНрдХреЗрд▓ рдирд╣реАрдВ (рдФрд░ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА DSC рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреА рд╣реИ)ред
рдПрдордПрд╕рдПрдлрдЯреА рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдмрдврд╝рд╛рдиреЗ рд╕реЗ рдмрд╢рд░реНрддреЗ рдореЙрдбреНрдпреВрд▓ рдирд╛рдЬреБрдХ рд╣реИрдВ, рдФрд░ рдЗрд╕рд╕реЗ рди рддреЛ рд╕рдореБрджрд╛рдп рдХреЛ рдмрдврд╝рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ, рди рд╣реА рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ред
рдореИрдВ рдПрдордПрд╕рдПрдлрдЯреА рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдВ рдФрд░ рдкреНрд░рдерд╛рдУрдВ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ, рдЬрдмрдХрд┐ рдЙрди рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдкреИрджрд╛ рди рдХрд░реЗрдВ (рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЧрд┐рд▓рд╣рд░реА ...!)ред
_MSFT рд╕реНрд╡реАрдХреГрдд рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдЕрдиреВрдареЗ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ_ рдПрдХ рдкреБрд░рд╛рдирд╛ рдореЙрдбрд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдореБрджрд╛рдп рдХреЛ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдпрд╛рдиреА _I рдореИрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрдБрдЧрд╛, рдпрд╛ Microsoft рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП moan рдХрд░реВрдБрдЧрд╛) OSS рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд░рд╡реИрдпрд╛)ред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЦрд░реЛрдВрдЪ рд╕реЗ рдкреАрдПрд╕ рдЯреАрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдпрдорд░реНрд▓ рд╕рдорд░реНрдерди рдХреЛрд░ рд╣реИ, рдХреНрдпреЛрдВ рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдореМрдЬреВрджрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА рдЬрд╛рдП, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрдирд╕реЗ рд╕реБрдирд╛ рдЬрд╛рдП рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред рдХреЛрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдкреАрдПрд╕ рдЯреАрдо рд╕реЗ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖реБрддрд╛ / рд╕рд▓рд╛рд╣ рдХреА рддрд░рд╣ рдПрдХ рд╕рд╛ред
рдмрд╕ рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдПрдХ YAML рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ PS рдЯреАрдо рдХреЗ рд▓рд┐рдП рдПрдХ _easy_ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд╛рд░реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡рддрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдФрд░ рди рд╣реА рд╕рд╣реА рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рджреЗрдЧрд╛ред
рдпрдорд▓ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдорд▓ рд░рдгрдиреАрддрд┐рдХ рдЖрдЗрдЯрдо рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ MSFT рдХреА рдХреЙрд▓ рд╣реИ :)

@bergmeister

рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ YAML рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдкреЗрд╢ рдХрд░рддрд╛ рд╣реВрдБред рдореИрдВ рдЗрд╕ рдкрд░ рдХреБрдЫ рд╢реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖ рдерд╛ рдЬрдм рдореИрдВ рдХреБрдЫ AppVeyor рдХреЛ рд╕реЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬреИрд╕реЗ рдХрд┐ yaml рдЕрдкрдиреЗ рдлреНрд░реЗрдВрдХреЗрди-рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рджрд░реНрдЬрди рдпрд╛ рддреЛ рд╕реА # рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ YAML рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд░рд╣реА рдереАрдВред рдЪреВрдВрдХрд┐ PowerShell рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ YamlDotNet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдорд╛рди рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдХрдо рд╕реЗ рдХрдо PSYaml рдФрд░ рдкрд╛рд╡рд░рд╢реЗрд▓-рдпрдо рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХреБрдЫ PowerShell рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рдХрдо рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдЬреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рдПрдХ YAML рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдвреАрд▓реА рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ VSTS рдпрд╛ AppVeyor рдЬреИрд╕реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЕрдЪреНрдЫреЗ рдкрд╛рд░реНрд╕рд░ рдХреА рдХрдореА рд╣реИ?

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдорд╢реАрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдардиреАрдп рд╣реЛрдиреЗ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЦрд░реНрдЪ рдкрд░ рдпрд╣ рдордиреБрд╖реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрдардиреАрдп рд╣реЛрдиреЗ рд╡рд╛рд▓реА YAML рдХреА рдкреНрд░рдХреГрддрд┐ рд╣реИред рдпрд╣ рдкрдардиреАрдпрддрд╛-рдкрд╣рд▓рд╛ рдкреНрд░рддрд┐рдорд╛рди рдЙрд╕ рддрд░рд╣ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ YAML рд▓реЗрдЦрдХ рдЕрдкрдиреА YAML рдлрд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд░рд┐рдгрд╛рдореА YAML, YAML рдХрд▓реНрдкрдирд╛ рдХреЗ рддрд╣рдд рдЖрдЬреНрдЮрд╛рдХрд╛рд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рджреВрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдордзреНрдпрд╕реНрде рдХреЗ рд░реВрдк рдореЗрдВ deserialized рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЛрдб рдореЗрдВ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реЛред

рдХрд╣рдиреЗ рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдпрд╣ рд╣реИ, рдХрд┐ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП YAML рд╕реЗ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ 90% рдбрд┐рд╕реЗрд░рд▓рд╛рдЗрдЬреЗрд╢рди рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди / рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╣реИред рдЕрдиреНрдп 10% рд╕рдордп _is_ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ "YAML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЖрджрдореА рдХреЛ рдЪрд╛рдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред" рд╣рд╛рд▓рд╛рдБрдХрд┐, deserialized рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдХреНрд╕рд░ regex-ing рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ ...ред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, AppVeyor.yml рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд╛рд░

environment:
  my_var1: value1
  my_var2: value2
  my_secure_var1:
    secure: FW3tJ3fMncxvs58/ifSP7w==

powershell-yaml рдФрд░ YamlDotNet рдПрдХ рд╡рд╕реНрддреБ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрд░реНрдХ рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реМрднрд╛рдЧреНрдп рд╣реИред рдПрдХ рдмрд╛рд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рддрд░реНрдХ рд╣реИ, рдЗрд╕ рд╕реНрдХреАрдорд╛ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдЗрдиреНрд╣реАрдВ рдбреЗрдЯрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ JSON рдХреЛ рдкреНрд▓реЗрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ (рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдФрд░ рд░рд╛рдп рдореЗрдВ) рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдЬреЛ JSON рдХреЗ рдЕрдзрд┐рдХ рдХрдареЛрд░ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рдЙрди рдХрдорд┐рдпреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рд╕реА рднреА YAML рдбреАрд░рд╛рдЗрд▓рд╛рдЗрдЬрд╝рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдФрд░ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдВрднрд╡ рд╣реИред

рджреА рдЧрдИ, рдореЙрдбрд▓ JSON cmdlets рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЕрдЧрд░ рдореИрдВ "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" YAML рдореЙрдбреНрдпреВрд▓ / cmdlets рдореЗрдВ рдХрд╣рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ "рдЖрд╡рд╢реНрдпрдХ" рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдиреАрдЪреЗ рд░рдЦреВрдВрдЧрд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ v5 рдореЗрдВ рдкреЙрд╡рд░рд╢реЗрд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреВрдЯрд╛ рд╣реБрдЖ рдЕрд╡рд╕рд░ рд╣реИред

IMO, рдмрд╕ рдПрдХ рд╡рд╕реНрддреБ рдореЗрдВ YAML рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрд╕рд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рд╕рдордп рдХрд╛ 90%)ред рдЪрд╛рд▓ _useful_ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ YAML рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реА рд╣реИред рд╕рдорд╛рдзрд╛рди рд╕реЗ рдХреБрдЫ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЙрд╕ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рднреА рдХреБрдЫ рд╣рдж рддрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдкрдХреЛ рдХреНрд░рдорд┐рдХ рд╕рд▓рд╛рд╣ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП @lzybkr рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ ...ред

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

@gaelcolas

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

рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдкреВрдЫреЗрдВ рдХрд┐ MSFT рдиреЗ рдХреНрдпреЛрдВ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдХрдИ рд╕рд╛рд▓реЛрдВ рдмрд╛рдж рдореЛрдиреЛ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп .Net рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯред

MSFT рдПрдХ рд╕рдореБрджрд╛рдп рднреА рд╣реИред рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдореБрджрд╛рдп рдХреЛ рдЕрдиреНрдп рд╕рдореБрджрд╛рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреА рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред

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

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

рдПрдХ рдЕрдиреНрдп рдореЙрдбрд▓ рд╣рдореЗрд╢рд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ / рдЕрдиреБрдмрдВрдз / рджреВрд╕рд░рд╛ред рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рджрд╕реНрдпреЛрдВ / рдлрд░реНрдореЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╢рд░реНрддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рдПрдордПрд╕рдПрдлрдЯреА рдХреЗ рдиреЗрддреГрддреНрд╡ рд╡рд╛рд▓реЗ / рд╕реБрдЧрдо рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реЗрд╡рд╛рдУрдВ рдХреА рднрд░реНрддреА рдХреЗ рд▓рд┐рдП рдкреБрди: vamp рдФрд░ (рдХреБрдЫ рдлреИрд╢рди рдореЗрдВ) рдЙрддреНрдкрд╛рдж рдХреЛ рдПрдХреАрдХреГрдд / рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдВред ред рдпрд╣ рдЬрд╝рд╛рдорд░реАрди рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдиреЗрдЯ рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЛ рд▓рд╛рдд рдорд╛рд░реА, рдЗрд╕реЗ рдПрдордЖрдИрдЯреА рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рджрд┐рдпрд╛, рдФрд░ рдЬрд╝рд╛рдорд░реАрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд┐рдЧреБрдПрд▓ рдбреА рдЗрдХрдЬрд╛ рдФрд░ рдиреЗрдЯ рдлреНрд░реАрдбрдореИрди рдЬреИрд╕реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рднрд░реНрддреА / рдЕрдиреБрдмрдВрдзрд┐рдд / рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред рдХреБрдЫ рд▓реЛрдЧ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рджреЗрд╢рджреНрд░реЛрд╣ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдЧреЛрдВ рдФрд░ рдЫреЛрдЯреА рдлрд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдмрд╛рдж рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЧреЛрдж рд▓реЗрдиреЗ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреНрд░рдореБрдЦ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдлрд┐рдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдЗрди-рд╣рд╛рдЙрд╕ рд░реАрдбреЛ рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд╕реНрд▓реЗрдЯ рдкрд░ рд╕реАрдзреЗ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рдВрдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдХрдИ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреЛ рдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ (рдУрд╕реНрдЯреЗрдиреНрд╕рд┐рдХ рд░реВрдк рд╕реЗ) рдХреЛрдбред

@iSazonov рджреЗрд░ рд╕реЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдирд╣реАрдВ platyPS yaml parser рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ: рдпрд╣ рдХреЗрд╡рд▓ рдкреНрд░рдореБрдЦ рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╣рдо рдпрдорд▓ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрдорд▓рдбреЙрдЯрдиреЗрдЯ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдХреЛрд░ рдлреАрдЪрд░ рд╕реЗрдЯ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдиреЗ рдХреА рдУрд░ рднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдкрд╛рд╡рд░рдмреЗрд▓ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ, рдХрд╣рддреЗ рд╣реИрдВ, рд░реВрдмреА, рдкрд╛рдпрдерди рдпрд╛ рдиреЛрдб.рдЬреЗрдПрд╕ред

рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рд╖рд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг (рдмрдВрдбрд▓рд░, рдкрд╛рдЗрдк, рдПрдирдкреАрдПрдо / рдпрд╛рд░реНрди) рд╣реИрдВ рдЬреЛ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВред рдПрдХ Gemfile/Gemfile.lock рдпрд╛ package.json/package-lock.json [,yarn.lock] рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛрдирд╛ рдЬреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреА рдЖрд╕рд╛рди рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдЪ рд╕реНрддрд░ рдкрд░ рд░рд╣ рд░рд╣реЗ рд╣реИрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ рдЬреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕ рдореМрд▓рд┐рдХ рд╕рдВрднрд╡ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдмрдирд╛рддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Nuget рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрднреА рднреА PowerShell рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рд░рдгрдиреАрддрд┐рдпреЛрдВ / рдкреИрдЯрд░реНрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рд▓реЗрдЦ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдЧреИрд▓рд░реА рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд┐рд╕реА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖рдореНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ _may_ рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ: https://docs.microsoft.com/en-us/powershell/wmf/5.0/psget_moduled dependency

@bgshacklett рдПрдХ рд╕реБрдкрд░ рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ рдмрдирд╛рддрд╛ рд╣реИред

@ chuanjiao10 - рдХреГрдкрдпрд╛ рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрдИ рдореБрджреНрджреЛрдВ рдкрд░ рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХреЗрдВ, рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдЙрдиреНрд╣реЗрдВ Microsoft.PowerShell.Utility рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ PowerShellGallery рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд┐рдк рдХрд░реЗрдВред

рдЬрдм рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм XML рдпрд╛ JSON рдЬреИрд╕рд╛ рд╣реИ?

рд╡рд░реНрддрдорд╛рди рд╕реЛрдЪ рдпрд╣ рд╣реИ рдХрд┐ YAML рдХреЛ PowerShell рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмреЗрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рдЖрдк PowerShell рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдиреЗ рдмрд┐рдирд╛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ YAML рдХреЛ XML рдХреА рддрд░рд╣ рдкрд╛рд╡рд░рд╢реЗрд▓ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ (рд╕реЛрдЪреЗрдВ [xml] "b")

рдпрджрд┐ рд╣рдо JSON рдорд╛рд░реНрдЧ рдкрд░ рдЧрдП, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ YAML рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cmdlets рд╣реЛрдВрдЧреЗ - рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ PowerShell рдореЗрдВ рдмреЗрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ YAML рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PowerShell рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдХрдорд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╣ whilst рдпрд╣ рдЗрдирдмреЙрдХреНрд╕ рдореЗрдВ "рд╕рд╣реА" рдЪреАрдЬрд╝ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реИ

@lzybkr рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХрд╣рд╛ рдХрд┐ рд╣рдо рдПрдХ рдирдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд╣реАрдВ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ

рд╢рд╛рдпрдж 6.0 рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рд╢рд┐рдкрд┐рдВрдЧ рдЬреНрдпрд╛рджрд╛ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдмреЗрд╣рддрд░ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ IMO рдпрд╣ рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо PowerShell рдХреА рдЯреАрдо рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХрд╛рдо рдЕрдзрд┐рдХ рд╕рдореБрджрд╛рдп PowerShell рдЯреАрдо рдХреА рдорджрдж рд╕реЗ рдЗрд╕ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдлрд┐рд░ @ chuanjiao10 рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ # 2109 рдореЗрдВ YAML Cmdlets рдХреЛ PowerShell Core рдореЗрдВ рди рдбрд╛рд▓рд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдареБрдХрд░рд╛ рджрд┐рдпрд╛ рдЬрд╛рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рднреА рдЕрдм рдареБрдХрд░рд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдПрдХрддрд╛ рдореЗрдВ рдмрд▓ рд╣реИред рдПрдХ рдЕрдореЗрд░рд┐рдХреА рдЬрд┐рд╕реЗ рдПрдХ рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЙрд╕реЗ рд╡реЙрд▓-рдорд╛рд░реНрдЯ рдХреЛ рдкрд╣рд┐рдпрд╛ рдЦрд░реАрджрдиреЗ, рдЕрдореЗрдЬрд╝реЕрди рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЬрди рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ hisself (diy a car) рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрд╛ рд╣реИ?

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╕рд╛рджреГрд╢реНрдп рд╣реИ, рдХрд╛рд░ рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЙрддреНрдкрд╛рдж рдореЗрдВ рдкреИрдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд PowerShell рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ рдЬреЛ рддрдм рдорд┐рд╢реНрд░рд┐рдд рдФрд░ рдорд┐рд▓рд╛рди рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛

рдЗрд╕ рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

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

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП # 1979 рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдиреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХрд░рдиреЗ рдХреА рд╡рдХрд╛рд▓рдд рдХреА рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ PowerShell Core рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рджреБрдмрд▓рд╛ рд╣реЛ рдЬреЛ рдХрд┐ # 5681 рдореЗрдВ рдЖрдЧреЗ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдФрд░ рдлрд┐рд░ рд╕реЗ

YAML рдХреЗ рдЦрд┐рд▓рд╛рдл рднреЗрджрднрд╛рд╡ рдордд рдХрд░реЛ, JSON рдХреА рдЪрд╛рдкрд▓реВрд╕реА рдордд рдХрд░реЛред

рдореИрдВ рдпрдорд▓ рдХреЗ рд╕рд╛рде рднреЗрджрднрд╛рд╡ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рди рд╣реА рдЬрд╕рди рдХреА рдЪрд╛рдкрд▓реВрд╕реА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рдореЗрдВ рдЙрдирдХреА рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХреЗ рдкрд╛рд╕ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдореИрдВ рдкрд╛рд╡рд░рд╢реЗрд▓ рдореЗрдВ рдЬреЛрдВрд╕ cmdlets рдХреЛ рд╢рд┐рдкрд┐рдВрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рддреЛ рдореИрдВ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдЬреИрд╕рд╛ рдореИрдВ рдпрд╣рд╛рдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рдкрд▓рдЯрдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХреНрдпрд╛ рдореБрдЦреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ YAML рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реЛрдЧреА рдФрд░ рдХреНрдпреЛрдВ PowerShell рдЧреИрд▓рд░реА рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдиреЗ рдХрд╣рд╛ рдХрд┐ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИ? рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛-рд╕рдВрдЪрд╛рд▓рд┐рдд рдЪрд░реНрдЪрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╣рд╛рде рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред

рдореЗрд░рд╛ рдкреНрд░рд╛рдердорд┐рдХ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рджреЛрдиреЛрдВ рдХреЗ рдирдВрдЧреЗ рдзрд╛рддреБ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╣реИред рдХрдо рд╕реЗ рдХрдо рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдПрдХ YAML рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдиреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ред
рдЕрдХреНрд╕рд░ рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА, рдЧреИрд░-SLAed рдкрд░ рдирд┐рд░реНрднрд░рддрд╛, рд╕реЗрд╡рд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЙрддреНрдкрд╛рджрди рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрд┐ рд╢рдмреНрджрд╛рдбрдВрдмрд░ рдХреЛрд░ рдХреЗ рд╕рдмрд╕реЗ рдореМрд▓рд┐рдХ рдкрджрдЪрд┐рд╣реНрди рдореЗрдВ рд╢рд┐рдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред

рдореИрдВ рдЬреАрд╡рдВрдд рдЪрд░реНрдЪрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЖрдЗрдП рдЗрд╕реЗ рдирд╛рдЧрд░рд┐рдХ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ :)

@ рдкрд╛рд╡рд░рд╢реЗрд▓ / рдкрд╛рд╡рд░рд╢реЗрд▓-рд╕рдорд┐рддрд┐ рдиреЗ рдЗрд╕ рдкрд░ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рдереАред рд╣рдо рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ YAML рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдЖрдЬ рдХреИрд╕реЗ рдкреНрд░рдЪрд▓рд┐рдд рд╣реИред рд╣рдо рдРрд╕реЗ рдФрд░ рднреА рдореЙрдбреНрдпреВрд▓ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ PSCore6 рдореЗрдВ рд╢рд┐рдк рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк PSCore6 рдХреА рдПрдХ рдиреНрдпреВрдирддрдо рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЛ рдЬреЛ рдХреБрдЫ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЙрд╕реЗ рдЬреЛрдбрд╝ рджреЗрдВ (рдореЗрдЯрд╛рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ 10+ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рд┐рд░реНрдл DevOps , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП)ред рдЗрд╕рд▓рд┐рдП YAML рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╡рд░реНрддрдорд╛рди рд╕реЛрдЪ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдореИрдВ PowerShell org рдХреЗ рддрд╣рдд рдПрдХ рд░реЗрдкреЛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдХреЛрдИ рднреА рдЗрд╕ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рддреЛ рдореЗрд░реА рдЯреАрдо рдореЗрдВ рдЕрднреА рдмреИрдВрдбрд╡рд┐рдбреНрде рдирд╣реАрдВ рд╣реИ)ред рдпрдорд▓рдбреЙрдЯрдиреЗрдЯ (рдпрд╛ рдЕрдиреНрдп 3 рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдмрд╛рд░ рдПрдХ рддрдХрдиреАрдХ, рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ, рд╕рдорд░реНрдерди рдмрд┐рдВрджреБ рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИ (рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╣рдо Json.Net рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреИрд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рд╣рдордиреЗ YAML рдФрд░ YamlDotNet рдХреЛ рджреЗрдЦрд╛, рддреЛ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ YAML рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрдирддрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдиреЗ рдЙрд╕ рд╕рдм рдХреБрдЫ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬреЛ рд╡рд╣рд╛рдБ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рд▓реЛрдХрдкреНрд░рд┐рдп рднреА рд╣реИрдВ)ред

рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ YAML рдХрд╛ рд╕рдорд░реНрдерди рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЯреАрдо рдХреЛ 6.2 рд░рд┐рд▓реАрдЬ рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдФрд░ https://github.com/dotnet/corefx/issues/454578 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

in.my рд░рд╛рдп рд╣реИ рдХрд┐ рдХрдиреНрд╡рд░реНрдЯрдлреНрд░реЙрдо-рдЬреЛрдВрд╕, рдХрдиреНрд╡рд░реНрдЯрдлреНрд░реЙрдо-рдЬреИрдорд▓ рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рд╣реИ, рдпрд╛ рддреЛ рдмрд╛рд╣рд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдпрд╛ рдЕрдВрджрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдмрд╛рдд рдХреА рд╡рдХрд╛рд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ JSON cmdlets рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рдлреА рдХреБрдЫ рдмрджрд▓рд╛рд╡ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рд╕реЗ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдХрд╛рдлреА рд╣рдж рддрдХ рдЯреВрдЯрдиреЗ рд╡рд╛рд▓реЗ рдмрджрд▓рд╛рд╡ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ cmdlets PowerShell рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдиреЗ рд╕реЗ рд╣рдореЗрдВ cmdlets рдореЙрдбреНрдпреВрд▓ рдХреЗ рдПрдХ рдирдП рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рдФрд░ рдПрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде PowerShell рдЬрд╣рд╛рдЬ рд╣реИ рдЬреЛ рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрджрд┐ рд╡реЗ рдЪрд╛рд╣реЗрдВ рддреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ .... рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╣реИ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдкрд░реЗрд╢рд╛рдиреА, IMOред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо JSON рдФрд░ Pester рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рд╕реАрдЦрддреЗ рд╣реИрдВ, рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ YAML рдХреЗ рд╕рд╛рде рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдореБрджрд╛рдп рдФрд░ рдкреАрдПрд╕ рдЯреАрдо рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд╡рд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред JSON Cmdlets рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рддрд╣ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдкрд░ рдХрдард┐рди рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдореМрдЬреВрдж рд╣реИрдВред

рд▓реЗрдХрд┐рди yaml рд╕рд┐рд╕реНрдЯрдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ yaml рдХрдорд╛рдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ PowerShell рдХреЗ рднреАрддрд░ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдХреЛрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдмрдВрдзреЗ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╕рдорд░реНрдерди рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ @ рд╕реНрдЯреАрд╡-рдПрдордПрд╕рдПрдлрдЯреА рдХрд╛ рд╡рд┐рдЪрд╛рд░ DevOps рдореЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреБрд▓ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдкреНрд░рдмрдВрдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдПрдХ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдЬреЛ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рддрдХрдиреАрдХреА рд╕реНрдЯреИрдХреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдкрд░ рд╣реВрдВ рдФрд░ рдЕрднрд┐рд╖реЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ yaml cmletlets рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдБ?

рдЬрдмрдХрд┐ @ chuanjiao10 рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд yml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдирдХреНрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рдордЧреНрд░ рдкреЙрд╡рд░рд╢реЗрд▓ рдЙрдкрдпреЛрдЧ рдХреА рдореЗрд░реА рд╕рдордЭ рд╕реЗ рдЕрднреА рднреА рдХрд╛рдлреА рд╣рдж рддрдХ рдкреЙрд╡рд░рд╢реЗрд▓ 5.1 рд╕реЗ рдЪрд┐рдкрдХ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЗрдирдмреЙрдХреНрд╕ рд╣реИред рдФрд░ рдпрдорд▓ cmdlets рдХреЛ рдмрдВрдбрд▓ рдХрд░рддреЗ рд╣реБрдП рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдВрдбрд▓ рдЖрдЗрдЯрдо рдХреА рддрд░рд╣ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рджреЛрдиреЛрдВ рд╕реЗрдЯреЛрдВ рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╣реА рдЕрд░реНрде рджреЗрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рджреЛрдиреЛрдВ рд╕реЗрдЯреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдХреНрдпрд╛ рдХреЛрдИ рд╣реИ рдЬреЛ рдПрдХ рдорд╛рд▓рд┐рдХ рдмрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдЗрди cmdlets рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣реИ?

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

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА рдХреЛ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ - https://snyk.io/vuln/SNYK-DOTNET-YAMLDOTNET-60255 рдЬреЛ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рднрд░реЛрд╕рд╛ рдХрдо рд╣реБрдЖ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Corefx рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд┐рд▓реНрдЯ-рдЗрди YAML рд╕рдкреЛрд░реНрдЯ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд▓реЗ рд░рд╣рд╛ рд╣реИред

CoreFX рдЯреАрдо рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддреА рд╣реИред рдпрджрд┐ PowerShell рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╣реЗрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рд╡реЗ API рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

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

рдУрд╣, рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрддрд╛ рд╣реИ - рдкреЗрд╕реНрдЯрд░ред рдФрд░ рдореИрдВ рдпрд╛рдореНрд▓ рд╕рдореБрджрд╛рдп рд╕рдВрдЪрд╛рд▓рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ - рдпрд╣ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ?
рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореБрдЭреЗ рд░реЛрдХ рджрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдЙрд╕ рд╕реНрддрд░ рдХреА рдЧреБрдгрд╡рддреНрддрд╛, рдЕрдиреБрдкрд╛рд▓рди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рдЬреЛ рдПрдордПрд╕рдПрдлрдЯреА рдХреЛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ MSFT рд╕реБрд░рдХреНрд╖рд╛ рдСрдбрд┐рдЯ рдХреЗ рдмрд┐рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрднреА рднреА рднрд░реЛрд╕рд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИред MSFT GitHub Core Core рдФрд░ PowerShell рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ "MSFT рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ" рдФрд░ "MSFT рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд" рд╣реИрдВред рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ "MSFT рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡", "рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд" рдФрд░ "MSFT рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦрд┐рдд" рд╣реЛ рд╕рдХрддрд╛ рд╣реИред "рд╕рд▓рд╛рд╣" рдХреЗ рддрд╣рдд рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╣рд╛рдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ред

Microsoft рдХреЛ PowerShell Core рдХреЗ рд▓рд┐рдП YAML рд╕рдкреЛрд░реНрдЯ рдЗрди-рдмреЙрдХреНрд╕ рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рд╛рджрд╛ рдФрд░ рд╕рд░рд▓ред

@brettjacobson рд╣рд╛рдВ, рдпрд╣ рд╕рд╛рджрд╛, рд╕рд░рд▓ рдФрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди MSFT рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдЗрддрдиреЗ рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ? :-)

@brettjacobson - Microsoft рдХреЛ

рдпрд╣ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реИ рдЬреЛ рдХрдИ want рдФрд░ рдЕрдВрддрддрдГ use рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг need рдФрд░ рдЗрд╕рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП _unlikely_ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ "рд╕реНрдЯреАрд╡-рдПрдордПрд╕рдПрдлрдЯреА" рд╣реИ рдЬрдм рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╣реЗ рддреЛ рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛

рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ YAML рдХрд╛ рд╕рдорд░реНрдерди рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЯреАрдо рдХреЛ 6.2 рд░рд┐рд▓реАрдЬ рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

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

CoreFX рдЯреАрдо рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддреА рд╣реИред рдпрджрд┐ PowerShell рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╣реЗрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рд╡реЗ API рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

@iSazonov IMHO

рддреЛ рдХреНрдпрд╛ рдЖрдк рдПрдХ "рдорд╣рд╛рди" рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЬреЗрдореНрд╕ рдиреНрдпреВрдЯрди-рдХрд┐рдВрдЧ рд╕реЗ Newtonsoft.Yaml рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗ? :-)

@NextTurn рд╣рдо .Net Core 3.0 рдореЗрдВ рдирдпрд╛ Json (рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ (Newton.Json рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рддреЗрдЬрд╝) рдФрд░ рдмрд╣реБрдд рд▓рдЪреАрд▓рд╛) рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рдпрджрд┐ рд╕рдореБрджрд╛рдп рд╕реЗ рдорд╣рд╛рди рдЕрдиреБрд░реЛрдз рд╣реИ рддреЛ CoreFX рдЯреАрдо рд╣рдореЗрд╢рд╛ рдирдпрд╛ рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝ рд╕рдХрддреА рд╣реИред рдЕрдЧрд░ рд╡рд╣рд╛рдБ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ YAML рд╡реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рд╕реЗ рд▓рд╛рдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдХреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдирдпрд╛ pwsh рдкреНрд░рдгрд╛рд▓реА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ? рдореИрдВ Install-Module -Name powershell-yaml рдХрд░рддрд╛ рд╣реВрдВред

рдореЛрдВрдЧреЛ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕, рдЗрд╕реНрддрд┐рдпреЛ, рдЕрдиреНрд╕рд┐рдмрд▓, рдЗрд╕реЗ рдирд╛рдо рджреЗрдВ - рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпреЗ рд╕рднреА YAML рд╣реИрдВ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ YAML рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рд╣реИрдВред pwsh DevOps рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рд╡реЗ YAML рдмреЛрд▓рддреЗ рд╣реИрдВред

@ dzmitry-lahoda рдЬрд╛рд░реА # 5681 рдореЗрдВ PowerShell рдХрд╛ рдПрдХ 'рд╕рдореГрджреНрдз' рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реЗ рдХрд┐ Pester , рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдХреГрдкрдпрд╛ рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз 2 рдпрдореНрд▓ рдореЙрдбреНрдпреВрд▓реЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЬреЗрддрд╛ рдФрд░ рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдкрд╕рдВрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдкрд╕рдВрджреАрджрд╛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдард┐рди рдирд┐рд░реНрдгрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ YAML рджреЗрдЦрддрд╛ рд╣реВрдВ :(
image

Pester , рдпреЗред рдЕрдкрдиреЗ pwsh рдХрдВрдЯреЗрдирд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП YAML рд░реАрдбрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореЗрдирд▓рд╛рдЗрди рдореЗрдВ BDD рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рднрд╛рд░реА рдХрд░рдирд╛ред

рдХреНрдпрд╛ рдпрд╣ рдзрд╛рдЧрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИред Microsoft рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд (рдпрд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛) рдореЙрдбреНрдпреВрд▓ рдХреНрдпрд╛ рд╣реИ?
DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди yaml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдореЗрд░реЗ рд╕рднреА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрд╡рдЪрд╛рд▓рди рдХреЛ рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓рдЧрддрд╛ рд╣реИ рдпрдо рдФрд░ рд╢рдХреНрддрд┐рдпрд╛рдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдЦреЗрд▓рддреА рд╣реИрдВред рдХреНрдпрд╛ Azure DevOps рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░рд╢реЗрд▓ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ?
рдореЗрд░реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЙрдкрдпреЛрдЧ / рдирд╡рд╛рдЪрд╛рд░ рдкрд░ рдзреНрдпрд╛рди рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рджрд┐рд╢рд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж!

@dirkslab рдЖрдк https://github.com/cloudbase/powershell-yaml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

GitHub
YAML рдкреНрд░рд╛рд░реВрдк рд╣реЗрд░рдлреЗрд░ рдХреЗ рд▓рд┐рдП PowerShell CmdLetsред GitHub рдкрд░ рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдХрд░ рдХреНрд▓рд╛рдЙрдбрдмреЗрд╕ / рдкрд╛рд╡рд░рд╢реЗрд▓-рдпрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░реЗрдВред

рдзрдиреНрдпрд╡рд╛рдж @iSazonov , рд╡рд╣ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЗрд╕ рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдм рддрдХ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╢рд╛рдпрдж рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреЙрд╡рд░рд╢реЗрд▓-рдпрдорд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЛ рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдореЙрдбреНрдпреВрд▓ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреВрдЭ рд░рд╣рд╛ рд╣реВрдВред Microsoft yaml рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИред Microsoft (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдереНрд░реЗрдб) 3 рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк yaml config рдХреЛ рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХреЗрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдпрд╛ рдЕрдиреБрд╢рдВрд╕рд╛ рди рдХрд░реЗрдВред рдЖрдк рдХреИрд╕реЗ рд╕рдордЭрд╛рддреЗ рд╣реИрдВ рдХрд┐ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдЙрджреНрдпрдо рдХреЗ рд▓рд┐рдПред
рдореЗрд░рд╛ рдЕрдм рддрдХ рдХрд╛ рдЕрдиреБрднрд╡ рд╣рдореЗрд╢рд╛ рд╕реЗ рдпрд╣реА рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк Microsoft рд╕рдорд░реНрдерд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП Microsoft рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдпрд╛ рд╕рдордЭ рдХреЛ рдореНрдпреВрдЯ рдХрд░ рджреЗрдЧрд╛ (рдпрджрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╣рд┐рд╕реНрд╕рд╛ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ) рдорд╛рддреНрд░ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЕрд╕рдорд░реНрдерд┐рдд рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЖрдорддреМрд░ рдкрд░ рдХреЛрдИ рд╕рдорд░реНрдерди / рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдУрдкрдирд╕реЛрд░реНрд╕ рдпреБрдЧ рдореЗрдВ рдЪреАрдЬреЗрдВ рдмрджрд▓ рдЧрдИ рд╣реЛрдВред Microsoft рдХреА рд╕рд░рд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдореБрдЭреЗ рд╕рд╣рдЬрддрд╛ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдореБрдЭреЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреАред рд╕рд╛рджрд░ред

@dirkslab рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛

CoreFX рдЯреАрдо рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддреА рд╣реИ

рд╕реНрдкрд╖реНрдЯ рд▓рд╛рдн рд╕реЗ рджреЗрдЦреЗрдВ рдХрд┐ yaml рдЖрдЬ рд╣рдорд╛рд░реЗ рдЪрд╛рд░реЛрдВ рдУрд░ CI / CD рдореЗрдВ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛, ConvertTo-Yaml рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рдорд╛рдирд╡ рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ nast рд╣реИрд╢рдЯреЗрдмрд▓ рдХрд╛ ConvertTo-Json рд╡рд┐рдкрд░реАрдд, рдЬрд┐рд╕рдХрд╛ рд╣рдореЗрдВ рдЕрднреА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдмрд╣реБрдд рдкрдардиреАрдп рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдмреАрдЪ рдореЗрдВ рд░рд╛рдЗрдЯ-рд╣реИрд╢рдЯреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдУрдЯреАрдмреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдореИрдВ рдпрдорд▓ рд╕реЗ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рд╕реЗ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдордПрд╕ рдЯреАрдо рдХреЗ рд▓рд╛рдпрдХ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:

  1. рдпрд╣ CI рдХреА рдбрд┐рдлрд╝реИрдХреНрдЯреЛ рднрд╛рд╖рд╛ рдмрди рдЧрдИ рд╣реИ: docker-compose.yaml, ansible, kuber, k8s, github, Circle, azure, ... рдФрд░ рдпрд╣ CI рд╕реЗ рдХреНрд░реЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
$config = Invoke-WebRequest https://$ciserver/api/projects/$project/config.yaml | ConvertFrom-Yaml
$config['started'] = Get-Date
$config['options'] = $options
Invoke-WebRequest -Method Post https://$ciserver/api/projects/$project/build -Body ($config | ConvertTo-Yaml)

рдорд╣рд╛рд╢рдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЬрд╣рд╛рдЬ рдХреЗ рд╣реЛрдиреЗ рд╕реЗ рд╕реАрдЖрдИ рд╕рдореВрд╣реЛрдВ рдХреЛ рдЗрдВрдЬреАрд▓ рдХрд░рдиреЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛рд░реА рд╣реЛрдЧрд╛ред
"рдЕрдЧрд░ рд╣рдо рдПрдордПрд╕ рдкрд╛рд╡рд░рд╢реЗрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ" -> "рдореБрдЭреЗ рдФрд░ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?"
рдмрдирд╛рдо
"рдЕрдЧрд░ рд╣рдо ms рдХреЗ рд╢рдХреНрддрд┐рдпреЙ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЧреИрд▓рд░реА рд╕реЗ рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ" -> "рдирд╣реАрдВ"

  1. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмрд╛рдп-рдмрд╛рдп рд╣реИ, рд▓реЗрдХрд┐рди yaml json рдХрд╛ рдПрдХ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ json yaml рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╣реИ, рдПрдХ рдХреБрд╢рд▓ yaml parser рдПрдХ рдХреБрд╢рд▓ json рдкрд╛рд░реНрд╕рд░ рд╣реИ,

рдХреНрдпрд╛ рдпрд╣ 7.1 рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рднреА рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдореЙрдбреНрдпреВрд▓ рдФрд░ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП DevsOpsy рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ PowerShell рдХреЗ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

IMHO, YAML JSON рдФрд░ CSV рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдФрд░ PowerShell рдореЗрдВ YAML рдХреЗ рд▓рд┐рдП рдЗрдирдмреЙрдХреНрд╕ рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдирд╣реАрдВ рд╣реЛрдирд╛ рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИред рдЗрдирдмреЙрдХреНрд╕ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж YAML рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЙрдирдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ JSON рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛ, рдЬреЛ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдЧрд▓рдд рдордд рд╕рдордЭреЛ - рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЛрдЧ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреБрдирд┐рдпрд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ, YAML рд░реВрдкрд╛рдВрддрд░рдг рддрд╛рд▓рд┐рдХрд╛ рджрд╛рдВрд╡ рд╣реИ - рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЛ JSON рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП 3-рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rkeithhill picture rkeithhill  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ/рдкрд╛рд╕рд┐рдВрдЧ: рдЧреИрд░-рдЙрджреНрдзреГрдд рдЯреЛрдХрди рдЬреЛ рдХреЛрд▓рди рдХреЗ рд╕рд╛рде рдирд╛рдорд┐рдд рддрд░реНрдХреЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рднрд╛рдЬрдХ рджреЛ рдореЗрдВ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ $Args / @Args рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
mklement0 picture mklement0  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mklement0 picture mklement0  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pcgeek86 picture pcgeek86  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pcgeek86 picture pcgeek86  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ