PowerShell рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВред рдФрд░ рдХрд╖реНрдЯ рдордд рдХрд░реЛ

рдХреНрдпрд╛ рдХрд░рдирд╛ рдерд╛


рдПрдХ рдмрд╛рд░ рдореБрдЭреЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкрдбрд╝реА рд╣реБрдИ рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдореИрдВ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ Google рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдореЗрд░реА рдорджрдж рдХреЗ рд▓рд┐рдП рдЖрдпрд╛! рдореИрдВрдиреЗ рдкрд╛рд╡рд░рд╢реЗрд▓ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХреА рд╢рдХреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╕реБрдирд╛, рдФрд░ рдЗрд╕реЗ рдЗрд╕ "рдореЗрдЧрд╛ рдЯрд╛рд╕реНрдХ" рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдХрдо рд╕реЗ рдХрдо рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ cmd.exe рдХреА рдордирд╣реВрд╕рд┐рдпрдд рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБред рдЦреИрд░, рдЗрд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХрд░рдирд╛ рд╣рдорд╛рд░рд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред


рдХреНрдпрд╛ рдЧрд▓рдд рд╣реБрдЖ?


Google рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ


Get-ChildItem -Filter *.log | Get-Content | Out-File result.txt 

"рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ! рдмрд╕ рдпреВрдирд┐рдХреНрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рддрд░рд╣!" рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред рдореИрдВрдиреЗ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛, рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдПрдВрдЯрд░ рдорд╛рд░рд╛ред рдХрд░реНрд╕рд░ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ ... рдФрд░ рдХреБрдЫ рдирд╣реАрдВред рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдВрддрд┐рдо рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реА - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдерд╛ред рдпрд╣ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рд▓рд╛рдЗрдиреЗрдВ рдереАрдВред рдХрдВрд╕реЛрд▓ рдкрд░ рд▓реМрдЯрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрднреА рднреА рд╣реИ ... рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВред рдорджрдж рдХреА Ctrl + C


рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдкрд░, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рд╕рдВрджрд┐рдЧреНрдз рд░реВрдк рд╕реЗ рдмрдбрд╝рд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ 100 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╕реЗ рдЕрдзрд┐рдХ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╛рдиреА рдХрд╛ рдбреЗрдЯрд╛ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдирд╣реАрдВ рдерд╛ред


рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реБрдЖ?


рдпрд╣ рд╕рдм рдореЗрд░реЗ "рдЖрд╕рд╛рди рд╕рдВрд╢реЛрдзрди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдореБрдЭреЗ рд╕рд┐рд░реНрдл рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд┐рд▓реНрдЯрд░ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдереАред рд╣рд╛рдВ, рдФрд░ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЯреАрдо рдиреЗ рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ, рдпрд╣ рджреЗрдЦрд╛ рдХрд┐ рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдереА, рдЗрд╕реЗ рдкрдврд╝реЗрдВ рдФрд░ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдВрдд рддрдХ рд▓рд┐рдЦреЗ рдФрд░ рддрдм рддрдХ рдХрд░реЗрдВ рдЬрдм рддрдХ рдореИрдВрдиреЗ Ctrl + C рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдореИрдВ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рдирд┐рд░рдВрддрд░ рд╡реГрджреНрдзрд┐ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред


рдореИрдВрдиреЗ рдЗрд╕реЗ "рдмрд╛рдБрдЭ" рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рддрд╣рдд рджреЛрд╣рд░рд╛рдпрд╛ред рд╕рд╛рджрдЧреА рдФрд░ рдкрд╡рд┐рддреНрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрди рдХреЛ рдорд╛рд░рдиреЗ рд╕реЗ рдбрд░рддрд╛ рд╣реВрдВ


  1. рдореИрдВ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реВрдВ


     echo "Hello world" > hello.txt 

  2. рдореИрдВ рдЖрдЬреНрдЮрд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ


     Get-ChildItem | Get-Content | Out-File result.txt 

    рдпрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ


     dir | cat | Out-File result.txt 

    рд╕рдорд╕реНрдпрд╛ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдмрдврд╝рддреА рд╣реИ, рд╕реНрд░реЛрдд рд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ (рдпрд╛ рдЦреБрдж рд╕реЗ рд▓рд╛рдЗрдиреЗрдВ?) рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рднрд░ рджреА рдЬрд╛рддреА рд╣реИред рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ 10 рд╕реЗрдХрдВрдб рдореЗрдВ:


    • рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ 400 рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ
    • рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ 11 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдмрдврд╝рдХрд░ рд▓рдЧрднрдЧ 8 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реЛ рдЧрдпрд╛
    • рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓рдЧрднрдЧ 20-25% рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИред
    • рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдпрд╛ RAM рдХрд╛ рдХреЛрдИ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, PowerShell рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред )


рдпрд╣ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ - рдпрджрд┐ рдЖрдк рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдиреЗ рдбреНрд░рдо рд░реЛрд▓ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ ... рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЦрд╛рд▓реАрдкрди рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛!


рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ "рджрд┐рд▓рдЪрд╕реНрдк" рдХрд╛рдо рдХрд╛ рддрд░реНрдХ рд╣реИ


рдХреНрдпрд╛ рд╣реБрдЖ?


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


рдХреНрдпрд╛ рдЦрддрд░рдирд╛рдХ рд╣реИ


рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдЕрдХрд▓реНрдкрдиреАрдп рднрд░рдиреЗред


рдХреИрд╕реЗ рдмрдЪреЗрдВ?


рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ:


 Get-ChildItem -Filter *.log | Get-Content | Out-File result.txt 

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


рдкреБрдирд╢реНрдЪ


рдореИрдВ PowerShell рд╕рдВрд╕реНрдХрд░рдг 5.1.17134.407 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╡реИрд╕реЗ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ, рдореИрдВрдиреЗ рдЙрди рд╕рднреА рддрд░реАрдХреЛрдВ / рддрд░реНрдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВ (рдЬреИрд╕реЗ рдЭрдВрдбреЗ рдЬреИрд╕реЗ -Version --v -h -h )ред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реБрдЖред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, Stackoverflow рдХреА рдорджрдж рдХреАред рдкреЙрд╡рд░рд╢реЗрд▓ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреИрд╕реЗ рдкрддрд╛ рдХрд░реЗрдВ


 $PSVersionTable.PSVersion 

рдЗрд╕ рдЙрддреНрддрд░ рдиреЗ рд▓рдЧрднрдЧ 3,000 рд▓рд╛рдЗрдХреНрд╕ рдПрдХрддреНрд░рд┐рдд рдХрд┐рдП рд╣реИрдВ! рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреЗ рдЬрд╡рд╛рдм рд╕реЗ рдХрдо рд╣реИ рдХрд┐ рд╡рд┐рдо рдХреЛ рдХреИрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛рдП , рд▓реЗрдХрд┐рди рдпрд╣ рднреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╣реИ!


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, PowerShell рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪреАрдЬ рд╣реИ (рдХрдо рд╕реЗ рдХрдо cmd.exe рдХреА рддреБрд▓рдирд╛ рдореЗрдВ)! рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред

Source: https://habr.com/ru/post/hi433682/


All Articles