ΠΡΠ»Π°Π΄ΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Windows PowerShell — PowerShell
- Π‘ΡΠ°ΡΡΡ
- Π§ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 7Β ΠΌΠΈΠ½
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² (ISE) Windows PowerShell.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°Β β ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ΅Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ Π² ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π²ΠΈΠ΄ΠΈΠΌΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ.
Π ΡΡΠ΅Π΄Π΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Windows PowerShell ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈ Π²ΠΈΠ΄Π° ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°:
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π²Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
Π ΡΡΠ΅Π΄Π΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Windows PowerShell ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ, Π½ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Set-PSBreakpoint. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Windows PowerShell, ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅Π½Ρ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π’ΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ β ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Set-PSBreakpoint:
# This command sets a breakpoint on the Server variable in the Sample.ps1 script. Set-PSBreakpoint -Script sample.ps1 -Variable Server
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅ Windows PowerShell.
Π ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ β ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Get-PSBreakpoint:
# This command lists all breakpoints in the current session. Get-PSBreakpoint
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π£Π΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, Π»ΡΡΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π΅. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ToggleBreakpoint (Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°). ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ: ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ
# This command deletes the breakpoint with breakpoint ID 2. Remove-PSBreakpoint -Id 2
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ β ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Remove-PSBreakpoint:
# This command deletes all of the breakpoints in the current session. Get-PSBreakpoint | Remove-PSBreakpoint
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΅Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΠ½Π° ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ: ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F9 Π»ΠΈΠ±ΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ β ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Disable-PSBreakpoint.
# This command disables the breakpoint with breakpoint ID 0. Disable-PSBreakpoint -Id 0
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΅Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ; ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π°. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ β ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Disable-PSBreakpoint:
# This command disables all breakpoints in the current session. # You can abbreviate this command as: "gbp | dbp". Get-PSBreakpoint | Disable-PSBreakpoint
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ: ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F9 Π»ΠΈΠ±ΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ β ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Enable-PSBreakpoint:
# This command enables breakpoints with breakpoint IDs 0, 1, and 5. Enable-PSBreakpoint -Id 0, 1, 5
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
# This command enables all breakpoints in the current session. # You can abbreviate the command by using their aliases: "gbp | ebp". Get-PSBreakpoint | Enable-PSBreakpoint
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π°Π½ΡΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π΅Π»ΡΠ·Ρ Π·Π°Π΄Π°Π²Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ»ΠΈ Set-PSBreakpoint. ΠΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎ Π΅Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ.
ΠΠ°ΡΠ°Π»ΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F5, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ/ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ°. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π Π½Π΅ΠΉ ΠΎΠ½ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F5, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Run Script (ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ) Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Run/Continue (ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ/ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ) Π² ΠΌΠ΅Π½Ρ Debug (ΠΡΠ»Π°Π΄ΠΊΠ°) Π»ΠΈΠ±ΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ C
Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΠΠΠ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π° ΠΏΡΠΈ Π΅Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈΒ β Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²
Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠ·Π²Π°Π½Π½ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Π² Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π ΡΠ°ΠΌΠΎΠΉ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈ Π΅Π³ΠΎ ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π΅Π΅ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠ³Π»Π° Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° Π΄ΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. Π ΡΠ°ΠΌΠΎΠΉ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°Π½Π° ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ CTRL+SHIFT+D, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Display Call Stack (ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²) Π² ΠΌΠ΅Π½Ρ Debug (ΠΡΠ»Π°Π΄ΠΊΠ°) ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ K
Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΠΠΠ.
ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ SHIFT+F5, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Stop Debugger (ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ) Π² ΠΌΠ΅Π½Ρ Debug (ΠΡΠ»Π°Π΄ΠΊΠ°) ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Q
Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΠΠΠ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π³ΠΎΠ² Ρ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠΌ, Π·Π°Ρ ΠΎΠ΄ΠΎΠΌ ΠΈ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡΒ β ΡΡΠΎ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π·Π°Π΄Π°ΡΠΈ, ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π³ΠΈ Ρ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠΌ, Π·Π°Ρ ΠΎΠ΄ΠΎΠΌ ΠΈ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ:
ΠΠ°Π΄Π°ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ | Description | Π‘ΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² PowerShell |
---|---|---|
Π¨Π°Π³ Ρ Π·Π°Ρ ΠΎΠ΄ΠΎΠΌ | ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ ΠΏΠΎ ΡΠ°Π³Π°ΠΌ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ S Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΠΠΠ. |
Π¨Π°Π³ Ρ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠΌ | ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F10, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Step Over (Π¨Π°Π³ Ρ ΠΎΠ±Ρ
ΠΎΠ΄ΠΎΠΌ) Π² ΠΌΠ΅Π½Ρ Debug (ΠΡΠ»Π°Π΄ΠΊΠ°) ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ V Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΠΠΠ. |
Π¨Π°Π³ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ | ΠΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ. ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ Π² Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ SHIFT+F11, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Step Out (Π¨Π°Π³ Ρ Π²ΡΡ
ΠΎΠ΄ΠΎΠΌ) Π² ΠΌΠ΅Π½Ρ Debug (ΠΡΠ»Π°Π΄ΠΊΠ°) ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ O Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΠΠΠ. |
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ | ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ·ΠΎΠ²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ Π² Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ F5, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Run/Continue (ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ/ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ) Π² ΠΌΠ΅Π½Ρ Debug (ΠΡΠ»Π°Π΄ΠΊΠ°) ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ C Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΠΠΠ. |
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅
ΠΡΠΈ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ.
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ.
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ :
$_
$Input
$MyInvocation
$PSBoundParameters
$Args
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°, Π° Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ. ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
($_
, $Input
, $MyInvocation
, $PSBoundParameters
ΠΈ $Args
) ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°Π²Π΅Π΄Ρ Π½Π° Π½Π΅Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈΠ»ΠΈ Π²Π²Π΅Π΄Ρ Π΅Π΅ ΠΈΠΌΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $MyInvocation
Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ $scriptName
, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $scriptName
ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π΅Π΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
# In C:\ps-test\MyScript.ps1 $scriptName = $MyInvocation.MyCommand.Path
# In the Console Pane: .\MyScript.ps1 $scriptName
C:\ps-test\MyScript.ps1
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
ΠΠ±Π·ΠΎΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² Windows PowerShell
ΠΡΠ»Π°Π΄ΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Windows PowerShell — ΠΠ°Π·Π° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π·Π½Π°Π½ΠΈΠΉ
Windows Server 2016 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Windows PowerShell Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ:
- Break All
- Π£Π΄Π°Π»ΡΠ½Π½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- Π£Π΄Π°Π»ΡΠ½Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ°
- ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ
- ΠΡΠ»Π°Π΄ΠΊΠ° Runspaces
- Π£Π΄Π°Π»ΡΠ½Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° Desired State Configuration
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
Break All
Break All (ΠΏΡΠ΅ΡΠ²Π°ΡΡ Π²ΡΡ) — ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΡ, Π΄Π°ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈ ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΠΈ ΠΊΠ°ΠΊΠΎΠ²ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ»Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Windows PowerShell ΠΈ ISE.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² ΡΠ΅Π°Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+Break
Π Windows PowerShell ISE ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Ctrl+B ΠΈΠ»ΠΈ, ΡΡΠ»ΠΊΠ½ΡΡΡ Π² ΠΌΠ΅Π½Ρ «ΠΡΠ»Π°Π΄ΠΊΠ°» ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «Break All».
Π£Π΄Π°Π»ΡΠ½Π½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ Windows PowerShell ISE ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π½Π°ΠΏΡΡΠΌΡΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅Π°Π½ΡΠ΅ Windows PowerShell. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «PSEdit», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΈ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΡΠ΅Π°Π½ΡΠ°Ρ .
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ:
[Cloud01]: PS C:\> PSEdit C:\WinDemo\Get-ComputerInfo.ps1
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ PSEdit, ΠΎΠ½ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ°ΠΉΠ» Π² ISE, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΄.
Π£Π΄Π°Π»ΡΠ½Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ°
Π Π°ΡΡΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΉ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅Π°Π½ΡΠ΅ Ρ ISE ΡΠΊΡΠΈΠΏΡ.
ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Set-PsBreakpoint Π·Π°Π΄Π°ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Write-Debug ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π²Π°ΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ , Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Ρ ΡΠΎΡΠΊΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, Π³Π΄Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΈΠΌΠ΅ΡΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ. Π ΠΈΡΡΠ½ΠΎΠΊ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² Windows Powershell ISE
ΠΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ Π²ΡΡΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅Π°Π½ΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅, ΡΡΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΡΠ°Π½ΠΎΠ²Π΅ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅Π°Π½ΡΠ΅
ΠΠ΅ Π²ΡΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΡΠ΅Π°Π½ΡΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Π°Π½Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌΡ ΡΠ΅Π°Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Connect-PSSession, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅. ΠΡΠ²ΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ.
ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΡΠ»ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ΅Π°Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Enter-PSSession, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡ Π²Π°Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΡ.
Π£Π΄Π°Π»ΡΠ½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Windows PowerShell ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΊΡΠΈΠΏΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΡΠΈ Π·Π°Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ½ΠΎΠ³Π΄Π° Π·Π°Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°Π΄ΡΠΆΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΠ°, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π’Π΅ΠΏΠ΅ΡΡ, Π² Server 2016, Windows PowerShell Π²Π²ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Debug-Job, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°ΡΡ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΡΠΈ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Debug-Job ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π°ΠΌ Π»ΠΈΠ½ΠΈΡ ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Debug-Job, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠΌ Set-PSBreakPoint ΠΈΠ»ΠΈ Wait-Debugger. ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Β«ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈΒ» ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈ Π²Π²ΠΎΠ΄Π° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ Π² ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ. Π’Π°ΠΊ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Π»ΠΈ ΠΎΠ½ Ρ ΡΠΎΡΠΊΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ Π³ΠΎΡΠΎΠ²Π° Π»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ°. Π ΠΈΡΡΠ½ΠΎΠΊ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ
ΠΡΠ»Π°Π΄ΠΊΠ° Runspaces
Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ½ΠΎΠ²ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, Π±ΡΠ» Π²Π²Π΅Π΄ΡΠ½ Runspaces. Runspaces ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π΄Π»Ρ ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π½Π΅ΡΡΡ ΡΠ΅Ρ ΠΆΠ΅ Π·Π°ΡΡΠ°Ρ, ΡΡΠΎ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Runspaces ΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° http://blogs.technet.microsoft.com/heyscriptingguy/2015/11/26/beginning-use-of-powershell- runspaces-part-1/.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Runspaces.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Runspaces
ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Runspaces Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Β«IDΒ», ΡΠΈΡΡΠ½ΠΎΠΊ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ runspaces, Π° Π·Π°ΡΠ΅ΠΌ Π²Π²Π΅ΡΡΠΈ ΡΠ΅Π°Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Debug-Runspace.
ΠΡΠ»Π°Π΄ΠΊΠ° runspace
ΠΠ΅ΡΠ²ΡΠΉ runspace, ID 1, Π²ΡΠ΅Π³Π΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅Π°Π½Ρ Windows PowerShell, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ. ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ runspacees Π² Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ.
ΠΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π² Windows PowerShell ISE β PowerShell
- Π‘ΡΠ°ΡΡΡ
- 9 ΠΌΠΈΠ½ΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Windows PowerShell. Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Integrated Scripting Environment (ISE).
ΠΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π³Π΄Π΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ΅Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π°Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠΎΡΠΊΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π²ΠΈΠ΄ΠΈΠΌΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠΎ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°.
Π ΡΡΠ΅Π΄Π΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Windows PowerShell ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°:
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠΎΠΊΠΈ . Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ°. ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π°. Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΡΠΎΠ»ΡΠΊΠΎ ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅. ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ.
ΠΠ· Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Windows PowerShell ISE ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ. ΠΡΡΠ³ΠΈΠ΅ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, Π½ΠΎ ΠΎΠ½ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Set-PSBreakpoint. ΠΡΠΎΡ Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² Windows PowerShell ISE Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Π½Ρ. ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π’ΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠΎΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ Toggle Breakpoint . ΠΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ F9 ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ Debug Π½Π°ΠΆΠΌΠΈΡΠ΅ Toggle Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° .
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Set-PSBreakpoint ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ Sample.ps1. Set-PSBreakpoint -Script sample.ps1 -Variable Server
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅ Windows PowerShell.
Π ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° . Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Get-PSBreakpoint.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅. Get-PSBreakpoint
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π΅Π΅.
ΠΡΠ»ΠΈ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ToggleBreakpoint . ΠΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ Π² ΠΌΠ΅Π½Ρ Debug ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Toggle Breakpoint . Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Remove-PSBreakpoint.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° 2. Π£Π΄Π°Π»ΠΈΡΡ-PSBreakpoint-Id 2
Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅, Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° .
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° Remove-PSBreakpoint ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅. Get-PSBreakpoint | Remove-PSBreakpoint
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΅Π΅. ΠΠ½ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π΅Π³ΠΎ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠΎΠΊΠΈ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° .
ΠΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ F9 ΠΈΠ»ΠΈ Π½Π° Π ΠΌΠ΅Π½Ρ Β«ΠΡΠ»Π°Π΄ΠΊΠ° Β» ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Β«ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Β». Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Disable-PSBreakpoint.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° 0. Disable-PSBreakpoint-Id 0
ΠΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΅Π΅; ΠΎΠ½ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ Π΅Π³ΠΎ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅, Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° . ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Disable-PSBreakpoint ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅. # ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ: "gbp | dbp". Get-PSBreakpoint | Disable-PSBreakpoint
ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈ Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° . ΠΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ F9 ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ Debug ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Enable Breakpoint . Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Enable-PSBreakpoint.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° 0, 1 ΠΈ 5. Enable-PSBreakpoint-Id 0, 1, 5
ΠΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅, Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° . Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΠΠ°Π½Π΅Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Enable-PSBreakpoint.
# ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅. # ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ: "gbp | ebp". Get-PSBreakpoint | Enable-PSBreakpoint
ΠΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π°Π½ΡΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΈΡΡ, ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠΌ. ΠΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ»ΠΈ Set-PSBreakpoint. ΠΠΎΡΠ»Π΅ ΠΠ°Ρ Π½Π°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ, Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΡ. Π‘ΠΊΡΠΈΠΏΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΎΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ F5 ΠΈΠ»ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ/ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ . Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΠ½ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠ°ΡΠ·Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ°ΠΌ ΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ F5 ΠΈΠ»ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° ,
Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ/ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ»ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ C
, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ENTER . ΠΡΠΎΡ
Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΠ΅Π½Π°ΡΠΈΡ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ
Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²
Π ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΡΠΎ ΠΎΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ββΠ½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² Π²ΡΠ²ΠΎΠ΄Π΅. Π ΡΠ°ΠΌΠΎΠΉ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈ ΡΡΡΠΎΠΊΠ° Π² Π½Π΅ΠΌ. Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΡΡΠΎΠΊΡ Π² Π½Π΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠ³Π»Π° Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° Π΄ΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. Π‘Π°ΠΌΠ°Ρ Π²Π΅ΡΡ Π½ΡΡ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΡΡΠΎΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ·Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π½Π°ΠΆΠΌΠΈΡΠ΅ CTRL + SHIFT + D ΠΈΠ»ΠΈ,
Π² ΠΌΠ΅Π½Ρ Debug ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Display Call Stack ΠΈΠ»ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ K
, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΠΠΠΠΠ’Π .
Π§ΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ SHIFT + F5 ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ
ΠΠ°Π½Π΅Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π²Π²Π΅Π΄ΠΈΡΠ΅ Q
, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ .ΠΠΠΠΠΠ’Π .
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ, Π²Ρ ΠΎΠ΄ΠΈΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅
ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π·Π° ΡΠ°Π·. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΎΠ±ΡΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π·Π°Π΄Π°Ρ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄, Π²Ρ ΠΎΠ΄ ΠΈ Π²ΡΡ ΠΎΠ΄.
ΠΠ°Π΄Π°ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² PowerShell ISE |
---|---|---|
ΠΠΎΠΉΠ΄ΠΈΡΠ΅ Π²Π½ΡΡΡΡ | ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΠ°, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ F11 ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ Debug ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Step Into ΠΈΠ»ΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ S ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ENTER . |
ΠΠ΅ΡΠ΅ΡΠ°Π³Π½ΡΡΡ | ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ F10 ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ Debug ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Step Over ΠΈΠ»ΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ V ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ENTER . |
ΠΡΡ ΠΎΠ΄ | ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π²Π²Π΅ΡΡ , Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π°. ΠΡΠ»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅Π»Π΅, ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ SHIFT + F11 , ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΡΡ
ΠΎΠ΄ , ΠΈΠ»ΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ O ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ENTER . |
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ | : ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ·ΠΎΠ²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. | ΠΠ°ΠΆΠΌΠΈΡΠ΅ F5 ΠΈΠ»ΠΈ Π² ΠΌΠ΅Π½Ρ ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ/ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ»ΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ C ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ENTER . |
ΠΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²:
ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ.
Π ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ENTER .
ΠΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ Π² ISE Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΠΎΠΊΠ° Π²Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΠ°Π½Π΅Π»Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ·ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ΅.
ΠΠ»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
$_
$ΠΠ²ΠΎΠ΄
$MyInvocation
$PSBoundParameters
$Args
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ in
Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, Π° Π½Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠΊΡΠΈΠΏΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ
Π²ΠΎΠΊΡΡΠ³ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
( $_
, $Input
, $MyInvocation
, $PSBoundParameters
ΠΈ $Args
)
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°:
Π ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠΎΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π»ΠΈΠ±ΠΎ Π½Π°Π²Π΅Π΄Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΠΈΠ»ΠΈ Π²Π²Π΅Π΄Ρ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $MyInvocation
, Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π² Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ $scriptName
, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $scriptName
, ΡΡΠΎΠ±Ρ
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
# Π C:\ps-test\MyScript.ps1 $scriptName = $MyInvocation.MyCommand.Path
# Π ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ: .\MyScript.ps1 $scriptName
C:\ps-ΡΠ΅ΡΡ\MyScript.ps1
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Windows PowerShell ISE
ΠΎΠ± ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°Ρ — PowerShell | Microsoft Learn
- Π‘ΡΠ°ΡΡΡ
- 15 ΠΌΠΈΠ½ΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ PowerShell.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠ»Π°Π΄ΠΊΠ° β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠ»Π°Π΄ΡΠΈΠΊ PowerShell ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Ρ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΠΈ Π²ΡΡΠ²Π»ΡΠ΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² Π²Π°ΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ , ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ PowerShell Desired State Configuration (DSC) ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ PowerShell 5.0, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ PowerShell Π±ΡΠ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ
Π»ΠΈΠ±ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π»ΠΈΠ±ΠΎ Π² Windows PowerShell ISE Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ
. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ
Π·Π°ΠΏΡΡΡΠΈΡΡ Enter-PSSession
Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° PowerShell Π²
ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Enter-PSSession
Π±ΡΠ»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ
ΠΈ Π²ΠΎΠΉΡΠΈ Π² ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π°Π½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°
ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΠ΅Π°Π½Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. ΠΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ
ΡΠΊΡΠΈΠΏΡ ΡΠΆΠ΅ Π΄ΠΎΡΡΠΈΠ³ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Enter-PSSession
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ
ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ΅Π°Π½ΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° PowerShell Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ PowerShell ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. PowerShell ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°
ΠΡΠ»Π°Π΄ΡΠΈΠΊ PowerShell Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ²:
-
Set-PSBreakpoint
: Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΡΡΠΎΠΊΠ°Ρ , ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ . -
Get-PSBreakpoint
: ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅. -
Disable-PSBreakpoint
: ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅. -
Enable-PSBreakpoint
: ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅. -
Remove-PSBreakpoint
: Π£Π΄Π°Π»ΡΠ΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°. -
Get-PSCallStack
: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠ°ΠΏΡΡΠΊ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΈΡΡ.
ΠΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ.
Π§ΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ
ΠΏΠΎΠ»Π½ΡΠΉ. ΠΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΡΠΎΠΏ
ΠΈΠ»ΠΈ t
.
ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ PowerShell ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Windows PowerShell ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΌΠ΅Π½Ρ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π² Π΄ΡΡΠ³ΠΈΡ Ρ ΠΎΡΡ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΠΌ. ΡΠΌ. Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΎΡΡ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
s
,StepInto
: ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.v
,StepOver
: ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π½ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠ·ΡΠ²Ρ. ΠΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.Ctrl+Break
: (Π Π°Π·Π±ΠΈΡΡ Π²ΡΠ΅ Π² ISE) ΠΡΠ΅ΡΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»Ρ PowerShell ΠΈΠ»ΠΈ Windows PowerShell ISE. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Ctrl + ΠΠ΅ΡΠ΅ΡΡΠ² Π² Windows PowerShell 2.0, 3.0 ΠΈ 4.0 Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Break All ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ.o
,StepOut
: ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ; Π²Π²Π΅ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Ρ. ΠΡΠ»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅Π»Π΅ ΠΎΠ½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.c
,ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
: ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈΠ»ΠΈ Π΄ΠΎ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ°Π³Π½ΡΠ» ΡΠ΅ΡΠ΅Π·.l
,Π‘ΠΏΠΈΡΠΎΠΊ
: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠΎΠΊΡ, ΠΏΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΡΡΠΎΠΊ ΠΈ 10 ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΡΠΎΠΊ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ ENTER.Π» <ΠΌ>
,Π‘ΠΏΠΈΡΠΎΠΊ
: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ 16 ΡΡΡΠΎΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ ΡΡΡΠΎΠΊΠΈ Π½ΠΎΠΌΠ΅Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉl
,Π‘ΠΏΠΈΡΠΎΠΊ
: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρq
,Π‘ΡΠΎΠΏ
,ΠΡΡ ΠΎΠ΄
: ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π·Π°ΠΏΡΡΠΊΠ°ΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Debug-Job
, ΠΊΠΎΠΌΠ°Π½Π΄Π°Exit
ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ.k
,Get-PsCallStack
: ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ².?
,h
: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Stop (q).
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ PowerShell 5.0, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Exit, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ·
Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠ΅Π°Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π½Π°ΡΠ°Π»ΠΈ, Π·Π°ΠΏΡΡΡΠΈΠ² Debug-Job
ΠΈΠ»ΠΈ ΠΡΠ»Π°Π΄ΠΊΠ°-ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ²ΡΠΈΡΡ Π² ΡΠΎΡΠΊΠ΅ ΠΎΠ·Π°Π±ΠΎΡΠ΅Π½Π½ΠΎΡΡΡ, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΡΠ»ΠΈ Π²Ρ Π²Ρ ΠΎΠ΄ΠΈΡΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ «>», ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ PowerShell ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΠΎΠΊΠ° Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠ»Π°ΠΆΠ΅Π½ΠΎ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ :
$_ $ΠΡΠ³Ρ $ΠΠ²ΠΎΠ΄ $MyInvocation $PSBoundParameters
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, Π° Π½Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π² ΡΠΊΡΠΈΠΏΡΠ΅.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°, Π² ΡΠΊΡΠΈΠΏΡ, ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
$scriptArgs = $Args $scriptArgs
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $MyInvocation
ΡΠ°Π²Π½ΠΎ
ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
$scriptname = $MyInvocation.MyCommand.Path
Π‘ΡΠ΅Π΄Π° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°
ΠΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π²Ρ Π²Ρ ΠΎΠ΄ΠΈΡΠ΅ Π² ΡΡΠ΅Π΄Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°Π»ΠΈΡΡ Ρ «[DBG]:».
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ about_Prompts.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΡ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠΎΠ»Ρ PowerShell (Π½ΠΎ Π½Π΅ Π² Windows PowerShell Integrated Scripting Environment [ISE]), Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅ΠΌΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ (ASCII 62), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² PowerShell ΠΊΠΎΠ½ΡΠΎΠ»Ρ:
[DBG]: PS (get-location)>>>
Π£ΡΠΎΠ²Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ $NestedPromptLevel
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ
ΠΎΠ±ΡΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $PsDebugContext
Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ
Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π»ΠΈ Π²Ρ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
if ($PSDebugContext) {"ΠΡΠ»Π°Π΄ΠΊΠ°"} else {"ΠΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠ°"}
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $PSDebugContext
ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
[DBG]: PS>>> $PSDebugContext. InvocationInfo ΠΠΌΡ CommandLineParameters UnboundArguments ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ---- -------------------- ---------------- -------- = {} {} C:\ps-test\vote.ps1 (1)
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΈ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΠ·Π»ΠΎΠΌ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠ±Π»Π°ΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ. ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ.
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ² Get-Alias ββ
ΠΈΠ»ΠΈ Get-Variable
.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ (ΡΠΊΡΠΈΠΏΡ) ΠΎΠ±Π»Π°ΡΡΡ:
Get-Variable-scope 0
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ:
gv -s 0
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ΅. ΠΈ ΡΡΠΎ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΡΠ»Π°Π΄ΠΊΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ»ΠΈ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠ½Π° Π²ΡΠ΅, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $name
, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ
ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $name
Π² Π»ΡΠ±ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΡΡΠΎΠ½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡΠΌΠΈ Π² ΡΠ΅Π°Π½ΡΠ΅ ΠΈ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠΎΠΊΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Ρ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ ΠΠ°ΡΠ°Π»ΠΎ
, ΠΡΠΎΡΠ΅ΡΡ
ΠΈ ΠΠΎΠ½Π΅Ρ
ΡΠ°Π·Π΄Π΅Π»Ρ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
function test-cmdlet { Π½Π°ΡΠΈΠ½Π°ΡΡ { Π·Π°ΠΏΠΈΡΡ-Π²ΡΠ²ΠΎΠ΄ "ΠΠ°ΡΠ°Π»ΠΎ" } ΠΏΡΠΎΡΠ΅ΡΡ { Π·Π°ΠΏΠΈΡΡ-Π²ΡΠ²ΠΎΠ΄ "ΠΡΠΎΡΠ΅ΡΡ" } ΠΊΠΎΠ½Π΅Ρ { Π·Π°ΠΏΠΈΡΡ-Π²ΡΠ²ΠΎΠ΄ "ΠΠΎΠ½Π΅Ρ" } } C:\PS> Set-PSBreakpoint -ΠΊΠΎΠΌΠ°Π½Π΄Π° test-cmdlet C:\PS> ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ ΠΠ°ΡΠΈΠ½Π°ΡΡ ΠΡ ΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Ρ ΠΈΠ»ΠΈ ? Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Β«ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅: ΡΠ΅ΡΡ-ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΒ» ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ [DBG]: C:\PS> c ΠΡΠΎΡΠ΅ΡΡ ΠΡ ΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Ρ ΠΈΠ»ΠΈ ? Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Β«ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅: ΡΠ΅ΡΡ-ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΒ» ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ [DBG]: C:\PS> c ΠΠΎΠ½Π΅Ρ ΠΡ ΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Ρ ΠΈΠ»ΠΈ ? Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Β«ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅: ΡΠ΅ΡΡ-ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΒ» ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ # [ΠΠΠ]: C:\PS>
ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ PowerShell 5.0, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ PowerShell Π²
ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π°Π½Ρ Π»ΠΈΠ±ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π»ΠΈΠ±ΠΎ Π² Windows PowerShell ISE. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Enter-PSSession
Π±ΡΠ»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈ
Π²ΠΎΠΉΡΠΈ Π² ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π°Π½Ρ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΈ
Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΊΡΠΈΠΏΡ. ΠΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π²Π°Ρ
ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΡΠ΅Π°Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΡΠΊΡΠΈΠΏΡ Π² ΡΡΡΠΎΠΊΠ°Ρ 6, 11, 22 ΠΈ 25. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΡΡΠΈΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, ΠΏΠΎΡΠ²ΡΡΡΡ Π΄Π²Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ: ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠ΅Π°Π½Ρ, ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° DBG, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
Enter-Pssession -Cn Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Ρ ΠΎΡΡ [localhost]: PS C:\psscripts> Set-PSBreakpoint .\ttest19.ps1 6,11,22,25 ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΡΠΎΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ ID ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ -- ------ ---- ------- -------- ------ 0 ttest19.ps1 6 1 ttest19.ps1 11 2 ttest19.ps1 22 3 ttest19.ps1 25 [localhost]: PS C:\psscripts> .\ttest19.ps1 ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠΎΠΊΠΈ Π½Π° Β«C:\psscripts\ttest19.ps1:11Β» Π C:\psscripts\ttest19.ps1:11 ΡΠΈΠΌΠ²ΠΎΠ»:1 + $winRMName = "WinRM" # + ~ [localhost]: [DBG]: PS C:\psscripts>> ΡΠΏΠΈΡΠΎΠΊ 6:1..5 | foreach { ΡΠΏΠ°ΡΡ 1; ΠΠ°ΠΏΠΈΡΡ-Π²ΡΠ²ΠΎΠ΄ "hello2day $_" } 7: } β 8: 9: $ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 10 10: $psName = "PowerShell" 11:* $winRMName = "WinRM" 12: $myVar = 102 β 13: 14: for ($i=0; $i -lt $count; $i++) 15: { 16: ΡΠΏΠ°ΡΡ 1 17: ΠΠ°ΠΏΠΈΡΡ-Π²ΡΠ²ΠΎΠ΄ Β«ΠΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π°: $iΒ» 18: ΠΠ°ΠΏΠΈΡΡ-Π²ΡΠ²ΠΎΠ΄ "MyVar is $myVar" β 19: 20: ΠΏΡΠΈΠ²Π΅Ρ2Π΄Π΅Π½Ρ β 21: [localhost]: [DBG]: PS C:\psscripts>> ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π C:\psscripts\ttest19. ps1:12 ΡΠΈΠΌΠ²ΠΎΠ»:1 + $myVar = 102 # + ~ [localhost]: [DBG]: PS C:\psscripts>> Π²ΡΠΉΡΠΈ [localhost]: PS C:\psscripts> Exit-PSSession PS C:\psscripts>
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ:
PS C:\PS-test> Get-Content test.ps1 ΡΡΠ½ΠΊΡΠΈΡ PSΠ²Π΅ΡΡΠΈΡ { "PowerShell" + $PSVersionTable.PSVersion Π΅ΡΠ»ΠΈ ($PSVersionTable.PSVersion.Major -lt 6) { Β«ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΎ PowerShell 6.0!Β» } Π΅ΡΠ΅ { Β«ΠΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΠΈ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ (Π½Π°ΡΠ°Π»ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ)?Β» } } $scriptName = $MyInvocation.MyCommand.Path PSΠ²Π΅ΡΡΠΈΡ "ΠΠΎΡΠΎΠ²ΠΎ $scriptName."
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Test.ps1 Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
PS C:\ps-test> Set-PSBreakpoint -line 1 -script test. ps1
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ:
PS C:\ps-test> spb 1 -s test.ps1
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ( System.Management.Automation.LineBreakpoint ).
Π‘ΡΠΎΠ»Π±Π΅Ρ: 0 ΠΠΈΠ½ΠΈΡ 1 ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ : ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ: ΠΏΡΠ°Π²Π΄Π° ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ : 0 ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: 0 Π‘ΠΊΡΠΈΠΏΡ: C:\ps-test\test.ps1 ΠΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ : C:\ps-test\test.ps1
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ.
PS C:\ps-test> .\test.ps1
ΠΠΎΠ³Π΄Π° ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π°ΠΊΡΠΈΠ²Π΅Π½. ΠΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
Π‘ΡΡΠΎΠΊΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°.
ΠΡ ΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Ρ ΠΈΠ»ΠΈ ? Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΡΠΎΠΊΠΈ Π½Π° Β«C:\ps-test\test. ps1:1Β» test.ps1:1 ΡΡΠ½ΠΊΡΠΈΡ psversion { # ΠΠΠ>
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΊΠΎΠΌΠ°Π½Π΄Ρ) Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈ Π΄Π»Ρ
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ $MyInvocation
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $scriptName
Π½Π° ΠΏΡΡΡ
ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠΠ> Ρ test.ps1:11 $scriptName = $MyInvocation.MyCommand.Path
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $scriptName
Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Ρ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ $Π½ΡΠ»Ρ
.
ΠΠ> $ΠΈΠΌΡ_ΡΡΠ΅Π½Π°ΡΠΈΡ # ΠΠΠ>
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄ΡΡΠ³ΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΊΠΎΠΌΠ°Π½Π΄Ρ) Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ PsVersion ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠΠ> Ρ test.ps1:12 psΠ²Π΅ΡΡΠΈΡ
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $scriptName
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°, Π½ΠΎ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Ρ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΊ ΠΏΡΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠ> $scriptName C:\ps-ΡΠ΅ΡΡ\test.ps1
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄ΡΡΠ³ΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ENTER ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ «s» Π΄Π»Ρ ΡΠ°Π³Π°.
ΠΠΠ> Ρ test.ps1:2 "PowerShell" + $PSVersionTable.PSVersion
ΠΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ. Π
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, Π²Ρ
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π³Π°
. ΠΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ StepOut (o). ΠΡΠΎ
Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°) ΠΈ
ΡΠ°Π³ΠΎΠ² ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ.
ΠΠΠ> ΠΎ Windows PowerShell 2.0 ΠΠ°ΠΏΡΡΠΊΠ°Π»ΠΈ Π»ΠΈ Π²Ρ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ (ΡΡΠ°ΡΡΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅)? test.ps1:13 "ΠΠΎΡΠΎΠ²ΠΎ $scriptName"
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΡΠ°Π³ΠΈ Step, StepOut ΠΈ ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ StepOut (o).
ΠΠΎΡΠΎΠ²ΠΎ C:\ps-test\test. ps1 PS C:\ps-ΡΠ΅ΡΡ>
ΠΠΎΠΌΠ°Π½Π΄Π° StepOut Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π·Π°Π²Π΅ΡΡΠΈΠ» ΡΠ°Π±ΠΎΡΡ ΠΈ Π²Π΅ΡΠ½ΡΠ» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ Get-PsBreakpoint
ΠΈ Remove-PsBreakpoint
. (ΠΡΠ»ΠΈ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅
ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Disable-PsBreakpoint
Π²ΠΌΠ΅ΡΡΠΎ Remove-PsBreakpoint
.)
PS C:\ps-test> Get-PSBreakpoint| Remove-PSBreakpoint
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ:
PS C:\ps-test> gbp | ΡΠ±ΠΏ
ΠΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΠΏΠΈΡΠ°Π² ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
ΡΡΠ½ΠΊΡΠΈΡ delbr { gbp | ΡΠ±ΠΏ }
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $scriptname
.
PS C:\ps-test> Set-PSBreakpoint -variable scriptname -script test.ps1
ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
PS C:\ps-test> sbp -v scriptname -s test. ps1
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
PS C:\ps-test> .\test.ps1 ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° Β«C:\ps-test\test.ps1:$scriptNameΒ» (Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ) test.ps1:11 $scriptName = $MyInvocation.MyCommand.Path # ΠΠΠ>
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $scriptName
, ΡΠ°Π²Π½ΠΎΠ΅ $null
.
ΠΠ> $scriptName # ΠΠΠ>
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΊΠΎΠΌΠ°Π½Π΄Ρ) Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $scriptName
.
ΠΠ> $scriptName C:\ps-ΡΠ΅ΡΡ\test.ps1 ``PowerShell ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΊΠΎΠΌΠ°Π½Π΄Ρ) Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ. ``PowerShell ΠΠΠ> Ρ test.ps1:12 psΠ²Π΅ΡΡΠΈΡ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ PsVersion. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ StepOver (v). ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ StepOver Π½Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
ΠΠΠ> v Windows PowerShell 2.0 ΠΠ°ΠΏΡΡΠΊΠ°Π»ΠΈ Π»ΠΈ Π²Ρ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ (ΡΡΠ°ΡΡΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅)? test.ps1:13 "ΠΠΎΡΠΎΠ²ΠΎ $scriptName"
ΠΠΎΠΌΠ°Π½Π΄Π° StepOver Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Stop (t) Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°.
C:\ps-ΡΠ΅ΡΡ>
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Get-PsBreakpoint
ΠΈ Remove-PsBreakpoint
ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ.
PS C:\ps-test> Get-PSBreakpoint| Remove-PSBreakpoint
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΈ PsVersion.
PS C:\ps-test> Set-PSBreakpoint -command psversion -script test.ps1
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎ:
PS C:\ps-test> sbp -c psversion -s test.ps1
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ.
PS C:\ps-test> .\test.ps1 ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Β«C:\ps-test\test.ps1:psversionΒ» test.ps1:12 psΠ²Π΅ΡΡΠΈΡ # ΠΠΠ>
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ
ΡΡΠ½ΠΊΡΠΈΡ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ. ΠΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Set-PSBreakpoint
Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°Π΄Π°Ρ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊ
ΠΆΡΡΠ½Π°Π» ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ² ΡΡΠ΅Π½Π°ΡΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡΒ» (c) Π΄Π»Ρ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΡΡΠ΅Π½Π°ΡΠΈΡ, Π° ΠΠΎΠΌΠ°Π½Π΄Π° Remove-PsBreakpoint
Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. (ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ
Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.)
ΠΠΠ> Ρ Windows PowerShell 2.0 ΠΠ°ΠΏΡΡΠΊΠ°Π»ΠΈ Π»ΠΈ Π²Ρ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ (ΡΡΠ°ΡΡΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅)? ΠΠΎΡΠΎΠ²ΠΎ C:\ps-test\test.ps1 PS C:\ps-test> Get-PSBreakpoint| Remove-PSBreakpoint PS C:\ps-ΡΠ΅ΡΡ>
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ
ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ $scriptName
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Break Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²
Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. (ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ Π³Π°Π»ΠΎΡΠΊΠ° ( `
) ΡΠ²Π»ΡΠ΅ΡΡΡ
ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ.)
PS C:\ps-test> Set-PSBreakpoint -command psversion -script test.ps1 ` -action { add-content "ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ `$scriptName ΡΠ°Π²Π½ΠΎ $scriptName." ` -path action.log}
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π²
ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° RemoteSigned, ΡΠ°ΠΌΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ
Π²Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ. (ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ Π³Π°Π»ΠΎΡΠΊΠ° ( `
) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ.)
PS C:\ps-test> Set-PSBreakpoint -script test.ps1 -command psversion ` -action { if ((Get-ExecutionPolicy) -eq "RemoteSigned") { break }}
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Break Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Continue, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±Π΅Π· Π»ΠΎΠΌΠ°ΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β Β«ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡΒ», Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Β«Π Π°Π·ΡΡΠ²Β», ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ.
PS C:\ps-test> .\test.ps1 ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Β«C:\ps-test\test.ps1:psversionΒ» test.ps1:12 psΠ²Π΅ΡΡΠΈΡ
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ RemoteSigned , Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Get-PsCallStack
ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Get-PsCallStack
(k).
ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠΠ> ΠΊ 2: ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° 1: .\test.ps1: $args=[] 0: ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: $args=[]
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ PowerShell. ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
help <ΠΈΠΌΡ-ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°> -full
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π²Π΅Π΄ΠΈΡΠ΅:
help Set-PSBreakpoint -full
ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² PowerShell
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° PowerShell, PowerShell Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.