Powershell рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрдХреНрд╖рд╛ 7-9 рдорд╛ рд╕реНрдХреВрд▓рдХрд╛ рдмрдЪреНрдЪрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд░рд▓ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯ

рдПрдХ рд╕рд╛рдереАрд╕рдБрдЧ рдХреБрд░рд╛рдХрд╛рдиреАрдХреЛ рдХреНрд░рдордорд╛, рдореИрд▓реЗ рдЕрдЪрд╛рдирдХ рдерд╛рд╣рд╛ рдкрд╛рдПрдБ рдХрд┐ рдЙрдиреАрд╣рд░реВрдХреЛ рд╕реНрдХреВрд▓рдорд╛ рдХрдХреНрд╖рд╛ 8-10 рд╕рдореНрдордХрд╛ рдмрдЪреНрдЪрд╛рд╣рд░реВрд▓рд╛рдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рд╕рд┐рдХрд╛рдЗрдБрджреИрдиред рд╢рдмреНрдж, рдПрдХреНрд╕реЗрд▓ рд░ рд╕рдмреИ рдХреБрд░рд╛ред рдХреБрдиреИ рд▓реЛрдЧреЛ рдЫреИрди, рдкрд╛рд╕реНрдХрд▓ рдкрдирд┐ рдЫреИрди, рдПрдХреНрд╕реЗрд▓рдХреЛ рд▓рд╛рдЧрд┐ VBA рдкрдирд┐ рдЫреИрдиред

рдо рдзреЗрд░реИ рдЫрдХреНрдХ рдкрд░реЗрдВ, рдЗрдиреНрдЯрд░рдиреЗрдЯ рдЦреЛрд▓реЗрд░ рдкрдвреНрди рдерд╛рд▓реЗ -
рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рджреНрдпрд╛рд▓рдпрдХреЛ рдХрд╛рд░реНрдпрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдирдпрд╛рдБ рдкреБрд╕реНрддрд╛рдХреЛ рд╢рд┐рдХреНрд╖рд╛рд▓рд╛рдИ рдкреНрд░рд╡рд░реНрджреНрдзрди рдЧрд░реНрдиреБ рд╣реЛ рдЬрд╕рд▓реЗ рдпрд╕рдХреЛ рд╡рд┐рдХрд╛рд╕ рд░ рдЬреАрд╡рдирд╢реИрд▓реАрдХреЛ рд╕реНрддрд░рдорд╛ рд╕реВрдЪрдирд╛ рд╕рдорд╛рдЬрдХреЛ рдЕрд╡рд╕реНрдерд╛рд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрджрдЫред
рдпрд╕ рдкрд╛рдареНрдпрдХреНрд░рдорд▓реЗ рд╡рд┐рджреНрдпрд╛рд░реНрдереАрд╣рд░реВрд▓рд╛рдИ рдкрд╛рд╕реНрдХрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдЖрдзрд╛рд░рднреВрдд рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдХреЛ рдЖрдлреНрдиреЛ рдЬреНрдЮрд╛рдирд▓рд╛рдИ рдЕрднреНрдпрд╛рд╕рдорд╛ рд╕реБрджреГрдв рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫред (реирежрезрен рдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рд╡реНрдпрд╛рдпрд╛рдорд╢рд╛рд▓рд╛рдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдордмрд╛рдЯ)

рдЕрдиреНрддрдорд╛, рдореИрд▓реЗ рдХреЗрд╣реА рдШрдгреНрдЯрд╛ рдмрд┐рддрд╛рдЙрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ рд░ "рд╕реНрдХреВрд▓рдХрд╛ рдмрдЪреНрдЪрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд░рд▓ рдмрдЯ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ" рдХреЛ рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреЗрдЪ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред

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

TLDR: рд╡реНрдпрд╛рдХрд░рдгреАрдп рд░ рддрдереНрдпрд╛рддреНрдордХ рддреНрд░реБрдЯрд┐рд╣рд░реВ рднрдПрдХреЛ рдЕрд░реНрдХреЛ рдмреЛрд░рд┐рдВрдЧ рд▓реЗрдЦ, рдкрдвреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рдЫреИрди, рдХреБрдиреИ рд╣рд╛рд╕реНрдп рдЫреИрди, рдХреБрдиреИ рдЪрд┐рддреНрд░рд╣рд░реВ рдЫреИрдирдиреНред

рд▓реЗрдЦрдорд╛ рдХреБрдиреИ рдирдпрд╛рдБ рдХреБрд░рд╛ рдЫреИрди, рдкрд╣рд┐рд▓реЗ рд▓реЗрдЦрд┐рдПрдХрд╛ рд▓рдЧрднрдЧ рд╕рдмреИ рдХреБрд░рд╛ Habr├й рдорд╛ рднрдЗрд╕рдХреЗрдХрд╛ рдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рд▓реЗрдЦрд╣рд░реВрдорд╛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ: рдХрд╕рд░реА рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордорд╛ рдмрдЯрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ ╨╕ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрдХреЛ рд▓рд╛рдЧрд┐ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмреЛрдЯ.
рдпрд╕рдмрд╛рд╣реЗрдХ, рд▓реЗрдЦ рдЬрд╛рдирд╛рдЬрд╛рдиреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЫ рддрд╛рдХрд┐ рд╣рд░реЗрдХ рдкрдЯрдХ рд╢реИрдХреНрд╖рд┐рдХ рд╕рд╛рд╣рд┐рддреНрдпрд▓рд╛рдИ рд╕рдиреНрджрд░реНрдн рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред рдкрд╛рдардорд╛ Gang 4, PowerShell Deep Dives рд╡рд╛, рднрдиреНрдиреБрд╣реЛрд╕реН, AWS Well-architected Framework рдХреЛ 5 рд╕реНрддрдореНрднрд╣рд░реВрдХреЛ рдХреБрдиреИ рд╕рдиреНрджрд░реНрдн рдЫреИрдиред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛рдХреЛ рд╕рдЯреНрдЯрд╛, рддрдкрд╛рдИрдВ рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ

рдЫреЛрдбреНрди рд╕реНрд╡рддрдиреНрддреНрд░ рдорд╣рд╕реБрд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН2006 рдорд╛, рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯрд▓реЗ рддрддреНрдХрд╛рд▓реАрди Windows XP, Vista, рд░ Server 1.0 рдХреЛ рд▓рд╛рдЧрд┐ PowerShell 2003 рдЬрд╛рд░реА рдЧрд░реНтАНрдпреЛред рдХреЗрд╣рд┐ рддрд░рд┐рдХрд╛рдорд╛, рдпрд╕рд▓реЗ cmdbat рд╕реНрдХреНрд░рд┐рдкреНрдЯ, vb рд╕реНрдХреНрд░рд┐рдкреНрдЯ, Windows Script Host рд░ JScript рдЬрд╕реНрддрд╛ рдЪреАрдЬрд╣рд░реВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдпреЛред

рдЕрд╣рд┐рд▓реЗ рдкрдирд┐, PowerShell рд▓рд╛рдИ рд▓реЛрдЧреЛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкрдЫрд┐рдХреЛ рдЕрд░реНрдХреЛ рдЪрд░рдгрдХреЛ рд░реВрдкрдорд╛ рдорд╛рддреНрд░ рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫ, рд╕рдореНрднрд╡рддрдГ рдЕрдЭреИ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдбреЗрд▓реНрдлреА (рд╡рд╛ рдХреЗрд╣рд┐ рдкреБрд░рд╛рдиреЛ) рдХреЛ рд╕рдЯреНрдЯрд╛, рд▓реБрдкрд╣рд░реВ, рдХрдХреНрд╖рд╛рд╣рд░реВ, рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ, MS GUI рдХрд▓рд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдХреЛ рдмрд╛рд╡рдЬреБрдж, Git рдПрдХреАрдХрд░рдг рд░ рдпрддрд┐ рдорд╛ред

Powershell рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рджреБрд░реНрд▓рдн рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ; рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ PowerShell Core, VMware vSphere PowerCLI, Azure PowerShell, MS Exchange, Desired State Configuration рдХреЛ рд░реВрдкрдорд╛ рдорд╛рддреНрд░ рд╕рд╛рдордирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред PowerShell рд╡реЗрдм рдкрд╣реБрдБрдЪ рд░ рдПрдХ рджрд░реНрдЬрди рд╡рд╛ рд╕реЛ рднрдиреНрджрд╛ рдмрдвреА рджреБрд░реНрд▓рдн рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рд░ рдХрд╛рд░реНрдпрд╣рд░реВред рд╕рд╛рдпрдж рдЙрдирд▓реЗ рд░рд┐рд▓рд┐рдЬрд╕рдБрдЧреИ рджреЛрд╕реНрд░реЛ рд╣рд╛рд╡рд╛ рдкрд╛рдЙрдиреЗрдЫрдиреН WSL2, рддрд░ рдпреЛ рдареНрдпрд╛рдХреНрдХреИ рд╣реЛрдЗрдиред

Powershell рд╕рдБрдЧ рдкрдирд┐ рддреАрди рдареВрд▓рд╛ рдлрд╛рдЗрджрд╛рд╣рд░реВ рдЫрдиреН:

  1. рдпреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдЫ, рддреНрдпрд╣рд╛рдБ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдзреЗрд░реИ рд╕рд╛рд╣рд┐рддреНрдп рд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЫрдиреН, рд░ рд░реВрд╕реАрдорд╛ рдкрдирд┐, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдлреЛрд░рдЪрдХреЛ рдмрд╛рд░реЗрдорд╛ рд▓реЗрдЦ - рдкреБрд╕реНрддрдХрдмрд╛рдЯ PowerShell рдЧрд╣рд┐рд░рд╛рдЗрдорд╛ - рдлрд░рдХ () рд░ {} рдмрд╛рд░реЗ
  2. рдК рд╕рдореНрдкрд╛рджрдХрд╕рдБрдЧреИ рдЬрд╛рдиреНрдЫ ISE, рд╡рд┐рдиреНрдбреЛрдЬ рд╕рдВрдЧ рд╕рдорд╛рд╡реЗрд╢ред рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рдбрд┐рдмрдЧрд░ рдкрдирд┐ рдЫред
  3. рдпрд╕рдмрд╛рдЯ рдХрд▓ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ.

0. рддрдпрд╛рд░реАред

рд╣рд╛рдореА рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗрдЫреМрдВ:

  • Windows PC (рдорд╕рдБрдЧ Windows 10 рдЫ)
  • рдХрдореНрддрд┐рдорд╛ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдкрд╣реБрдБрдЪ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ NAT рдорд╛рд░реНрдлрдд)
  • рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордорд╛ рд╕реАрдорд┐рдд рдкрд╣реБрдБрдЪ рднрдПрдХрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ - рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рд╕реНрдерд╛рдкрд┐рдд рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдлреНрд░рд┐рдЧреЗрдЯ, рдХреЗрд╣реА рдХрдард┐рди рдЕрд╡рд╕реНрдерд╛рд╣рд░реВрдорд╛, рд╕рд┐рдореНрдкрд▓ DNS рдХреНрд░рд┐рдкреНрдЯрдХреЛ рд╕рд╛рдеред
  • рддрдкрд╛рдИрдХреЛ рдлреЛрдирдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдХреНрд▓рд╛рдЗрдиреНрдЯ рдЫ
  • рдзреЗрд░реИ рдЖрдзрд╛рд░рднреВрдд рдХреБрд░рд╛рд╣рд░реВ рдмреБрдЭреНрджреИ - рдЪрд░, рдПрд░реЗ, рд▓реВрдк рдХреЗ рд╣реЛред

рд▓реЗрдЦрд╣рд░реВ рдЦреЛрд▓реЗрд░ рдкрдвреНрдиреБрд╣реЛрд╕реН - рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ: рдХрд╕рд░реА рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордорд╛ рдмрдЯрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ ╨╕ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрдХреЛ рд▓рд╛рдЧрд┐ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмреЛрдЯ

1. рдЕрд░реНрдХреЛ рдкрд░реАрдХреНрд╖рдг рдмрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВред

рдХрд┐рдирдХрд┐ рд╕рдмреИрд▓рд╛рдИ рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдерд╛рд╣рд╛ рдЫ, рд░ рдкрд╣рд┐рд▓реЗ рдиреИ рднрдЗрд╕рдХреЗрдХреЛ рдЫ, рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЫреЛрдбреНрди рдкрдирд┐ рд╕рдХреНрдиреБрд╣реБрдиреНрдЫрдорд╛рдерд┐рдХреЛ рд▓реЗрдЦрдорд╛ рднрдиреЗрдЭреИрдВ - рд╕рдмреИ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдмреЛрдЯ - рдпреЛ рдЕрдЭреИ рдкрдирд┐ рддрдкрд╛рдЗрдБрдХреЛ рдЫреЗрдЙрдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдПрдЙрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛ рд░ Telegram Bot API рд▓рд╛рдИ рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрдЫред рдпрд╕рдмрд╛рд╣реЗрдХ, рдПрдкреАрдЖрдИ рд╕реНрдкрд╖реНрдЯ рдЫ - рдмреЛрдЯрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрдХреЛ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ URL рдкрд╣реБрдБрдЪ рдЧрд░реНрджрдЫ, рд░ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдорд▓реЗ JSON рд╡рд╕реНрддреБрдХреЛ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджрд┐рдиреНрдЫред

рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рд╣рд░реВ: рдпрджрд┐ рдХреБрдиреИ рдЕрдЬреНрдЮрд╛рдд рддрд░рд┐рдХрд╛рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ JSON рд╡рд╕реНрддреБрдмрд╛рдЯ рдХреЗрд╣реА рдХреЛрдб рд▓рд┐рдиреБрднрдпреЛ рд░ рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдкрдард╛рдЙрдиреБрднрдпреЛ (рдЙрджреНрджреЗрд╢реНрдпрдорд╛ рд╣реЛрдЗрди), рдХреЛрдб рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реБрдиреЗрдЫред

рд╕рд┐рд░реНрдЬрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рдерд┐рдХреЛ рджреБрдИ рд▓реЗрдЦрд╣рд░реВрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ рдо рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдБрдЫреБ: рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордорд╛ рд╣рд╛рдореА рд╕рдореНрдкрд░реНрдХрд╣рд░реВ рдЦреЛрд▓реНрдЫреМрдВ, @botfather рдЦреЛрдЬреНрдЫреМрдВ, рдЙрд╕рд▓рд╛рдИ /newbot рдмрддрд╛рдЙрдБрдЫреМрдВ, Botfortest12344321 рдмрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ, рдпрд╕рд▓рд╛рдИ Mynext1234bot рдХрд▓ рдЧрд░реНрдЫреМрдВ, рд░ рдПрдЙрдЯрд╛ рдЕрджреНрд╡рд┐рддреАрдп рдХреБрдЮреНрдЬреАрдХреЛ рд╕рд╛рде рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫреМрдВред рдлрд╛рд░рдо 1234544311:AbcDefNNNNNNNNNNNNN

рдЪрд╛рдмреАрдХреЛ рдЦреНрдпрд╛рд▓ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рдирджрд┐рдиреБрд╣реЛрд╕реН!

рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБ рдмреЛрдЯ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓рд╛рдИ рд╕рдореВрд╣рд╣рд░реВрдорд╛ рдердкреНрди рдирд┐рд╖реЗрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН, рддрд░ рдкрд╣рд┐рд▓реЛ рдЪрд░рдгрд╣рд░реВрдорд╛ рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред

BotFather рд▓рд╛рдИ "/mybot" рдХреЛ рд▓рд╛рдЧрд┐ рд╕реЛрдзреМрдВ рд░ рдпрджрд┐ рд╣рд╛рдореАрд▓рд╛рдИ рдХреЗрд╣рд┐ рдордирдкрд░реНрджреИрди рднрдиреЗ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд╕рдорд╛рдпреЛрдЬрди рдЧрд░реМрдВред

рд╕рдореНрдкрд░реНрдХрд╣рд░реВ рдлреЗрд░рд┐ рдЦреЛрд▓реМрдВ, рддреНрдпрд╣рд╛рдБ @Botfortest12344321 рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН (@ рдмрд╛рдЯ рдЦреЛрдЬреА рд╕реБрд░реБ рдЧрд░реНрди рдЕрдирд┐рд╡рд╛рд░реНрдп рдЫ), "рд╕реНрдЯрд╛рд░реНрдЯ" рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдмреЛрдЯрдорд╛ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН "/Glory to the robotsред" / рдЪрд┐рдиреНрд╣ рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЙрджреНрдзрд░рдг рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред
рдмреЛрдЯ, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдХреЗрд╣рд┐ рдЬрд╡рд╛рдл рджрд┐рдиреЗрдЫреИрдиред

рдмреЛрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реНред

api.telegram.org/bot1234544311:AbcDefNNNNNNNNNNNNNN/getMe
рдЬрд╣рд╛рдБ 1234544311:AbcDefNNNNNNNNNNNNNN рдкрд╣рд┐рд▓реЗ рдкреНрд░рд╛рдкреНрдд рднрдПрдХреЛ рдХреБрдЮреНрдЬреА рд╣реЛ,
рд░ рдЬрд╕реНрддреИ рд▓рд╛рдЗрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН
{"рдареАрдХ":рд╕рддреНрдп,"рдкрд░рд┐рдгрд╛рдо":{""}}

рд╣рд╛рдореАрд╕рдБрдЧ рдкрд╣рд┐рд▓реЛ рдЧреЛрдкреНрдп рд╡рд╛рдХреНрдпрд╛рдВрд╢ (рдЯреЛрдХрди) рдЫред рдЕрдм рд╣рд╛рдореАрд▓реЗ рджреЛрд╕реНрд░реЛ рдЧреЛрдкреНрдп рдирдореНрдмрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ - рдмреЛрдЯрд╕рдБрдЧ рдЪреНрдпрд╛рдЯрдХреЛ рдЖрдИрдбреАред рдкреНрд░рддреНрдпреЗрдХ рдЪреНрдпрд╛рдЯ, рд╕рдореВрд╣, рдЖрджрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣реЛ рд░ рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рдирдореНрдмрд░ рд╣реБрдиреНрдЫ (рдХрд╣рд┐рд▓реЗрдХрд╛рдБрд╣реА рдорд╛рдЗрдирд╕ рд╕рдВрдЧ - рдЦреБрд▓рд╛ рд╕рдореВрд╣рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐)ред рдпреЛ рдирдореНрдмрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпреЛ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдЖрд╡рд╢реНрдпрдХ рдЫреИрди, рддрд░ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ) рдареЗрдЧрд╛рдирд╛ (рдЬрд╣рд╛рдБ 1234544311:NNNNNNNNNN рддрдкрд╛рдИрдХреЛ рдЯреЛрдХрди рд╣реЛред

https://api.telegram.org/bot1234544311:NNNNNNNNN/getUpdates

рд░ рдЬрд╕реНрддреИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН

{"рдареАрдХ": true,"result": [{"update_id":...,... рдХреБрд░рд╛рдХрд╛рдиреА":{"id":123456789

рд╣рд╛рдореАрд▓рд╛рдИ chat_id рдЪрд╛рд╣рд┐рдиреНрдЫред

рд╣рд╛рдореА рдЪреНрдпрд╛рдЯрдорд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд▓реЗрдЦреНрди рд╕рдХреНрдЫреМрдВ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реМрдВ: рдмреНрд░рд╛рдЙрдЬрд░рдмрд╛рдЯ рдареЗрдЧрд╛рдирд╛ рдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН

https://api.telegram.org/bot╨▓╨░╤И╤В╨╛╨║╨╡╨╜/sendMessage?chat_id=123456789&text="Life is directed motion"

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

рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ (рдмреНрд░рд╛рдЙрдЬрд░ рдорд╛рд░реНрдлрдд) рддрдкрд╛рдЗрдБ рд╕рдзреИрдБ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рд▓рд┐рдЩреНрдХ рдЙрддреНрдкрд╛рджрдирдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫрдиреН, рд╡рд╛ рдпрджрд┐ рдХреЗрд╣рд┐ рдХрддреИ рд▓реБрдХреЗрдХреЛ рдЫ рд░ рдХрд╛рдо рдЧрд░реНрджреИрдиред

рддрдкрд╛рдИрдВрд▓реЗ рдкрдвреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреБ рдЕрдШрд┐ рдХреЗ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ

рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордорд╛ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░рдХрд╛ рд╕рдореВрд╣ рдЪреНрдпрд╛рдЯрд╣рд░реВ рдЫрдиреН (рдЦреБрд▓рд╛, рдмрдиреНрдж)ред рдпреА рдЪреНрдпрд╛рдЯрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЗрд╣реА рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрдИрдбреА) рдлрд░рдХ рдЫрдиреН, рдЬрд╕рд▓реЗ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдХреЗрд╣реА рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫред

рдорд╛рдиреМрдВ рдХрд┐ рдпреЛ 2019 рдХреЛ рдЕрдиреНрддреНрдп рд╣реЛ, рд░ рд╣рд╛рдореНрд░реЛ рд╕рдордпрдХреЛ рдирд╛рдпрдХ рдкрдирд┐, рдкреНрд░рдЦреНрдпрд╛рдд рдореНрдпрд╛рди-рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░рд╛ (рдкреНрд░рд╢рд╛рд╕рдХ, рд╡рдХрд┐рд▓, рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдкрдорд╛ MVP) Evgeniy V. рд▓реЗ $i рдЪрд░рд▓рд╛рдИ рдПрд░реНрд░реЗрдмрд╛рдЯ рдЕрд▓рдЧ рдЧрд░реНрджрдЫ, рд▓реВрдкрдорд╛ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдЧрд░реЗрдХреЛ рдЫ, рдЕрдмрдХреЛ рджреБрдИ рд╡рд░реНрд╖рдорд╛ рд╣реЗрд░реНрдиреБрд╕реН рдЪрдХрд▓реЗрдЯрдорд╛ рдирд┐рдкреБрдг рд╣реБрдиреЗрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ PowerShell рд╕рдБрдЧ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдкреНрд░рд╢реЛрдзрди ╨╕ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рд╕рдорд╛рдирд╛рдиреНрддрд░рдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдЖрдЙрдиреЗрдЫред

1. рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рдмреЛрдЯрд▓реЗ рдХреЗ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреНрджрдЫреМрдВ

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

AI ML рдмрд┐рдирд╛ рдмреЛрдЯ-рдЧрд░реАрдм-рдХрд╡рд┐-рдмреБрдирдХрд░ рдмрдирд╛рдЙрди рддреНрдпрддрд┐ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдЫреИрдиред

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

2. рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рдХреЗ рд░ рдХрд╕рд░реА рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИ

C:poshtranslate рдлреЛрд▓реНрдбрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ
рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореАрд╕рдБрдЧ рдХрд╕реНрддреЛ рдкреНрд░рдХрд╛рд░рдХреЛ рдкрд╛рд╡рд░рд╢реЗрд▓ рдЫ рд╣реЗрд░реМрдВ, рд╕реНрдЯрд╛рд░реНрдЯ-рд░рди рдорд╛рд░реНрдлрдд ISE рд╕реБрд░реБ рдЧрд░реМрдВ
powershell ise
рд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВрдорд╛ Powershell ISE рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реНред
рд╕реБрд░реБрд╡рд╛рдд рдкрдЫрд┐, рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рдЪрд┐рдд "рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕рдореНрдкрд╛рджрдХ" рдЦреБрд▓реНрдиреЗрдЫ; рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдЫреИрди рднрдиреЗ, рддрдкрд╛рдЗрдБ рд╕рдзреИрдВ "рдлрд╛рдЗрд▓ - рдирдпрд╛рдБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН" рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

Powershell рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЗрд░реМрдВ - рдкрд╛рда рдлрд┐рд▓реНрдбрдорд╛ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН:

get-host 

рд░ F5 рдерд┐рдЪреНрдиреБрд╣реЛрд╕реНред

Powershell рдмрдЪрдд рдЧрд░реНрди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫ - "рддрдкрд╛рдИрдВрд▓реЗ рдЪрд▓рд╛рдЙрди рд▓рд╛рдЧреЗрдХрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдЪрдд рд╣реБрдиреЗрдЫред", рд╣рд╛рдореА рд╕рд╣рдордд рдЫреМрдВ, рд░ C: poshtranslate рдорд╛ рдирд╛рдордХреЛ рд╕рд╛рде рдкрд╛рд╡рд░рд╢реЗрд▓рдмрд╛рдЯ рдлрд╛рдЗрд▓ рдмрдЪрдд рдЧрд░реНрдЫреМрдВред myfirstbotBT100.

рдкреНрд░рдХреНрд╖реЗрдкрдг рдкрдЫрд┐, рддрд▓реНрд▓реЛ рдкрд╛рда рд╡рд┐рдиреНрдбреЛрдорд╛ рд╣рд╛рдореАрд▓реЗ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдкрд╛рдЙрдБрдЫреМрдВ:

Name             : Windows PowerShell ISE Host
Version          : 5.1.(╨╕ ╤В╨░╨║ ╨┤╨░╨╗╨╡╨╡)

рдорд╕рдБрдЧ 5.1 рдХреЗрд╣рд┐ рдЫ, рддреНрдпреЛ рдкрд░реНрдпрд╛рдкреНрдд рдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдкреБрд░рд╛рдиреЛ рд╡рд┐рдиреНрдбреЛрдЬ 7/8 рдЫ рднрдиреЗ рдХреБрдиреИ рдареВрд▓реЛ рдХреБрд░рд╛ рдЫреИрди - рдпрджреНрдпрдкрд┐ PowerShell рд╕рдВрд╕реНрдХрд░рдг 5 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ - рдЬрд╕реНрддреИред рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ.

рддрд▓рдХреЛ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдорд╛ рдЧреЗрдЯ-рдбреЗрдЯ рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЗрдиреНрдЯрд░ рдерд┐рдЪреНрдиреБрд╣реЛрд╕реН, рд╕рдордп рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН, рдЖрджреЗрд╢рдХреЛ рд╕рд╛рде рд░реВрдЯ рдлреЛрд▓реНрдбрд░рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред
cd
рд░ cls рдЖрджреЗрд╢рдХреЛ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рди рдЦрд╛рд▓реА рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд╣реЛрдЗрди, рддрдкрд╛рдИрдВрд▓реЗ rm рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди)

рдЕрдм рдХреЗ рдХрд╛рдо рдЧрд░реНрдЫ рд░ рдХрд╕рд░реА рдЬрд╛рдБрдЪ рдЧрд░реМрдВ - рдХреЛрдб рдкрдирд┐ рд╣реЛрдЗрди, рддрд░ рджреБрдИ рд▓рд╛рдЗрдирд╣рд░реВ рд▓реЗрдЦреМрдВ, рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХреЗ рдЧрд░реНрдЫрдиреН рднрдиреЗрд░ рдмреБрдЭреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВред # рдкреНрд░рддреАрдХрдХреЛ рд╕рд╛рде get-host рдХреЛ рд╕рд╛рде рд▓рд╛рдЗрди рдЯрд┐рдкреНрдкрдгреА рдЧрд░реМрдВ рд░ рдереЛрд░реИ рдердкреМрдВред

# ╨Я╤А╨╕╨╝╨╡╤А ╤И╨░╨▒╨╗╨╛╨╜╨░ ╨▒╨╛╤В╨░ 
# get-host
<# ╤Н╤В╨╛ ╨┐╤А╨╕╨╝╨╡╤А ╨╝╨╜╨╛╨│╨╛╤Б╤В╤А╨╛╤З╨╜╨╛╨│╨╛ ╨║╨╛╨╝╨╝╨╡╨╜╤В╨░╤А╨╕╤П #>
$TimeNow = Get-Date
$TimeNow

(рдХреЗ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдХреБрд░рд╛ рдХреЗ рдЫ рднрдиреЗ Habr├й рдорд╛ рдХреЛрдб рдврд╛рдБрдЪрд╛ рдбреНрд░рдк-рдбрд╛рдЙрди рд╕реВрдЪреАрдорд╛ рджреБрдИ рджрд░реНрдЬрди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН - рддрд░ Powershell рддреНрдпрд╣рд╛рдБ рдЫреИрдиред Dos рддреНрдпрд╣рд╛рдБ рдЫред Perl рддреНрдпрд╣рд╛рдБ рдЫред)

рд░ GUI рдмрд╛рдЯ F5 рд╡рд╛ ">" рдерд┐рдЪреЗрд░ рдХреЛрдб рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реНред

рд╣рд╛рдореАрд▓реЗ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рдЙрдБрдЫреМрдВ:

Saturday, December 8, 2019 21:00:50 PM (╨╕╨╗╨╕ ╤З╤В╨╛-╤В╨╛ ╤В╨╕╨┐╨░)

рдЕрдм рдпреА рджреБрдИ рдкрдЩреНрдХреНрддрд┐рд╣рд░реВ рд░ рдХреЗрд╣реА рд░реЛрдЪрдХ рдмрд┐рдиреНрджреБрд╣рд░реВ рд╣реЗрд░реМрдВ рддрд╛рдХрд┐ рд╣рд╛рдореА рднрд╡рд┐рд╖реНрдпрдорд╛ рдпрд╕рддрд░реНрдл рдирдлрд░реНрдХреМрдВред

рдкрд╛рд╕реНрдХрд▓рдХреЛ рд╡рд┐рдкрд░реАрдд (рд░ рдорд╛рддреНрд░ рд╣реЛрдЗрди), PowerShell рдЖрдлреИрд▓реЗ рднреЗрд░рд┐рдПрдмрд▓рдорд╛ рдХреБрди рдкреНрд░рдХрд╛рд░ рдирд┐рдпреБрдХреНрдд рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ; рдпрд╕ рдмрд╛рд░реЗ рдердк рд╡рд┐рд╡рд░рдгрд╣рд░реВ рд▓реЗрдЦрдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЫрдиреНред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдЯрд╛рдЗрдк рдЧрд░реНрди рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
рддреНрдпрд╕рдХрд╛рд░рдг, $TimeNow рдЪрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рд░ рдпрд╕рд▓рд╛рдИ рд╣рд╛рд▓рдХреЛ рдорд┐рддрд┐ рд░ рд╕рдордп (рдЧреЗрдЯ-рдбреЗрдЯ) рдХреЛ рдорд╛рди рддреЛрдХреЗрд░, рд╣рд╛рдореАрд▓реЗ рддреНрдпрд╣рд╛рдБ рдХрд╕реНрддреЛ рдкреНрд░рдХрд╛рд░рдХреЛ рдбрд╛рдЯрд╛ рд╣реБрдиреЗрдЫ рднрдиреЗрд░ рдзреЗрд░реИ рдЪрд┐рдиреНрддрд╛ рд▓рд┐рдиреБ рдкрд░реНрджреИрдиред

рд╕рд╛рдБрдЪреЛ, рдпреЛ рдЕрдЬреНрдЮрд╛рдирддрд╛ рдкрдЫрд┐ рдЪреЛрдЯ рд▓рд╛рдЧреНрди рд╕рдХреНрдЫ, рддрд░ рдпреЛ рдкрдЫрд┐рдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛред рдкрд╛рдардорд╛ рддрд▓ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реБрдиреЗрдЫред
рд╣рд╛рдореАрд▓реЗ рдХреЗ рдкрд╛рдпреМрдВ рд╣реЗрд░реМрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реМрдВ (рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдорд╛)

$TimeNow | Get-member

рд░ рдмреБрдЭреНрди рдирд╕рдХрд┐рдиреЗ рдкрд╛рдардХреЛ рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдирдмреБрдЭреЗрдХреЛ рдкрд╛рда рдирдореНрдмрд░ рез рдХреЛ рдЙрджрд╛рд╣рд░рдг

PS C:> $TimeNow | Get-member
   TypeName: System.DateTime
Name                 MemberType     Definition                                                                                                                                       
----                 ----------     ----------                                                                                                                                       
Add                  <b>Method         </b>datetime Add(timespan value)  
..
DisplayHint          NoteProperty   DisplayHintType DisplayHint=DateTime                                                                                                             
Date                 <b>Property       </b>datetime Date {get;}                                                                                                                             
Year                 Property       int Year {get;}   
..                                                                                                                               
DateTime             ScriptProperty System.Object DateTime {get=if ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq  "Date")...                                         

рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреЗ рд░реВрдкрдорд╛, TypeName: System.DateTime рдкреНрд░рдХрд╛рд░рдХреЛ рдЪрд░ рдзреЗрд░реИ рд╡рд┐рдзрд┐рд╣рд░реВ (рдпрд╕ рдЪрд░ рд╡рд╕реНрддреБрд╕рдБрдЧ рдХреЗ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рднрдиреНрдиреЗ рдЕрд░реНрдердорд╛) рд░ рдЧреБрдгрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдХрд▓ рдЧрд░реМрдВ $TimeNow.DayOfYear - рд╣рд╛рдореАрд▓реЗ рд╡рд░реНрд╖рдХреЛ рджрд┐рдирдХреЛ рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдЙрдБрдЫреМрдВред
рдХрд▓ рдЧрд░реМрдВ $TimeNow.DayOfYear | Get-Member - рд╣рд╛рдореАрд▓реЗ рдкрд╛рдпреМ TypeName: System.Int32 рд░ рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рд╕рдореВрд╣ред
рдХрд▓ рдЧрд░реМрдВ $TimeNow.ToUniversalTime() - рд░ UTC рдорд╛ рд╕рдордп рдкрд╛рдЙрдиреБрд╣реЛрд╕реН

рдбрд┐рдмрдЧрд░

рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдпреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реЗрдЦрд╛ рд╕рдореНрдо рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░ рддреНрдпреЛ рдХреНрд╖рдг рдорд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕реНрдерд┐рддрд┐ рд╣реЗрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рд╣реБрдиреНрдЫред рдпрд╕ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐, ISE рдорд╛ рдбрд┐рдмрдЧ рдкреНрд░рдХрд╛рд░реНрдп рдЫ - рдЯрдЧрд▓ рдмреНрд░реЗрдХ рдкреЛрдЗрдиреНрдЯ
рдмреАрдЪрдорд╛ рдХрддреИ рдмреНрд░реЗрдХрдкреЛрдЗрдиреНрдЯ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН, рдпреА рджреБрдИ рд▓рд╛рдЗрдирд╣рд░реВ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН рд░ рдмреНрд░реЗрдХ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред

3. рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмреЛрдЯрд╕рдБрдЧрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдмреБрдЭреНрджреИ

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдмреЛрдЯрд╕рдБрдЧрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдЕрдЭ рдзреЗрд░реИ рд╕рд╛рд╣рд┐рддреНрдпрд╣рд░реВ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЫрдиреН, рд╕рдмреИ рдЧреЗрдЯрдкреБрд╕ рд░ рдпрд╕реНрддреИ рдЕрдиреНрдп, рддрд░ рд╕рд┐рджреНрдзрд╛рдиреНрддрдХреЛ рдореБрджреНрджрд╛рд▓рд╛рдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдкрдорд╛ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╣рд╛рдореНрд░реЛ рдорд╛рдорд▓рд╛ рдорд╛ рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЫ:

  • рдкрддреНрд░рд╛рдЪрд╛рд░рдорд╛ рдХреЗрд╣рд┐ рдкрдард╛рдЙрди рд╕рд┐рдХреНрдиреБрд╣реЛрд╕реН
  • рдкрддреНрд░рд╛рдЪрд╛рд░рдмрд╛рдЯ рдХреЗрд╣реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рд┐рдХреНрдиреБрд╣реЛрд╕реН

3.1 рдкрддреНрд░рд╛рдЪрд╛рд░рдорд╛ рдХреЗрд╣рд┐ рдкрдард╛рдЙрди рд░ рддреНрдпрд╕рдмрд╛рдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рд┐рдХреНрдиреЗ

рд╕рд╛рдиреЛ рдХреЛрдб - рднрд╛рдЧ 3

Write-output "This is part 3"
$MyToken = "1234544311:AbcDefNNNNNNNNNNNNN"
$MyChatID = "123456789"
$MyProxy = "http://1.2.3.4:5678" 

$TimeNow = Get-Date
$TimeNow.ToUniversalTime()
$ScriptDir = Split-Path $script:MyInvocation.MyCommand.Path
$BotVersion = "BT102"

$MyText01 = "Life is directed motion - " + $TimeNow

$URL4SEND = "https://api.telegram.org/bot$MyToken/sendMessage?chat_id=$MyChatID&text=$MyText01"

Invoke-WebRequest -Uri $URL4SEND

рд░ рд░реВрд╕реА рд╕рдВрдШрдорд╛ рдпрд╕ рдмрд┐рдиреНрджреБрдорд╛ рд╣рд╛рдореАрд▓реЗ рддреНрд░реБрдЯрд┐ рдкрд╛рдЙрдБрдЫреМрдВ рд░рд┐рдореЛрдЯ рд╕рд░реНрднрд░рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рдЕрд╕рдорд░реНрдеред

рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИрдиреМрдВ - рдЯреЗрд▓рд┐рдХрдо рдЕрдкрд░реЗрдЯрд░рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫ рд░ рдкреНрд░реЛрдХреНрд╕реА рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫред
рдард┐рдХ рдЫ, рдХреЗрд╡рд▓ рдкреНрд░реЛрдХреНрд╕реА рдердкреНрди рдмрд╛рдБрдХреА рдЫред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдзреЛрдЦрд╛рдзрдбреА рдкреНрд░реЛрдХреНрд╕реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рддрдкрд╛рдИрдВрдХреЛ рд╕реНрд╡рд╛рд╕реНрдереНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдЕрддреНрдпрдиреНрдд рдЦрддрд░рдирд╛рдХ рдЫред

рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░реЛрдХреНрд╕реА рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреЗ рдХрд╛рд░реНрдп рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛ рдЫреИрди - рдзреЗрд░реИ рдЬрд╕реЛ рдкреНрд░рдХрд╛рд╢рд┐рдд http рдкреНрд░реЛрдХреНрд╕реАрд╣рд░реВ рдХрд╛рдо рдЧрд░реНрдЫрдиреНред рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдкрд╛рдБрдЪреМрдВрд▓реЗ рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░реНрдпреЛред

рдкреНрд░реЛрдХреНрд╕реА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕:

Invoke-WebRequest -Uri $URL4SEND -Proxy $MyProxy

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдмреЛрдЯрд╕рдБрдЧ рдЖрдлреНрдиреЛ рдЪреНрдпрд╛рдЯрдорд╛ рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рд╕рдмреИ рдареАрдХ рдЫ, рддрдкрд╛рдИрдВ рдЕрдЧрд╛рдбрд┐ рдмрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрджрд┐ рд╣реЛрдЗрди рднрдиреЗ, рдбрд┐рдмрдЧ рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реНред

рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ $URL4SEND рд╕реНрдЯреНрд░рд┐рдЩ рдХреЗ рдорд╛ рдкрд░рд┐рдгрдд рд╣реБрдиреНрдЫ рд╣реЗрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬрд╕реНрддреИ:

$URL4SEND2 = '"'+$URL4SEND+'"'
start chrome $URL4SEND2 

рей.реиред рд╣рд╛рдореАрд▓реЗ рдЪреНрдпрд╛рдЯрдорд╛ "рдХреЗрд╣рд┐" рдХрд╕рд░реА рд▓реЗрдЦреНрдиреЗ рднрдиреЗрд░ рд╕рд┐рдХреЗрдХрд╛ рдЫреМрдВ, рдЕрдм рдпрд╕рд▓рд╛рдИ рдкрдвреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ

4 рдердк рд▓рд╛рдЗрдирд╣рд░реВ рдердкреМрдВ рд░ рднрд┐рддреНрд░ рдХреЗ рдЫ рд╣реЗрд░реМрдВ | рд╕рджрд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ

$URLGET = "https://api.telegram.org/bot$MyToken/getUpdates"
$MyMessageGet = Invoke-WebRequest -Uri $URLGET -Method Get -Proxy $MyProxy
Write-Host "Get-Member"
$MyMessageGet | Get-Member

рд╕рдмреИрднрдиреНрджрд╛ рд░реЛрдЪрдХ рдХреБрд░рд╛ рд╣рд╛рдореАрд▓рд╛рдИ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ

Content           Property   string Content {get;}  
ParsedHtml        Property   mshtml.IHTMLDocument2 ParsedHtml {get;}                                    
RawContent        Property   string RawContent {get;set;}

рддрд┐рдиреАрд╣рд░реВрдорд╛ рдХреЗ рдЫ рд╣реЗрд░реМрдВ:

Write-Host "ParsedHtml"
$MyMessageGet.ParsedHtml # ╤В╤Г╤В ╨╕╨╜╤В╨╡╤А╨╡╤Б╨╜╨╛╨╡
Write-Host "RawContent"
$MyMessageGet.RawContent # ╨╕ ╤В╤Г╤В ╨╕╨╜╤В╨╡╤А╨╡╤Б╨╜╨╛╨╡, ╨╜╨╛ ╨╡╤Й╨╡ ╨║ ╤В╨╛╨╝╤Г ╨╢╨╡ ╨╕ ╤З╨╕╤В╨░╨╡╨╝╨╛╨╡. 
Write-Host "Content"
$MyMessageGet.Content

рдпрджрд┐ рд╕рдмреИ рдХреБрд░рд╛ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рд▓рд╛рдореЛ рд▓рд╛рдЗрди рдкрд╛рдЙрдиреБрд╣реБрдиреЗрдЫ рдЬрд╕реНрддреИ:

{"ok":true,"result":[{"update_id":12345678,
"message":{"message_id":3,"from":{"id"

рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рдкрд╣рд┐рд▓реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЗрдЦрдорд╛ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрдХреЛ рд▓рд╛рдЧрд┐ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмреЛрдЯ рдпреЛ рд▓рд╛рдЗрди (рд╣реЛ, $MyMessageGet.RawContent | рдЕрдиреБрд╕рд╛рд░ get-meber рднрдиреЗрдХреЛ System.String рд╣реЛ), рдкрд╣рд┐рд▓реЗ рдиреИ рд╡рд┐рдЪреНрдЫреЗрдж рдЧрд░рд┐рдПрдХреЛ рдЫред

4. рддрдкрд╛рдИрд▓реЗ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрднрдПрдХреЛ рдХреБрд░рд╛рд▓рд╛рдИ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд╣рд╛рдореАрд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рдерд╛рд╣рд╛ рдЫ рдХрд╕рд░реА рдХреЗрд╣рд┐ рдкрдард╛рдЙрдиреЗ)

рдкрд╣рд┐рд▓реЗ рдиреИ рд▓реЗрдЦрд┐рдП рдЬрд╕реНрддреИ рдпрд╣рд╛рдБ, рд╕рдмреИрднрдиреНрджрд╛ рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬрд╣рд░реВ рд╕рд╛рдордЧреНрд░реАрдорд╛ рдЫрдиреНред рдпрд╕рд▓рд╛рдИ рдирдЬрд┐рдХрдмрд╛рдЯ рд╣реЗрд░реМрдВред

рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореА рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд╛ рдлреЛрдирдмрд╛рдЯ рдмреЛрдЯрдорд╛ рдХреЗрд╣реА рдердк рд╡рд╛рдХреНрдпрд╛рдВрд╢рд╣рд░реВ рд▓реЗрдЦреНрдиреЗрдЫреМрдВ

/message1
/message2
/message3

рд░ $URLGET рдЪрд░рдорд╛ рдмрдирд╛рдЗрдПрдХреЛ рдареЗрдЧрд╛рдирд╛рдорд╛ рдмреНрд░рд╛рдЙрдЬрд░ рдорд╛рд░реНрдлрдд рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред

рд╣рд╛рдореА рдЬрд╕реНрддреИ рдХреЗрд╣рд┐ рджреЗрдЦреНрдиреЗрдЫреМрдВ:

{"ok":true,"result":[{"update_id":NNNNNNN,
"message":{"message_id":10, .. "text":"/message1"
"message":{"message_id":11, .. "text":"/message2 
"message":{"message_id":12, .. "text":"/message3 

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

рдпрджреНрдпрдкрд┐, рд╣рд╛рдореАрд▓реЗ "рдпреЛ рдХрд╕реНрддреЛ рдкреНрд░рдХрд╛рд░рдХреЛ рд╡рд╕реНрддреБ рд╣реЛ" рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди - рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдХрд╛рдордХреЛ рдЕрдВрд╢ рдкрд╣рд┐рд▓реЗ рдиреИ рднрдЗрд╕рдХреЗрдХреЛ рдЫред рднрд┐рддреНрд░ рдХреЗ рдЫ рд╣реЗрд░реМрдВ:

рдкреНрд░рд╛рдкреНрдд рд╕рдиреНрджреЗрд╢рд╣рд░реВ рд╡рд╛ рднрд╛рдЧ 4 рдкрдвреНрджреИ

Write-Host "This is part 4" <# ╨║╨╛╨╜╨╡╤З╨╜╨╛ ╤Н╤В╨░ ╤Б╤В╤А╨╛╨║╨░ ╨╜╨░╨╝ ╨╜╨╡ ╨╜╤Г╨╢╨╜╨░ ╨▓ ╨╕╤В╨╛╨│╨╛╨▓╨╛╨╝ ╤В╨╡╨║╤Б╤В╨╡, ╨╜╨╛ ╨┐╨╛ ╨╜╨╡╨╣ ╤Г╨┤╨╛╨▒╨╜╨╛ ╨╕╤Б╨║╨░╤В╤М. #> 

$Content4Pars01 = ConvertFrom-Json $MyMessageGet.Content
$Content4Pars01 | Get-Member
$Content4Pars01.result
$Content4Pars01.result[0]
$Content4Pars01.result[0] | Get-Member
$Content4Pars01.result[0].update_id
$Content4Pars01.result[0].message
$Content4Pars01.result[0].message.text
$Content4Pars01.result[1].message.text
$Content4Pars01.result[2].message.text

5. рдЕрдм рд╣рд╛рдореАрд▓реЗ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рдЧрд░реНрдиреБрдкрд░реНрдЫ?

рдирддрд┐рдЬрд╛ рдлрд╛рдЗрд▓ myfirstbotBT105 рдирд╛рдо рдЕрдиреНрддрд░реНрдЧрдд рдмрдЪрдд рдЧрд░реМрдВ рд╡рд╛ рддрдкрд╛рдИрд▓рд╛рдИ рдЬреЗ рдордирдкрд░реНрдЫ, рд╢реАрд░реНрд╖рдХ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдкрд╣рд┐рд▓реЗ рдиреИ рд▓реЗрдЦрд┐рдПрдХрд╛ рд╕рдмреИ рдХреЛрдб рдорд╛рд░реНрдлрдд рдЯрд┐рдкреНрдкрдгреА рдЧрд░реНрдиреБрд╣реЛрд╕реНред

<#start comment 105 end comment 105#>

рдЕрдм рд╣рд╛рдореАрд▓реЗ рдбрд┐рдХреНрд╢рдирд░реА рдХрд╣рд╛рдБ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рд░рд╛рдореНрд░реЛ, рдХрд╣рд╛рдБ - рдлрд╛рдЗрд▓рдорд╛ рдбрд┐рд╕реНрдХрдорд╛) рд░ рдпреЛ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рддрдкрд╛рдИрд▓реЗ рд▓рд┐рдкрд┐рдХреЛ рдкрд╛рдардорд╛ рдареВрд▓реЛ рд╢рдмреНрджрдХреЛрд╢ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдпреЛ рдкреВрд░реНрдгрддрдпрд╛ рдмрд┐рдиреНрджреБрдХреЛ рдЫреЗрдЙрдорд╛ рдЫред
рддреНрдпрд╕реЛрднрдП рд╣реЗрд░реМрдВ рдкрд╛рд╡рд░рд╢реЗрд▓рд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдХреЗ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫред
рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдЙрд╣рд╛рдБ рдХреБрди рдлрд╛рдЗрд▓рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрджреИрди, рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдлрд░рдХ рдкрд╛рд░реНрджреИрдиред
рд╣рд╛рдореАрд╕рдБрдЧ рд╡рд┐рдХрд▓реНрдк рдЫ: txt (рддрдкрд╛рдИрд▓реЗ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдХрд┐рди), csv, xmlред
рдХреЗ рд╣рд╛рдореА рд╕рдмреИрд▓рд╛рдИ рд╣реЗрд░реНрди рд╕рдХреНрдЫреМрдВ? рд╕рдмреИрд▓рд╛рдИ рд╣реЗрд░реМрдВред
рдХреНрд▓рд╛рд╕ MyVocabClassExample1 рд░ рдПрдЙрдЯрд╛ рдЪрд▓ $MyVocabExample1 рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реНред
рдо рдиреЛрдЯ рдЧрд░реНрдЫреБ рдХрд┐ рдХрдХреНрд╖рд╛ $ рдмрд┐рдирд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ

рдХреЗрд╣рд┐ рдХреЛрдб # 5

write-host "This is part 5"
class MyVocabClassExample1 {
    [string]$Original  # ╤Б╨╗╨╛╨▓╨╛
    [string]$Transcript
    [string]$Translate
    [string]$Example
    [int]$VocWordID # ╨╛╤З╨╡╨╜╤М ╨╕╨╜╤В╨╡╤А╨╡╤Б╨╜╤Л╨╣ ╨╝╨╛╨╝╨╡╨╜╤В. ╨Ш╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╜╨╕╨╡ int ╤Б ╨╡╨│╨╛ ╨╛╨│╤А╨░╨╜╨╕╤З╨╡╨╜╨╕╤П╨╝╨╕ ╨╝╨╛╨╢╨╡╤В ╨┐╨╛╤А╨╛╨╣ ╨┐╤А╨╕╨▓╨╛╨┤╨╕╤В╤М ╨║ ╨┤╨╕╨║╨╕╨╝ ╨┐╨╛╤Б╨╗╨╡╨┤╤Б╤В╨▓╨╕╤П╨╝, ╨┤╨╗╤П ╨┐╤А╨╕╨╝╨╡╤А╨░ - ╨╜╨╡╨┤╨░╨▓╨╜╨╕╨╣ ╤Б╨╗╤Г╤З╨░╨╣ ╤Б SSD HPE. ╨Ш╨╖╨╜╨░╤З╨░╨╗╤М╨╜╨╛ ╤П ╨╜╨╡ ╤Б╤В╨░╨╗ ╨┤╨╛╨▒╨░╨▓╨╗╤П╤В╤М ╤Н╤В╨╛╤В ╤Н╨╗╨╡╨╝╨╡╨╜╤В, ╨┐╨╛╤В╨╛╨╝ ╨▓╤Б╨╡ ╨╢╨╡ ╨┤╨╛╨┐╨╕╤Б╨░╨╗ ╨╕ ╨╖╨░╨║╨╛╨╝╨╝╨╡╨╜╤В╨╕╤А╨╛╨▓╨░╨╗.
    }

$MyVocabExample1 = [MyVocabClassExample1]::new()
$MyVocabExample1.Original = "Apple"
$MyVocabExample1.Transcript = "[ ╦Иap╔Щl ]"
$MyVocabExample1.Translate = "╨п╨▒╨╗╨╛╨║╨╛"
$MyVocabExample1.Example = "An apple is a sweet, edible fruit produced by an apple tree (Malus domestica)"
# $MyVocabExample1.$VocWordID = 1

$MyVocabExample2 = [MyVocabClassExample1]::new()
$MyVocabExample2.Original = "Pear"
$MyVocabExample2.Transcript = "[ pe(╔Щ)r ]"
$MyVocabExample2.Translate = "╨У╤А╤Г╤И╨░"
$MyVocabExample2.Example = "The pear (/╦Иp╔Ы╔Щr/) tree and shrub are a species of genus Pyrus"
# $MyVocabExample1.$VocWordID = 2

рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд▓реЗрдЦреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ рдирдореВрдирд╛.

рдХреЗрд╣рд┐ рдХреЛрдб #5.1

Write-Host $ScriptDir # ╨╜╨░╨┤╨╡╤О╤Б╤М $ScriptDir ╨▓╤Л ╨╜╨╡ ╨╖╨░╨║╨╛╨╝╨╝╨╡╨╜╤В╨╕╤А╨╛╨▓╨░╨╗╨╕ 
$MyFilenameExample01 = $ScriptDir + "Example01.txt"
$MyFilenameExample02 = $ScriptDir + "Example02.txt"
Write-Host $MyFilenameExample01
Out-File  -FilePath $MyFilenameExample01 -InputObject $MyVocabExample1

Out-File  -FilePath $MyFilenameExample01 -InputObject -Append $MyVocabExample2
notepad $MyFilenameExample01

- рд░ рд╣рд╛рдореАрд▓реЗ рд▓рд╛рдЗрди Out-File -FilePath $MyFilenameExample01 -InputObject -Append $MyVocabExample2 рдорд╛ рддреНрд░реБрдЯрд┐ рдкрд╛рдЙрдБрдЫреМрдВред

рдК рдердкреНрди рдЪрд╛рд╣рдБрджреИрди, рдЖрд╣-рдЖрд╣, рдХрд╕реНрддреЛ рд▓рд╛рдЬрдорд░реНрджреЛ рдХреБрд░рд╛ред

$MyVocabExample3AsArray = @($MyVocabExample1,$MyVocabExample2)
Out-File  -FilePath $MyFilenameExample02 -InputObject $MyVocabExample3AsArray
notepad $MyFilenameExample02

рд╣реЗрд░реМрдВ рдХреЗ рд╣реБрдиреНрдЫред рдЙрддреНрдХреГрд╖реНрдЯ рдкрд╛рда рджреГрд╢реНрдп - рддрд░ рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рдлрд┐рд░реНрддрд╛ рдирд┐рд░реНрдпрд╛рдд рдЧрд░реНрдиреЗ? рдХреЗ рдореИрд▓реЗ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЬрд╕реНрддрд╛ рдкрд╛рда рд╡рд┐рднрд╛рдЬрдХрд╣рд░реВрдХреЛ рдкрд░рд┐рдЪрдп рджрд┐рдиреБрдкрд░реНрдЫ?

рд░ рдЕрдиреНрддрдорд╛ рддрдкрд╛рдИрдВрд▓реЗ "рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо-рд╡рд┐рднрд╛рдЬрд┐рдд рдорд╛рдирд╣рд░реВ (CSV) рдлрд╛рдЗрд▓ A рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реБрдиреЗрдЫ рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН.
#

$MyFilenameExample03 = $ScriptDir + "Example03.csv"
$MyFilenameExample04 = $ScriptDir + "Example04.csv"
Export-Csv  -Path $MyFilenameExample03 -InputObject $MyVocabExample1 
Export-Csv  -Path $MyFilenameExample03 -InputObject $MyVocabExample2 -Append 
Export-Csv  -Path $MyFilenameExample04 -InputObject $MyVocabExample3AsArray 

рдЬрд╕реНрддреЛ рдХрд┐ рд╣реЗрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫ, MS рд▓рд╛рдИ рдпрд╕рдХреЛ рддрд░реНрдХрд▓реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдЫреБрдЯреНрдпрд╛рдПрдХреЛ рдЫреИрди; рд╕рдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐, рдПрдЙрдЯрд╛ рдЕрд╡рд╕реНрдерд╛рдорд╛ -FilePath рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЕрд░реНрдХреЛрдорд╛ -Pathред

рдердк рд░реВрдкрдорд╛, рддреЗрд╕реНрд░реЛ рдлрд╛рдЗрд▓рдорд╛ рд░реВрд╕реА рднрд╛рд╖рд╛ рдЧрд╛рдпрдм рднрдпреЛ, рдЪреМрдереЛ рдлрд╛рдЗрд▓рдорд╛ рдпреЛ рдмрд╛рд╣рд┐рд░ рдЖрдпреЛ ... рдареАрдХ рдЫ, рдХреЗрд╣рд┐ рднрдпреЛред #TYPE System.Object[] 00
# "рдЧрдгрдирд╛","рд▓рдореНрдмрд╛рдЗ","рд▓рд╛рдореЛ рд▓рдореНрдмрд╛рдИ","рд░реИрдВрдХ","рд╕рд┐рдВрдХрд░реВрдЯ","рдЗрдЬрд░реАрдб рдУрдиреНрд▓реА","рдЗрд╕рдлрд┐рдХреНрд╕реНрдбрд╕рд╛рдЗрдЬ","рд╕рд┐рдиреНрдХреНрд░реЛрдирд╛рдЗрдЬреНрдб"
#
рдпрд╕рд▓рд╛рдИ рдереЛрд░реИ рдкреБрди: рд▓реЗрдЦреМрдВ:

Export-Csv  -Path $MyFilenameExample03 -InputObject $MyVocabExample1 -Encoding Unicode
Export-Csv  -Path $MyFilenameExample03 -InputObject $MyVocabExample2 -Append -Encoding Unicode
notepad $MyFilenameExample03
notepad $MyFilenameExample04

рдпрд╕рд▓реЗ рдорджреНрджрдд рдЧрд░реЗрдХреЛ рджреЗрдЦрд┐рдиреНрдЫ, рддрд░ рдорд▓рд╛рдИ рдЕрдЭреИ рдкрдирд┐ рдврд╛рдБрдЪрд╛ рдордирдкрд░реНрджреИрдиред

рдорд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдорди рдкрд░реНрджреИрди рдХрд┐ рдо рд╡рд╕реНрддреБрдмрд╛рдЯ рд▓рд╛рдЗрдирд╣рд░реВ рд╕реАрдзрд╛ рдлрд╛рдЗрд▓рдорд╛ рд░рд╛рдЦреНрди рд╕рдХреНрджрд┐рдиред
рдЦреИрд░, рд╣рд╛рдореАрд▓реЗ рдлрд╛рдИрд▓рд╣рд░реВрдорд╛ рд▓реЗрдЦреНрди рдерд╛рд▓реЗрджреЗрдЦрд┐, рдХреЗ рд╣рд╛рдореА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд▓рдЧ рд░рд╛рдЦреНрди рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ? рд╣рд╛рдореАрд╕рдБрдЧ рдЪрд▓рдХреЛ рд░реВрдкрдорд╛ рд╕рдордп рдЫ, рд╣рд╛рдореА рдлрд╛рдЗрд▓ рдирд╛рдо рд╕реЗрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред

рд╕рд╛рдБрдЪреЛ, рдЕрдЭреИ рд▓реЗрдЦреНрди рдХреЛ рд▓рд╛рдЧреА рдХреЗрд╣рд┐ рдЫреИрди, рддрд░ рддрдкрд╛рдИрд▓реЗ рд▓рдЧрд╣рд░реБ рд▓рд╛рдИ рдХрд╕рд░реА рдШреБрдорд╛рдЙрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐ xml рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВред

рдХреЗрд╣рд┐ xml

$MyFilenameExample05 = $ScriptDir + "Example05.xml"
$MyFilenameExample06 = $ScriptDir + "Example06.xml"
Export-Clixml  -Path $MyFilenameExample05 -InputObject $MyVocabExample1 
Export-Clixml  -Path $MyFilenameExample05 -InputObject $MyVocabExample2 -Append -Encoding Unicode
Export-Clixml  -Path $MyFilenameExample06 -InputObject $MyVocabExample3AsArray
notepad $MyFilenameExample05
notepad $MyFilenameExample06

xml рдорд╛ рдирд┐рд░реНрдпрд╛рдд рдЧрд░реНрджрд╛ рдзреЗрд░реИ рдлрд╛рдЗрджрд╛рд╣рд░реВ рдЫрдиреН - рдкрдвреНрди рдпреЛрдЧреНрдпрддрд╛, рд╕рдореНрдкреВрд░реНрдг рд╡рд╕реНрддреБрдХреЛ рдирд┐рд░реНрдпрд╛рдд, рд░ uppend рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрдиред

рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ xml рдлрд╛рдЗрд▓ рдкрдвреНрдиреБрд╣реЛрд╕реН.

xml рдмрд╛рдЯ рдереЛрд░реИ рдкрдврд╛рдЗ

$MyFilenameExample06 = $ScriptDir + "Example06.xml"
$MyVocabExample4AsArray = Import-Clixml -Path $MyFilenameExample06
# $MyVocabExample4AsArray 
# $MyVocabExample4AsArray[0]
# ╨╕ ╨╜╨╡╨╝╨╜╨╛╨│╨╛ ╨╛ ╤Б╨╛╨▓╨╡╤А╤И╨╡╨╜╨╜╨╛ ╨╜╨╡╨╛╤З╨╡╨▓╨╕╨┤╨╜╤Л╤Е ╨╜╤О╨░╨╜╤Б╨░╤Е. Powershell ╨▓╤А╨╡╨╝╤П ╨╛╤В ╨▓╤А╨╡╨╝╨╡╨╜╨╕ ╨▓╨╡╨┤╨╡╤В ╤Б╨╡╨▒╤П ╨╜╨╡ ╤В╨░╨║, ╨║╨░╨║ ╨▓╤А╨╛╨┤╨╡ ╨▒╤Л ╨║╨░╨║ ╨▒╤Л ╤Б╤В╨╛╨╕╨╗╨╛ ╨▒╤Л ╨╛╨╢╨╕╨┤╨░╤В╤М ╨▒╤Л.
# ╨╜╨░╨┐╤А╨╕╨╝╨╡╤А ╤Г ╨╝╨╡╨╜╤П ╤Н╤В╨╕ ╨┤╨▓╨░ ╨▓╤Л╨▓╨╛╨┤╨░ ╨╛╤В╨╗╨╕╤З╨░╤О╤В╤Б╤П
# Write-Output $MyVocabExample4AsArray 
# write-host $MyVocabExample4AsArray 

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

рдорд▓рд╛рдИ рддрдкрд╛рдИрд▓рд╛рдИ рд╕рдореНрдЭрд╛рдЙрди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдХрд╛рд░реНрдп рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдмреЛрдЯ рдмрдирд╛рдЙрдиреБ рдерд┐рдпреЛред

рдХрд╛рд░реНрдп рдврд╛рдБрдЪрд╛: рдо рдмреЛрдЯрдорд╛ "рдЙрджрд╛рд╣рд░рдг" рдЖрджреЗрд╢ рдкрдард╛рдЙрдБрдЫреБ, рдмрдЯрд▓реЗ рдорд▓рд╛рдИ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдкрдорд╛ рдЪрдпрди рдЧрд░рд┐рдПрдХреЛ рд╢рдмреНрдж рд░ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдкрдард╛рдЙрдБрдЫ, рд░ 10 рд╕реЗрдХреЗрдиреНрдб рдкрдЫрд┐ рдорд▓рд╛рдИ рдЕрдиреБрд╡рд╛рдж рд░ рдЯрд┐рдкреНрдкрдгреА рдкрдард╛рдЙрдБрдЫред рд╣рд╛рдореАрд▓рд╛рдИ рдЖрджреЗрд╢рд╣рд░реВ рдХрд╕рд░реА рдкрдвреНрдиреЗ рднрдиреНрдиреЗ рдерд╛рд╣рд╛ рдЫ, рд╣рд╛рдореА рдХрд╕рд░реА рдкреНрд░реЛрдХреНрд╕реАрд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЪрдпрди рдЧрд░реНрдиреЗ рд░ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреЗ рд░ рд╕рдиреНрджреЗрд╢ рдХрд╛рдЙрдиреНрдЯрд░рд╣рд░реВрд▓рд╛рдИ рд╡рд┐рд╕реНрдореГрддрд┐рдорд╛ рд░рд┐рд╕реЗрдЯ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдкрдирд┐ рдЬрд╛рдиреНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред

рдкрд╣рд┐рд▓реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдкрдорд╛ рдЯрд┐рдкреНрдкрдгреА рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рдХреБрд░рд╛рд╣рд░реВрд▓рд╛рдИ рдЕрдирдХрдореЗрдиреНрдЯ рдЧрд░реМрдВ, txt рд░ csv рдорд╛рд░реНрдлрдд рдЕрд╣рд┐рд▓реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЯрд┐рдкреНрдкрдгреА рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рдлрд╛рдЗрд▓рд▓рд╛рдИ рд╕рдВрд╕реНрдХрд░рдг B106 рдХреЛ рд░реВрдкрдорд╛ рдмрдЪрдд рдЧрд░реМрдВред

рдЕрдБ рд╕рд╛рдЮреНрдЪреАред рдлреЗрд░рд┐ рдмреЛрдЯрдорд╛ рдХреЗрд╣реА рдкрдард╛рдФрдВред

6. рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рдердкрдмрд╛рдЯ рдкреНрд░реЗрд╖рдг

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

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдЙрджрд╛рд╣рд░рдгрдорд╛ рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдкрдард╛рдЙрдиреЗ рд░ рдПрдХ рдорд╛рддреНрд░ рдкреНрд░рд╢реЛрдзрди рд╣реБрдиреЗрдЫ, рддрд░ рдХреЗ рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯреИ рдХреБрд░рд╛ рдзреЗрд░реИ рдкрдЯрдХ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ?

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

рдПрдХреИ рд╕рдордпрдорд╛, рд╣рд╛рдореА рдШрдбреАрд╕рдБрдЧ рд╕рдореНрдЭреМрддрд╛ рдЧрд░реНрдиреЗрдЫреМрдВ; рд╣рд╛рдореАрд▓рд╛рдИ рдкрдЫрд┐ рдЪрд╛рд╣рд┐рдиреНрдЫ (рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпрд╕ рдЙрджрд╛рд╣рд░рдгрдорд╛ рд╣рд╛рдореАрд▓рд╛рдИ рдпрд╕рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрджреИрди :)

рдХреЗрд╣рд┐ рдХреЛрдб #6.1

Write-Output "This is Part 6"
$Timezone = (Get-TimeZone)
IF($Timezone.SupportsDaylightSavingTime -eq $True){
    $TimeAdjust =  ($Timezone.BaseUtcOffset.TotalSeconds + 3600) } # ╨┐╤А╨╕╨▓╨╡╨┤╨╡╨╜╨╜╨╛╨╡ ╨▓╤А╨╡╨╝╤П
    ELSE{$TimeAdjust = ($Timezone.BaseUtcOffset.TotalSeconds) 
    }
    
function MyFirstFunction($SomeExampleForFunction1){
$TimeNow = Get-Date
$TimeNow.ToUniversalTime()
# $MyText02 = $TimeNow + " " + $SomeExampleForFunction1 # ╨╕ ╨▓╨╛╤В ╤В╤Г╤В ╨╝╤Л ╨┐╨╛╨╗╤Г╤З╨╕╨╝ ╨╛╤И╨╕╨▒╨║╤Г
$MyText02 = $SomeExampleForFunction1 + " " + $TimeNow # ╨░ ╤В╤Г╤В ╨╜╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╝, ╨║╤В╨╛ ╨┤╨╛╨│╨░╨┤╨░╨╡╤В╤Б╤П ╨┐╨╛╤З╨╡╨╝╤Г - ╤В╨╛╤В ╨╝╨╛╨╗╨╛╨┤╨╡╤Ж.

$URL4SendFromFunction = "https://api.telegram.org/bot$MyToken/sendMessage?chat_id=$MyChatID&text=$MyText02"
Invoke-WebRequest -Uri $URL4SendFromFunction -Proxy $MyProxy
}

рддрдкрд╛рдИрд▓реЗ рд╕рдЬрд┐рд▓реИ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ $MyToken рд░ $MyChatID рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджрдЫ, рдЬреБрди рдкрд╣рд┐рд▓реЗ рд╣рд╛рд░реНрдб-рдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

рдпреЛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди, рд░ рдпрджрд┐ $MyToken рдкреНрд░рддреНрдпреЗрдХ рдмрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╣реЛ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ $MyChatID рдХреБрд░рд╛рдХрд╛рдиреАрдХреЛ рдЖрдзрд╛рд░рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫред

рдпрджреНрдпрдкрд┐, рдпреЛ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рднрдПрдХреЛрд▓реЗ, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдЕрд╣рд┐рд▓реЗ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрдиреЗрдЫреМрдВред

$MyVocabExample4AsArray рдПрд░реЗ рд╣реЛрдЗрди, рдпрджреНрдпрдкрд┐ рдпреЛ рдПрдХрд╕рдБрдЧ рдзреЗрд░реИ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫ, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВ рдпрд╕рд▓рд╛рдИ рдорд╛рддреНрд░ рд▓рд┐рди рд╕рдХреНрдиреБрд╣реБрдиреНрди рдпрд╕рдХреЛ рд▓рдореНрдмрд╛рдЗ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдлреЗрд░рд┐ рдПрдХрдкрдЯрдХ рд╣рд╛рдореАрд▓реЗ рдЧрд░реНрди рдирд╕рдХрд┐рдиреЗ рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ - рдХреЛрдб рдЕрдиреБрд╕рд╛рд░ рдкреНрдпрд╛рд░рд╛рд╕реБрдЯ рд╣реЛрдЗрди - рдпрд╕рд▓рд╛рдИ рд▓рд┐рдиреБрд╣реЛрд╕реН рд░ рдЧрдгрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдХреЗрд╣рд┐ рдХреЛрдб #6.2

$MaxRandomExample = 0 
foreach ($Obj in $MyVocabExample4AsArray) {
$MaxRandomExample ++
}
Write-Output $MaxRandomExample
$RandomExample = Get-Random -Minimum 0 -Maximum ($MaxRandomExample)
$TextForExample1 = $MyVocabExample4AsArray[$RandomExample].Original
# MyFirstFunction($TextForExample1)
# ╨╕╨╗╨╕ ╨▓ ╨╛╨┤╨╜╤Г ╤Б╤В╤А╨╛╨║╤Г
# MyFirstFunction($MyVocabExample4AsArray[Get-Random -Minimum 0 -Maximum ($MaxRandomExample -1)].Example)
# ╨г╨│╨░╨┤╨░╨╣╤В╨╡ ╤Б╨░╨╝╨╕, ╨║╨░╨║╨╛╨╣ ╨┐╤А╨╕╨╝╨╡╤А ╨╗╨╡╨│╤З╨╡ ╤З╨╕╤В╨░╨╡╤В╤Б╤П ╨┐╨╛╤Б╤В╨╛╤А╨╛╨╜╨╜╨╕╨╝╨╕ ╨╗╤О╨┤╤М╨╝╨╕.

рдЕрдирд┐рдпрдорд┐рдд рд░реЛрдЪрдХ рд╕реБрд╡рд┐рдзрд╛ред рдорд╛рдиреМрдВ рд╣рд╛рдореА 0 рд╡рд╛ 1 рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ (рд╣рд╛рдореАрд╕рдБрдЧ рдПрд░реЗрдорд╛ рдХреЗрд╡рд▓ рджреБрдИ рддрддреНрд╡рд╣рд░реВ рдЫрдиреН)ред рд╕реАрдорд╛рд╣рд░реВ 0..1 рд╕реЗрдЯ рдЧрд░реНрджрд╛, рд╣рд╛рдореАрд▓реЗ "1" рдкрд╛рдЙрдиреЗрдЫреМрдВ?
рд╣реЛрдЗрди - рд╣рд╛рдореАрд▓реЗ рдпреЛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдЫреИрдиреМрдВ, рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рд╡рд┐рд╢реЗрд╖ рдЙрджрд╛рд╣рд░рдг рдЫ рдЙрджрд╛рд╣рд░рдг 2: 0 рд░ 99 рдХреЛ рдмреАрдЪрдорд╛ рдЕрдирд┐рдпрдорд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН Get-Random -рдЕрдзрд┐рдХрддрдо 100
рддреНрдпрд╕рдХрд╛рд░рдг, 0..1 рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдЗрдЬ 0..2 рд╕реЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЕрдзрд┐рдХрддрдо рддрддреНрд╡ рд╕рдВрдЦреНрдпрд╛ = 1 рд╕рдВрдЧред

7. рдЖрдЧрдорди рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рдкреНрд░рд╢реЛрдзрди рд░ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдо рд▓рдореНрдмрд╛рдЗ

рд╣рд╛рдореА рдкрд╣рд┐рд▓реЗ рдХрд╣рд╛рдБ рд░реЛрдХрд┐рдпреМрдВ? рд╣рд╛рдореАрд╕рдБрдЧ рдкреНрд░рд╛рдкреНрдд рднреНрдпрд╛рд░реАрдПрдмрд▓ $MyMessageGet рдЫ
рд░ рдпрд╕рдмрд╛рдЯ рдкреНрд░рд╛рдкреНрдд $Content4Pars01, рдЬрд╕рдордзреНрдпреЗ рд╣рд╛рдореА Content4Pars01.result array рдХреЛ рддрддреНрд╡рд╣рд░реВрдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдЫреМрдВред

$Content4Pars01.result[0].update_id
$Content4Pars01.result[0].message
$Content4Pars01.result[0].message.text

рдмрдЯ /message10, /message11, /message12, /word рд░ рдлреЗрд░рд┐ /word рд░ /hello рдкрдард╛рдЙрдиреБрд╣реЛрд╕реНред
рд╣рд╛рдореАрд▓реЗ рдХреЗ рдкрд╛рдпреМрдВ рд╣реЗрд░реМрдВ:

$Content4Pars01.result[0].message.text
$Content4Pars01.result[2].message.text

рдкреНрд░рд╛рдкреНрдд рд╕рдмреИ рдорд╛рд░реНрдлрдд рдЬрд╛рдиреБрд╣реЛрд╕реН рд░ рд╕рдиреНрджреЗрд╢ / рд╢рдмреНрдж рдерд┐рдпреЛ рднрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реН
рдирд┐рд░реНрдорд╛рдгрдХреЛ рдорд╛рдорд▓рд╛, рдЬрд╕рд▓рд╛рдИ рдХрд╕реИрд▓реЗ if-elseif рдХреЛ рд░реВрдкрдорд╛ рд╡рд░реНрдгрди рдЧрд░реНрджрдЫ, рдпрд╕рд▓рд╛рдИ Powershell рдорд╛ рднрдирд┐рдиреНрдЫ рд╕реНрд╡рд┐рдЪ рдорд╛рд░реНрдлрддред рдПрдХреИ рд╕рдордпрдорд╛, рддрд▓рдХреЛ рдХреЛрдбрд▓реЗ -wildcard рдХреБрдЮреНрдЬреА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬреБрди рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдкрдирд┐ рдЫред

рдХреЗрд╣рд┐ рдХреЛрдб #7.1

Write-Output "This is part 7"
Foreach ($Result in $Content4Pars01.result) # ╨Ф╨░, ╨╝╨╛╨╢╨╜╨╛ ╤Б╨┤╨╡╨╗╨░╤В╤М ╨▒╤Л╤Б╤В╤А╨╡╨╡ 
 { 
    switch -wildcard ($Result.message.text) 
            {
            "/word" {MyFirstFunction($TextForExample1)}
            }
}

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

рддрд░ рд░реЛрдХреНрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореАрд▓реЗ рдлреЗрд░рд┐ /рд╢рдмреНрдж рдкрдард╛рдПрдиреМрдВ, рддреНрдпрд╕реЛрднрдП рдХрд┐рди рд╕рдиреНрджреЗрд╢ рдкреБрди: рдкреНрд░рд╢реЛрдзрди рднрдЗрд░рд╣реЗрдХреЛ рдЫ?

рдмреЛрдЯрдорд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдордХреЛ рдПрдХ рд╕реАрдорд┐рдд рд▓рдореНрдмрд╛рдЗ рдЫ (рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ 100 рд╡рд╛ 200 рд╕рдиреНрджреЗрд╢рд╣рд░реВ) рд░ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЦрд╛рд▓реА рдЧрд░реНрдиреБрдкрд░реНрдЫред

рдпреЛ рдЕрд╡рд╢реНрдп рдкрдирд┐ рдХрд╛рдЧрдЬрд╛рддрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкрдвреНрдиреБ рдкрд░реНрдЫ!

рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореАрд▓рд╛рдИ ?chat_id рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдЪрд╛рд╣рд┐рдиреНрдЫ, рд░ &timeout, &limit, &parse_mode=HTML рд░ &disable_web_page_preview=true рдЕрдЭреИ рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред

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

рд╣реЗрд░реМрдВ:

$Content4Pars01.result[0].update_id
$Content4Pars01.result[1].update_id 
$Content4Pars01.result | select -last 1
($Content4Pars01.result | select -last 1).update_id

рд╣реЛ, рд░ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд░рд┐рд╕реЗрдЯ рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рдкреНрд░рдХрд╛рд░реНрдпрд▓рд╛рдИ рдереЛрд░реИ рдкреБрди: рд▓реЗрдЦреНрдиреЗрдЫреМрдВред рд╣рд╛рдореАрд╕рдБрдЧ рджреБрдИрд╡рдЯрд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН - рд╕рдореНрдкреВрд░реНрдг рд╕рдиреНрджреЗрд╢рд▓рд╛рдИ рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рдкрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд╡рд╛ рд╕рдиреНрджреЗрд╢ ID рдорд╛рддреНрд░ рджрд┐рдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рд░рд┐рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рджреЛрд╕реНрд░реЛ рдПрдХ рд╕рд░рд▓ рджреЗрдЦрд┐рдиреНрдЫред

рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореНрд░реЛ "рд╕рдмреИ рд╕рдиреНрджреЗрд╢рд╣рд░реВ" рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдереНрдпреЛ

$URLGET = "https://api.telegram.org/bot$MyToken/getUpdates"

рд░ рдпреЛ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреЗрдЫ

$LastMessageId = ($Content4Pars01.result | select -last 1).update_id
$URLGET1 = "https://api.telegram.org/bot$mytoken/getUpdates?offset=$LastMessageId&limit=100" 
$MyMessageGet = Invoke-WebRequest -Uri $URLGET1 -Method Get -Proxy $MyProxy 

рдХрд╕реИрд▓реЗ рдкрдирд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рд╕рдмреИ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди, рд░ рд╕рдлрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрд░реЛрдз рдЕрдкреБрд╖реНрдЯ -> рдкреБрд╖реНрдЯрд┐ рдЧрд░реЗрдкрдЫрд┐ рдорд╛рддреНрд░ рдирд┐рд╖реЗрдз рдЧрд░реНрджреИрдиред

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

рдХреЛрдб рдХреЛ рдХреЗрд╣рд┐ рдердк рд▓рд╛рдЗрдирд╣рд░реБ

$LastMessageId = ($Content4Pars01.result | select -last 1).update_id  #╨╛╤И╨╕╨▒╨║╤Г ╨▓ ╤Н╤В╨╛╨╝ ╨╝╨╡╤Б╤В╨╡ ╨┐╤А╨╡╨┤╨┐╨╛╨╗╨░╨│╨░╨╡╤В╤Б╤П ╨╕╤Б╨┐╤А╨░╨▓╨╕╤В╤М ╤Б╨░╨╝╨╛╤Б╤В╨╛╤П╤В╨╡╨╗╤М╨╜╨╛. 
$URLGET1 = "https://api.telegram.org/bot$mytoken/getUpdates?offset=$LastMessageId&limit=100" 
Invoke-WebRequest -Uri $URLGET1 -Method Get -Proxy $MyProxy

8. рдирд┐рд╖реНрдХрд░реНрд╖рдХреЛ рд╕рдЯреНрдЯрд╛

рдЖрдзрд╛рд░рднреВрдд рдХрд╛рд░реНрдпрд╣рд░реВ - рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкрдвреНрдиреЗ, рд▓рд╛рдо рд░рд┐рд╕реЗрдЯ рдЧрд░реНрдиреЗ, рдлрд╛рдЗрд▓рдмрд╛рдЯ рдкрдвреНрдиреЗ рд░ рдлрд╛рдЗрд▓рдорд╛ рд▓реЗрдЦреНрдиреЗ рдХрд╛рдорд╣рд░реВ рдЧрд░рд┐рдиреНрдЫ рд░ рджреЗрдЦрд╛рдЗрдиреНрдЫред

рддреНрдпрд╣рд╛рдБ рдХреЗрд╡рд▓ рдЪрд╛рд░ рдЪреАрдЬрд╣рд░реВ рдЧрд░реНрди рдмрд╛рдБрдХреА рдЫ:

  • рдЪреНрдпрд╛рдЯрдорд╛ рдЕрдиреБрд░реЛрдзрдХреЛ рд╕рд╣реА рдЬрд╡рд╛рдл рдкрдард╛рдЙрдБрджреИ
  • рдмреЛрдЯ рдердкрд┐рдПрдХреЛ рдХреБрдиреИ рдкрдирд┐ рдЪреНрдпрд╛рдЯрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрдард╛рдЙрдБрджреИ
  • рд▓реВрдкрдорд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджреИ
  • рд╡рд┐рдиреНрдбреЛрдЬ рд╢реЗрдбреНрдпреВрд▓рд░рдмрд╛рдЯ рдмреЛрдЯ рд╕реБрд░реБ рдЧрд░реНрджреИред

рдпреА рд╕рдмреИ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд░рд▓ рдЫрдиреН рд░ рдорд╛рдкрджрдгреНрдбрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдкрдвреЗрд░ рд╕рдЬрд┐рд▓реИ рдкреВрд░рд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ
Set-ExecutionPolicy рдЕрдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд рд░ -ExecutionPolicy рдмрд╛рдЗрдкрд╛рд╕
рдлрд╛рд░рдо рдХреЛ рдЪрдХреНрд░

$TimeToSleep = 3 # ╨╛╨┐╤А╨╛╤Б ╨║╨░╨╢╨┤╤Л╨╡ 3 ╤Б╨╡╨║╤Г╨╜╨┤╤Л
$TimeToWork = 10 # ╨╝╨╕╨╜╤Г╤В
$HowManyTimes = $TimeToWork*60/$TimeToSleep # ╤Б╤З╨╡╤В╤З╨╕╨║ ╨┤╨╗╤П ╤Ж╨╕╨║╨╗╨░
$MainCounter = 0
for ($MainCounter=0; $MainCounter -le $HowManyTimes) {
sleep $TimeToSleep
$MainCounter ++

рдкрдвреНрдиреБ рднрдПрдХреЛрдорд╛ рд╕рдмреИрд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рджред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди