ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ PowerShell
ΠΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ ΠΊΠΎΠ³Π΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ Π»ΠΈΠ±ΠΎ Π·Π°Π΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΡΡΠΈΠ»ΠΈΡ CSVDE ΠΈ LDIFDE Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PowerShell. ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΠ° Π½Π΅ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Π°Ρ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π²ΠΎΠ΄Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ΄ΠΎΠ±Π½Π΅ΠΉ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΈΠ· PowerShell, ΡΠ΅ΠΌ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Π² PowerShell?- Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΎΡΠ²Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΡΡΠ°ΡΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ PowerShell Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» (txt), Π½Π°Π±ΡΠ°ΡΡ Π² Π½Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π° PS1. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°- ΠΎΠ½ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ- ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ PowerShell («ΠΡΡΠΊ- ΠΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ- Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅- Windows Power Shell«) ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ CD D:/
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ° ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ:
ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» <ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ>, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ «get-help about_signing» Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ±ΠΎΡ ΡΠΊΡΠΈΠΏΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ get-help about_signing, Π»ΠΈΠ±ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Set-ExecutionPolicy remotesigned ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ (ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅!!! Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ PowerShell Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΠ²Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°.
Π― ΠΎΡΠ΅Π½Ρ Π½Π°Π΄Π΅ΡΡΡ, ΠΌΠΎΡ ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° ΠΠ°ΠΌ! ΠΡΠΎΡΡΠ±Π° ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ:
Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ Windows Ρ ΠΏΠΎΠΌΠΎΡΡΡ PowerShell. Π§Π°ΡΡΡ 2 / Netwrix corporate blog / Habr
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ Windows Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PowerShell. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΡΡ ΡΠ»ΡΠΆΠ±Ρ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΠ»ΡΠΆΠ± (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΉΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ) ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ. Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ:
- ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ»ΡΠΆΠ±Ρ
- ΠΠ°ΠΏΡΡΠΊ ΡΠ»ΡΠΆΠ±Ρ
- ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠ»ΡΠΆΠ±Ρ
- ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ
- ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ»ΡΠΆΠ±Ρ
ΠΡ ΡΠ΄Π΅Π»ΠΈΠΌ Π±ΠΎΠ»ΡΡΠ΅Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ°Π·Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² PowerShell Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π ΡΠ°Π·Π΄Π΅Π»Π΅ βΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ β ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² PowerShell v2 ΠΈ v3. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ.
Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ Windows Ρ ΠΏΠΎΠΌΠΎΡΡΡ PowerShell. Π§Π°ΡΡΡ 1. ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ°ΡΡΡ ΡΠ»ΡΠΆΠ±
PS C:\> get-service bits
Status Name DisplayName
------ ---- -----------
Running bits Background Intelligent Transfer Ser...
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΡΠ»ΡΠΆΠ±Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Get-Service, Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π°. ΠΠ° Ρ ΡΠ΄ΠΎΠΉ ΠΊΠΎΠ½Π΅Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡΠΎΡΠΈΡΡ Ρ PowerShell ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ , ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βnoun Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ.
ΠΠ·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Π΅Π΅.
STOP-SERVICE
Π§ΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΎΡΠ½ΠΈΡΡ Π΅Π΅ ΠΈΠΌΡ.
PS C:\> stop-service wuauserv
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Stop-Service, ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ΠΈ Π½Π΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ. ΠΡ ΠΆΠ΅ Π·Π°ΡΡΠ°Π²ΠΈΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βPassthru.
PS C:\> stop-service bits -PassThru
Status Name DisplayName
------ ---- -----------
Stopped bits Background Intelligent Transfer Ser...
ΠΡΠ»ΠΈ ΡΠ»ΡΠΆΠ±Π° Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½Π°, ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ²Π΅Π΄Π΅Ρ, ΡΠ°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ Π½Π΅ Π²ΡΠ΄Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² Stop-Service (Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βwhatif).
PS C:\> get-service browser | stop-service -WhatIf
What if: Performing operation βStop-Serviceβ on Target βComputer Browser (browser)β.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ βWhatIf Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½. ΠΠΎΠ³Π΄Π° Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ° ΡΠ»ΡΠΆΠ±Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»Ρ -Whatif ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Ρ ΡΠ»ΡΠΆΠ±Ρ.
PS C:\> get-service browser | stop-service
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΠ» Π²ΡΡΠ΅, Π΅ΡΠ»ΠΈ ΡΠ»ΡΠΆΠ±Π° ΡΠΆΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅Ρ. Π ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
PS C:\> get-service bits | where {$_.status -eq 'running'} | stop-service -pass
Status Name DisplayName
------ ---- -----------
Stopped bits Background Intelligent Transfer Ser...
ΠΡΠ»ΠΈ ΡΠ»ΡΠΆΠ±Π° Π·Π°ΠΏΡΡΠ΅Π½Π°, ΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Stop-Service. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π²Π°ΡΠΈΠ°Π½Ρ Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»ΡΠΆΠ±.
PS C:\> get-service bits,wsearch,winrm,spooler | where {$_.status -eq 'running'} | stop-service -whatif
What if: Performing operation "Stop-Service" on Target "Print Spooler (spooler)".
What if: Performing operation "Stop-Service" on Target "Windows Remote Management (WS-Management) (winrm)".
What if: Performing operation "Stop-Service" on Target "Windows Search (wsearch)".
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ Π½Π΅ Π·Π°Ρ ΠΎΡΡΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ β Π² ΡΠΈΠ»Ρ Π½Π°Π»ΠΈΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ»ΡΠΆΠ± β ΡΡΠΎ ΠΌΡ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π½ΠΈΠΆΠ΅.
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βForce. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Π±Π΅Π· βΠ·Π°ΡΠΈΡΡ ΠΎΡ Π΄ΡΡΠ°ΠΊΠ°β. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ.
PS C:\> stop-service lanmanserver -force βPassThru
Status Name DisplayName
------ ---- -----------
Stopped Browser Computer Browser
Stopped lanmanserver Server
START-SERVICE
ΠΠ°ΠΏΡΡΠΊ ΡΠ»ΡΠΆΠ±Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βWhatif, ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ βPassthru, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
PS C:\> start-service wuauserv -PassThru
Status Name DisplayName
------ ---- -----------
Running wuauserv Windows Update
Π ΡΠ½ΠΎΠ²Π°: Π΅ΡΠ»ΠΈ ΡΠ»ΡΠΆΠ±Π° ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠΌΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ. ΠΠ°ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ, Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅.
PS C:\> get-service lanmanserver | Foreach { start-service $_.name -passthru; start-service $_.DependentServices -passthru}
Status Name DisplayName
------ ---- -----------
Running lanmanserver Server
Running Browser Computer Browser
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Start-Service Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡ .
RESTART-SERVICE
ΠΡ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅ΡΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠ»ΡΠΆΠ±Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π΄Π²Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ βPassthru, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ»ΡΠΆΠ±Π° Π·Π°ΠΏΡΡΠ΅Π½Π°.
PS C:\> restart-service spooler -PassThru
Status Name DisplayName
------ ---- -----------
Running spooler Print Spooler
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ»ΡΠΆΠ±Ρ, Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βForce.
ΠΠ ΠΠΠ‘Π’ΠΠΠΠΠΠ Π ΠΠΠΠΠΠΠΠΠΠΠΠΠ Π ΠΠΠΠ’Π«
Π Π°Π±ΠΎΡΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΠΆΠ± ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· PowerShell. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΠ»ΡΠΆΠ±Π° Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. (Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΌΡ ΠΏΡΡΠ°Π»ΠΈΡΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ bits)
Π ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°? Π‘ΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Get-Service).
PS C:\> get-service bits | select *
Name : bits
RequiredServices : {RpcSs, EventSystem}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
DisplayName : Background Intelligent Transfer Service
DependentServices : {}
MachineName : .
ServiceName : bits
ServicesDependedOn : {RpcSs, EventSystem}
ServiceHandle : SafeServiceHandle
Status : Running
ServiceType : Win32ShareProcess
Site :
Container :
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° CanPauseAndContinue ΡΠ°Π²Π½ΠΎ True, Π·Π½Π°ΡΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΡΠΆΠ±Ρ. ΠΠ°ΠΉΠ΄Π΅ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ:
PS C:\> get-service | where {$_.CanPauseandContinue} Status Name DisplayName ------ ---- ----------- Running LanmanServer Server Running LanmanWorkstation Workstation Running MSSQLSERVER SQL Server (MSSQLSERVER) Running O2FLASH O2FLASH Running stisvc Windows Image Acquisition (WIA) Running Winmgmt Windows Management Instrumentation
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π½Π΅ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΠΆΠ± ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΡΠΎΠΌΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ.
PS C:\> suspend-service o2flash -PassThru
Status Name DisplayName
------ ---- -----------
Paused O2FLASH o2flash
ΠΠΎΡΠΎΠ²Ρ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΡΠΆΠ±Ρ? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
PS C:\> resume-service o2flash -PassThru
Status Name DisplayName
------ ---- -----------
Running O2FLASH o2flash
ΠΠ±Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ βWhatif.
Π£ΠΠΠΠΠΠΠ«Π Π‘ΠΠ£ΠΠΠ«
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π΅. Π ΡΡΠΎ Π½Π΅ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ Π΄Π°ΠΆΠ΅ Π² PowerShell v3, Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ² Π½Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» Π±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ»ΡΠΆΠ±ΠΎΠΉ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Get-Service, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βComputername, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅. Π‘Π»ΡΠΆΠ±Ρ Π»ΠΈΡΠ΅Π·ΡΠ΅ΡΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅, Π° ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Ρ Π½Π΅ΠΉ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ PS v2 ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ PowerShell Remoting. Π’ΠΎΠ³Π΄Π° ΠΌΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Invoke-Command Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ PSSession. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠΎΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ»ΡΠΆΠ±ΠΎΠΉ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ .
PS C:\> Invoke-Command {restart-service dns βpassthru} βcomp chi-dc03,chi-dc02,chi-dc01
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ
Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ, Π½ΠΎ ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΠ°ΡΠ΅ΠΉ.
ΠΡΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π·Π°ΡΠ°ΡΡΡΡ ΡΡΠΎ Π»ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Get-Service Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΈΡ
Π² ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ.
Π£Π‘Π’ΠΠΠΠΠΠΠΠΠΠ Π£ΠΠΠΠΠΠΠ«Π Π‘Π’ΠΠ’Π£Π‘
ΠΡΠ°ΠΊ, ΠΌΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Stop-Service ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ
PS C:\> set-service wuauserv -ComputerName chi-dc03 -Status stopped -WhatIf
What if: Performing operation "Set-Service" on Target "Windows Update (wuauserv)".
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βWhatIf. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ βPassthru Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ.
PS C:\> set-service bits -ComputerName chi-dc03 -Status running -PassThru
Status Name DisplayName
------ ---- -----------
Running bits Background Intelligent Transfer Ser...
ΠΠ°Π»ΠΈΠ΄Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° βStatus ΡΠ²Π»ΡΡΡΡΡ βΠ·Π°ΠΏΡΡΠ΅Π½Π°β (running), βΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°β (stopped) ΠΈ βΠ½Π° ΠΏΠ°ΡΠ·Π΅β (paused). ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Ρ ΡΠ»ΡΠΆΠ±Ρ Π΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ, ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π΅, ΡΡΠΎ ΠΈ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π½ΠΈΠΆΠ΅.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ Set-Service ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βForce, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ PowerShell remoting ΠΈ Invoke-Command. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
PS C:\> set-service w32time -ComputerName chi-dc03 -Status Stopped -PassThru | set-service -PassThru -Status Running
Status Name DisplayName
------ ---- -----------
Running w32time Windows Time
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ βPassthru, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Set-Service Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡ.
Π§ΡΠΎ ΠΏΠΎ ΠΌΠ½Π΅, ΡΠ°ΠΊ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠ°Π·Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Set-Service, Ρ
ΠΎΡΡ ΠΈΡ
Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Invoke-Command. ΠΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βComputername PowerShell ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ RPC ΠΈ DCOM, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ ΡΠ°ΠΉΡΠ²ΠΎΠ»ΠΎΠΌ. Invoke-Command ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ PowerShell remoting, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΠ΅ Π½Π΅ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΠΈΠ»ΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ.
Π£Π‘Π’ΠΠΠΠΠΠΠΠΠΠ Π’ΠΠ ΠΠΠ’ΠΠΠΠΠ£Π‘ΠΠ Π‘ΠΠ£ΠΠΠ«
Set-Service ΠΏΠΎΠ»Π΅Π·Π½Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βStartupType. ΠΡΠ»ΠΈ ΠΡ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΡΠ»ΡΠΆΠ±Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Automatic, Manual or Disabled. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΄Π»Ρ Automatic (Delayed).
PS C:\> set-service remoteregistry -StartupType Manual -WhatIf
What if: Performing operation "Set-Service" on Target "Remote Registry (remoteregistry)".
PS C:\> set-service remoteregistry -StartupType Manual -PassThru
Status Name DisplayName
------ ---- -----------
Stopped remoteregistry Remote Registry
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΎΡΡΠΎ Π²Π·Π³Π»ΡΠ½ΡΠ² Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠΈΠΏΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ½ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ.
PS C:\> get-service remoteregistry | select *
Name : remoteregistry
RequiredServices : {RPCSS}
CanPauseAndContinue : False
CanShutdown : False
CanStop : False
DisplayName : Remote Registry
DependentServices : {}
MachineName : .
ServiceName : remoteregistry
ServicesDependedOn : {RPCSS}
ServiceHandle : SafeServiceHandle
Status : Stopped
ServiceType : Win32ShareProcess
Site :
Container :
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ ΡΠ»ΡΠΆΠ±Ρ.
PS C:\> set-service remoteregistry -StartupType Disabled -PassThru
Status Name DisplayName
------ ---- -----------
Running remoteregistry Remote Registry
Π’Π°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ (ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ) ΡΠ»ΡΠΆΠ±Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ.
PS C:\> set-service remoteregistry -StartupType Disabled -PassThru | Stop-Service -PassThru
Status Name DisplayName
------ ---- -----------
Stopped remoteregistry Remote Registry
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ, Set-Service ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠΌΡ ΡΠ»ΡΠΆΠ±Ρ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π½ΠΎ Π»ΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Set-Service Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±. ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ, ΡΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Invoke-Command.
ΠΡΠ΅, ΡΡΠΎ Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π» Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΡΡΠ°ΡΡΡΡ
, Π±ΡΠ»ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ·Π²Π°Π½Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
Upd:
Π ΠΏΠΎΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΡΠ°ΡΠ΅ΠΉ Ρ ΠΏΠΎΡΡΠ°Π»Π° 4sysops.com
Managing Services the PowerShell way β Part 3
Managing Services the PowerShell way β Part 4
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ PowerShell Π² Windows
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ PowerShell Π² Windows-01
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ PowerShell Π² Windows. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠΊΡΠΈΠΏΡ ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π²Π°ΠΌ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ Active Directory, Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΠΎΡΠ½Π°ΡΡΠΊΡ powershell ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠΊΡΠΈΠΏΡΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ enter ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» <ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ>, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ «get-help about_signing» Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ.
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π΅Π΅ ΡΠ΅ΡΠΈΡΡ.
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ PowerShell Π² Windows-02
PowerShell ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΡΠ΄ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΊΠΎΠ΄Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ. ΠΡΠ΅ ΡΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ ΡΠ΅Π΅ΡΡΡΠ°, ΠΆΠΈΠ²ΡΡΠΈΠΌ Π² HKLM. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 4 ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ (Restricted): ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ (All Signed): ΠΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΡΠ°Π²Π΄Π°, Π²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Π΄ΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅; Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅Ρ Π²Π°Ρ ΡΠΈΡΠΊΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ (Π½ΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ) ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π΄ΠΎΠ²Π΅ΡΠΈΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ.
Π£Π΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ (Remote Signed): ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ. ΠΡΠ΅ ΡΠΊΠ°ΡΠ°Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ.
ΠΠ΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ (Unrestricted): ΠΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΡΠΎΠ΄Π΅ Microsoft Outlook, Internet Explorer, Outlook Express ΠΈ Windows Messenger ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΉΠ» ΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°; Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ; Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅Ρ Π²Π°Ρ ΡΠΈΡΠΊΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ , Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ PowerShell ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ Β«ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉΒ». Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, PowerShell ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°. ΠΠ½ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π»ΠΈΡΡ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Π΄ΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅.
Π Π°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² powershell
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ±ΠΎΡ ΡΠΊΡΠΈΠΏΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Set-ExecutionPolicy remotesigned ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ (ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅!!! Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ PowerShell Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΠ²Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ PowerShell Π² Windows-03
ΠΠ° Π²ΠΎΠΏΡΠΎΡ ΠΆΠΌΠ΅ΠΌ Y, Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΠΎΡΠ»Π΅ ΡΡΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π°Ρ ΡΠΊΡΠΈΠΏΡ.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΠ°ΠΉΡΠ°Β pyatilistnik.org
ΠΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π° PowerShell ΠΈΠ»ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Active Directory
ΠΠ·ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Ρ PowerShell
ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠΊΠ° ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠ° PowerShell ΠΈ ΠΡΠ½ΠΎΠ²Ρ Active Directory (Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Β«blogΒ»).
ΠΠ°Π½Π½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π½Π΅ΠΎΠ±ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ ΠΈ ΠΎΠ½ ΠΏΡΠΎΠ²Π΅Π΄Π΅Ρ Π²Π°Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΡΡΠΏΠ΅Π½ΡΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Active Directory Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°ΠΌΡΡ
Π°Π·ΠΎΠ².
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PowerShell
ΠΠ½Π°ΡΠ°Π»Π΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ PowerShell, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ Π³ΠΎΠ΄Π°ΠΌΠΈ Π²Ρ ΡΠΆΠ΅ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ cmd.exe ΠΈ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌΠΈ Β«Π±Π°ΡΠ½ΠΈΠΊΠ°ΠΌΠΈΒ» (ΡΠ°ΠΉΠ»ΠΈ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ .bat ΠΈ .cmd). Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΏΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ 2-Π³ΠΎ ΡΡΠΎΠΊΠ° Π½Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠ°, ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π²Π°ΠΌ ΡΡΠΎΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ PowerShell, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° PowerShell, ΠΎΡΠ²ΠΎΠΈΠΌ Π°Π²ΡΠΎ-Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΊΠ°ΠΊ Π² Π»ΡΠ±ΠΎΠΉ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΠΎΠΌΠ°Π½Π΄
ΠΠΎΠ½ΡΠΎΠ»Ρ PowerShell β ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΡΠ΅Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ΄Π΅ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΏΠ΅ΡΠ²Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ Π² Π±Π»ΠΎΠΊΠ½ΠΎΡΠ΅ ΠΈ Π»ΠΈΡΡ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ ΠΎΠ΄ΠΈΠ½ Π΄Π΅Π½Ρ, ΡΠΎ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ cmd.exe. Π ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π½ΠΎΠ²ΠΎΡΡΡ! ΠΠ½Π°ΡΠΈΡ Π²Ρ ΡΠ°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ ΡΡΠΎ ΠΈ ΠΈΠ· PowerShell. ΠΡΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠΈΡΡΠΈΠ½Π΅ ΠΌΡΠ΄ΡΠΎΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Microsoft, ΡΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΠΎΡΠ°ΡΠΎΡΠΎΠ².
ΠΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ Π²ΠΈΠ΄Ρ, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ PowerShell Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ cmd.exe. ΠΡΠΈΠ΅ΠΌΡ ΠΈ Π½Π°Π²ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠΆΠ΅ Π²Π»Π°Π΄Π΅Π΅ΡΠ΅, Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π² PowerShell. Π Π΅ΡΠ»ΠΈ Π²Ρ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ ΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ, ΠΊ ΡΠΎΠΌΡ ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΎ ΠΏΡΠΈΠ²ΡΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°ΡΡ PowerShell, Π° Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π°.
ΠΡΠ΅ Π²Π°ΡΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ping, ipconfig, nslookup, ΠΈ Ρ. ΠΏ. Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅.
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ PowerShell
ΠΡΠ΄ΠΈ Π»ΡΠ±ΡΡ PowerShell, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊ, Π½Ρ, ΠΌΠΎΡΠ½ΠΎ! ΠΠΎ ΡΡΠ° ΡΠΈΠ»Π° ΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅Π·ΡΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π° Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΈ Π½Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΡΠΎ-ΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ» Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ, ΡΠ»Π°Π³ΠΈ, ΡΠΈΠ»ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ PowerShell ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ.
Π ΡΡΠ°ΡΡΡΡ, ΠΏΡΡΠΌΠΎ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΡΠΈΠΌ.
ΠΠ²ΡΠΎ-Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ Tab
ΠΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ ΡΠΎΡΠ½ΠΎΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°Π±Π΅ΡΠΈΡΠ΅
get-c
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΆΠΈΠΌΠ°Ρ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ Tab β Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ Π²Π²Π΅Π»ΠΈ. ΠΡΠΈΡΠ΅ΠΌ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ΅Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΠΎΡΠ»Π°ΡΡΡΡ: Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΈ ΡΠ»Π°Π³Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π°Π²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»Π½ΡΡ ΠΏΡΡΠ΅ΠΉ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠΎΠΌΠ°Π½Π΄Π° Get-Command
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Tab ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΡ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π°ΠΌ Π½ΡΠΆΠ½Π°? Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: Get-Command.
Π ΠΏΠΎΠΈΡΠΊΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π½ΠΈΡ : ΠΠ»Π°Π³ΠΎΠ»-Π‘ΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΠ»Π°Π³ΠΎΠ»Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ β Get (ΠΠΎΠ»ΡΡΠΈΡΡ), Set (Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ), Add (ΠΠΎΠ±Π°Π²ΠΈΡΡ), Clear (ΠΡΠΈΡΡΠΈΡΡ), Read (Π§ΠΈΡΠ°ΡΡ) ΠΈ Write (ΠΠΈΡΠ°ΡΡ) ΠΈ Π‘ΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ β ΡΠ°ΠΉΠ»Ρ, ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΡΠ½ΠΎΡΡΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
Get-Command β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² PowerShell
ΠΡΠΎ-ΡΠΎ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΠΎΠΏΠΈΡΠ°Π» ΡΠ·ΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ² Perl, ΠΊΠ°ΠΊ βΡΡΠΌ ΠΈΠ· ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°β (ΠΎΡΠΈΠ³. βexecutable line noiseβ) β Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Ρ Π΄ΠΈΠΊΠΎ Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΠΎΡΠΎΠ³ΠΎΠΌ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ.
Π₯ΠΎΡΡ Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΡΠΎ ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π² Windows Π½Π΅ ΡΠ°ΠΊ ΡΠΆ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ»Π°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±ΡΡΡ Π·Π°Π΄Π°ΡΡ ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ βfooβ.
CMD: FOR /D /R %G IN (βFoo*β) DO @ECHO %G
FOR ΠΈ DO ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠΈΠΊΠ».
Π€Π»Π°Π³ /D ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠΈΠΊΠ» ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ
Π€Π»Π°Π³ /R ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ
Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠΉ Π½Π°Ρ Π½Π°Π±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ βINβ
ECHO ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ,
%G β ΡΡΠΎ βΠ²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡβ ΠΈ Π²ΡΠ±ΡΠ°Π½ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Microsoft ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΡΠΊΠ²Ρ A, D, F, N, P, S, T, ΠΈ X. ΠΠΎΡΡΠΎΠΌΡ, Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ G, ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ, Ρ.ΠΊ. ΡΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π±ΡΠΊΠ² Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΏΡΡΠ΅ΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (G, H, I, J, K, L, M) β Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ Π»Π°ΠΉΡΡ Π°ΠΊ.
Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ Π½Π° PowerShell:
PowerShell: Get-ChildItem -Path C:\ -Filter βFoo*β
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ β ΡΠΎΡ ΠΆΠ΅, Π½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π° ΡΠ°ΠΊΠΎΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π±ΡΠ΄Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. Π‘ΡΠ°Π·Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΡ ΡΠ°Π·Π²Π΅ ΡΡΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π·Π½Π°ΠΊ β*β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΎΠ±ΠΎΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ ΡΡΠΎ Π²Ρ ΠΈ ΡΠ°ΠΊ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΎΠ½ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ β ΡΡΠΎ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ βFooβ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ Π΅ΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ.
Π§ΡΠ²ΡΡΠ²ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ Π²Π°ΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ»ΡΡΡΠ°Π΅ΡΡΡ? Π ΡΠ΅ΠΏΠ΅ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»Ρ (Π° Π½Π΅ ΠΏΠ°ΠΏΠΊΠΈ) Π² ΠΏΡΡΠΈ? ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΠΌΠ°Π½ΡΠ°Π»Π°Ρ , ΠΈΠ»ΠΈ Π²Π°Ρ Π»ΡΡΡΠΈΠΉ Π΄ΡΡΠ³ Google Π²Π°ΠΌ Π² ΠΏΠΎΠΌΠΎΡΡ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ? ΠΠ°Π»Π΅Π½ΡΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: Π΅ΡΠ»ΠΈ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² PowerShell, Π²Π²Π΅Π΄ΠΈΡΠ΅ β-β ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Tab, ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ΡΡ ΠΏΠΎ Π½ΡΠΆΠ½ΡΠΌ ΡΠ»Π°Π³Π°ΠΌ, ΠΏΠΎΠΊΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ.
ΠΠ΄Π½Π° ΠΠ»ΠΈΠ½Π½Π°Ρ Π‘ΡΡΠΎΠΊΠ° ΠΏΡΠΎΡΠΈΠ² ΠΠ±ΡΠ΅ΠΊΡΠ°
Π‘Π°ΠΉΡΡ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ½Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π² ΠΎΠ½Π»Π°ΠΉΠ½Π΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΠ΄ΠΈ ΡΡΠ°ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΡΠΈΡΠ²ΠΎΡΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΎΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΎΠ΄ΠΊΠ΅ ΠΈ Β«ΠΏΠΈΠ½Π³ΡΡΡΒ» Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (Π΄Π°-Π΄Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ).
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ping ΠΏΠΎΠ»Π΅Π·Π΅Π½ (ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ping Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΡΠΏΠ΅Ρ ΠΎΠΌ ΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ PowerShell), Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΈ Π΄Π»ΠΈΠ½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° β ΡΡΠ΄ Π±ΡΠΊΠ² ΠΈ ΡΠΈΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
Π PowerShell Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Ping, Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Test-Connection.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ ΠΎΠ±ΠΌΠ΅Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ βDCβ Π² ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ½ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅:
ΠΠ΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³ΡΠ΅ ΡΠΈΡΠ°ΡΡ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠΎ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Π²Ρ ΠΎΠ΄ Π² Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΡΠΈΠ΄Π°ΡΡ Π΅ΠΉ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΡ (Π½Π°Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½) ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π΅ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΉ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΌΡΡΠ»Π°.
ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠΌΠΎΡΡ
ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΡ Π±ΡΠ»ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Ρ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Tab, Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ PowerShell Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ c Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΠ»Π°Π³ΠΎΠ»-Π‘ΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ (Verb-Noun) ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ, Π½ΠΎ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ:
1. ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
2. ΠΠ±ΠΈΠ»ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
ΠΠΎΠΌΠΎΡΡ ΠΏΠΎ ΠΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°ΠΌ
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Get-Command (ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠΎ, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ), Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Get-Help ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ: Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π²ΡΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ Windows Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ:
Get-Command service
ΠΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠΈΡ Π²Π°ΠΌ ΡΡΠ°Π·Ρ, ΡΡΠΎ Π²Ρ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΡΠΈ. ΠΠ±Π΄ΡΠΌΡΠ²Π°Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ PowerShell ΠΠ»Π°Π³ΠΎΠ»-Π‘ΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, Π²Ρ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ βGet-Serviceβ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Microsoft ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Get-Service
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ βGet-Helpβ. ΠΠ°ΡΠ½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ
βGet-Help -β ΠΈ Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Tab
ΠΡ Π±ΡΡΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ²Π½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½ βNameβ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ:
Get-Help -Name Get-Service
Π’ΡΡ ΠΆΠ΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΈ ΡΡΠΎ ΠΈΠ· ΠΎΠΏΡΠΈΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠΈΠ»ΡΡΡΠΎΠ²).
ΠΡΠ»ΠΈ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π³Π»ΡΠ±ΠΆΠ΅ ΠΈ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎ Π½Π°Π±Π΅ΡΠΈΡΠ΅:
Get-Help -Name Get-Service - Parameter Name
ΠΠΎΠΌΠΎΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π½Π° PowerShell
ΠΡΠ΅ ΠΌΡ Π»ΡΠ΄ΠΈ ΠΈ, Π±Π΅Π· ΠΎΠ±ΠΈΠ΄ Π±ΠΎΡ Google, Ρ Π½Π°Ρ Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΡ ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΏΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅Π³ΠΎ-ΡΠΎ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΡΠΎ ΠΊ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ Π½Π°ΠΌ ΡΠΎΡΠΌΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ.
ΠΠ²Π΅Π΄Ρ β-examplesβ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π°Π³ β-detailβ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ βGet-Helpβ, Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²ΡΠ²ΠΎΠ΄ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Get-Help -Name Get-Service -Examples
ΠΡΡΠ°Π²Π°ΡΡΡ Π² ΠΊΡΡΡΠ΅
Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΆΠ°ΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π½Π΅ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π§Π°ΡΡΠΎ ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π»ΠΈΠ±ΠΎ ΠΈΠ·-Π·Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π»ΠΈΠ±ΠΎ ΠΈΠ·-Π·Π° Π½Π΅Π²Π΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΠ·-Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π²Π΅Π΄ΠΈΡΠ΅:
update-help
ΠΈ Π½Π°ΡΠ½Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΉ ΠΏΠΎΠΌΠΎΡΠΈ.
ΠΠ°ΠΏΡΡΠΊ PowerShell ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π‘ΠΠ‘Π’ΠΠΠ (NT AUTHORITY\SYSTEM)
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΈ Π³ΠΎΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π΅ΠΉΡΠΈΡ Π±Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Pyatilistnik.org. Π ΠΏΡΠΎΡΠ»ΡΠΉ ΡΠ°Π· ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΒ Restart-Computer ΠΈ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π½Π°Π²ΡΠΊ. Π ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅ΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π±Ρ Ρ ΠΎΡΠ΅Π» Π²Π°Ρ Π½Π°ΡΡΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ PowerShell Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ «Π‘ΠΠ‘Π’ΠΠΠ (NT AUTHORITY\SYSTEM)» ΠΈΠ»ΠΈ Π΅Π΅ Π΅ΡΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡΒ Local System. ΠΡΠΎ ΡΠΎ ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΊΠΈΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ Π²ΡΡΡΡΠΈΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΡ ΡΠ»ΠΎΠ² ΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Ρ PowerShell ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ SYSTEM
Π― Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ, ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΡΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ, Π½Π°ΠΏΠΎΠΌΠ½Ρ Π»ΠΈΡΡ, ΡΡΠΎ ΠΈΠ· ΠΏΠΎΠ΄ Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Windows ΠΈ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° Π²ΡΠ΅ Π² Π²Π°ΡΠ΅ΠΉ ΠΠ‘ (ΠΠ°ΠΏΠΊΠΈ, ΡΠ°ΠΉΠ»Ρ, ΠΊΡΡΡΡ ΡΠ΅Π΅ΡΡΡΠ°, ΡΠΎΠΌΠ°). ΠΠΌΠ΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ PowerShell ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π²ΡΠ΅ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ, ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΆΠΎΠΉ RDP ΡΠ΅ΡΡΠΈΠΈ, ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠ΅Π΅ΡΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ 10016.
ΠΠ΅ΡΠΎΠ΄Ρ Π·Π°ΠΏΡΡΠΊΠ° PowerShell ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
Π― ΠΌΠΎΠ³Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΠ΄ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π½Π°ΠΌ ΡΠ΅ΡΠΈΡΡ Π½Π°ΡΡ Π·Π°Π΄Π°ΡΡ, ΡΡΠ°Π·Ρ Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²Ρ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΡΠ°Π² Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ SYSTEM.
- ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ PSexec
- Π§Π΅ΡΠ΅Π· ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ
- Π§Π΅ΡΠ΅Π· ΡΠΊΡΠΈΠΏΡ choco
ΠΠ°ΠΏΡΡΠΊ PowerShell ΠΎΡ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ NT AUTHORITY\SYSTEM ΠΈΠ· PSexec
PSexec — ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠΈΠ»ΠΈΡ Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° SysInternals ΠΠ°ΡΠΊΠ° Π ΡΡΡΠΈΠ½ΠΎΠ²ΠΈΡΠ°. Π― Π΅Π΅ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ CMD ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅. ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΡΠΊΠ°ΡΠ°ΡΡ PSexec Π»ΠΈΠ±ΠΎ Ρ ΠΌΠ΅Π½Ρ, Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
https://download.sysinternals.com/files/PSTools.zip
ΠΠ°Π»Π΅Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π°Ρ Π°ΡΡ ΠΈΠ² ΠΈΠ·Π²Π»Π΅ΡΡ, Π΄Π°Π±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ. Π£ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π°ΠΏΡΡΠΊΠ° PSexec, ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΠ· ΡΠ²ΠΎΠΉ PowerShell. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΠΠ―ΠΠΠ’ΠΠΠ¬ΠΠ ΠΎΡΠΊΡΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, Π΄Π°Π»Π΅Π΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² cmd Π² ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ PSexec. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
cd ΠΏΡΡΡ Π΄ΠΎ Π²Π°ΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ PsExec.exe
ΠΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: cd C:\ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ\PSTools
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²Ρ ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΡΠΈΡ ΠΎΠΊΠ½ΠΎ PowerShell ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ:
psexec.exe -i -s powershell.exe ΠΈΠ»ΠΈ psexec64.exe -i -s powershell.exe
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Ρ Π²Π°Ρ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ PowerShell Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΈ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ «nt authority\ΡΠΈΡΡΠ΅ΠΌΠ°«. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ whoami.
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ PowerShell(), ΡΡΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΡΠΊΡΡΡΡ PowerShell ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°Β ΠΈ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
./psexec.exe -i -s powershell.exe
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠΊΠ½ΠΎ PowerShell ΡΠ΅ΡΠ΅Π· PSexec, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
.\PsExec.exe -s \\svt2019s01 powershell.exe
ΠΠ΄Π΅ svt2019s01, ΡΡΠΎ ΠΈΠΌΡ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ Windows Server 2019. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ΄Π΅Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π³Π΄Π΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ»ΡΠΆΠ±Π° PSexec, Π²Π°ΠΌ Π±ΡΠ΄ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΠΏΡΠ°Π²Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΡΠ°ΠΌ. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ, ΡΠΎ Ρ Π²Π°Ρ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΡΡΠΎΠΌ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠΎΡΡ WinRM (TCP 5985) Ρ Π²Π°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½.
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ hostname, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ, Π½Ρ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ whoami, ΠΈΠ· ΠΏΠΎΠ΄ ΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠ΅Π½ PowerShell, ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠΊΡΠΈΠ½ΡΠΎΡΠ°, ΡΡΠΎ ΡΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ nt authority\ΡΠΈΡΡΠ΅ΠΌΠ°.
Π’Π°ΠΊ ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Start-Process -FilePath cmd.exe -Verb Runas -ArgumentList ‘/k C:\PSTools\PsExec.exe -i -s powershell.exe’
ΠΠ½Π° ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅ Π² Π½Π΅ΠΉ ΠΏΡΡΡ Π΄ΠΎ ΡΡΠΈΠ»ΠΈΡΡ PSexec Π½Π° ΡΠ²ΠΎΠΉ.
ΠΠ°ΠΏΡΡΠΊ PowerShell ΠΎΡ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ NT AUTHORITY\SYSTEM ΠΈΠ· ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΠΉ
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΠΎΡΡΠ΅Π½Π½ΡΠΉ Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠΈΠ»ΠΈΡΡ PSexec, Π½ΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π΅Π³ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ. Π ΠΎΠΊΠ½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ taskschd.msc.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ ΡΠ΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΠΎ Π½Π΅ΠΌΡ ΠΏΡΠ°Π²ΡΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ, ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ «Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°ΡΡ«
ΠΠ°Π΄Π°Π΅ΠΌ Π΅Π΅ ΠΈΠΌΡ Ρ ΠΌΠ΅Π½Ρ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ «ΠΠ°ΠΏΡΡΠΊ PowerShell NT».
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΡΠΈΠ³Π΅ΡΠ° Π²ΡΡΡΠ°Π²ΠΈΠΌ Π·Π°ΠΏΡΡΠΊ Π·Π°Π΄Π°ΡΠΈ «ΠΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ«.
ΠΠ°Π΄Π°Π΅ΠΌ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°.
ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΡΠ½ΠΊΡ «ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ» ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π΄Π°Π»Π΅Π΅.
Π’ΡΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π²Π° ΠΏΡΠ½ΠΊΡΠ°:
- ΠΠΎΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ
- ΠΡΠ³ΡΠΌΠ΅Π½Ρ
Π ΠΏΠΎΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ Π²Π°ΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ:
- x86 : %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
- x64 : %SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π΄ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΠΏΡΡΠΈ C:\Scripts\Get-CurrentUser.ps1
βNoProfile βExecutionPolicy Bypass βFile C:\Demo\Get-CurrentUser.ps1
ExecutionPolicy, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Get-CurrentUser.ps1
[PSCustomObject]@{
‘env:USERNAME’ = $env:USERNAME
‘whoami’ = whoami.exe
‘GetCurrent’ = [Security.Principal.WindowsIdentity]::GetCurrent().Name
} | Format-List | Out-File -FilePath C:\Scripts\whoami.txt
Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΠ΅ Π³Π°Π»ΠΊΡ «ΠΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ «Π‘Π²ΠΎΠΉΡΡΠ²» Π΄Π»Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠΎΡΠΎΠ²ΠΎ«.
Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΠ΅ Π³Π°Π»ΠΊΡ «ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ «Π‘Π²ΠΎΠΉΡΡΠ²» Π΄Π»Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠΎΡΠΎΠ²ΠΎ». ΠΠ°Π»Π΅Π΅ Ρ Π²Π°Ρ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΡΠΎ Π΅Π΅ ΡΠΎΠ·Π΄Π°Π», Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΡΡΠΎ ROOT\ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΡΠΊΠ°Ρ Windows, ΡΠΎ Π² ΠΎΠΊΠ½Π΅ ΠΏΠΎΠΈΡΠΊΠ° Π²Π²Π΅Π΄ΠΈΡΠ΅ «Π‘ΠΠ‘Π’ΠΠΠ», Π΅ΡΠ»ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ, ΡΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ SYSTEM.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ (nt authority\ΡΠΈΡΡΠ΅ΠΌΠ°).
Π ΠΈΡΠΎΠ³Π΅ Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ, ΡΠΎ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠΊΡΠΈΠΏΡ Get-CurrentUser.ps1, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ Π² ΡΠ°ΠΉΠ» whoami Π·Π°ΠΏΠΈΡΠ°Π» ΠΈΠ· ΠΏΠΎΠ΄ ΠΊΠΎΠ³ΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ, ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ nt authority\ΡΠΈΡΡΠ΅ΠΌΠ° (GetCurrent:NT AUTHORITY\Π‘ΠΠ‘Π’ΠΠΠ). Π’Π°ΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. ΠΠ° ΡΡΠΎΠΌ Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ΅, Ρ Π²Π°ΠΌΠΈ Π±ΡΠ» ΠΠ²Π°Π½ Π‘Π΅ΠΌΠΈΠ½, Π°Π²ΡΠΎΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ IT ΠΏΠΎΡΡΠ°Π»Π° Pyatilistnik.org.
ΠΠ°ΠΏΡΡΠΊ PowerShell ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ
Π Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π²Ρ ΠΎΠ΄ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΠΈΡ Π·Π°ΠΏΡΡΠΊ. ΠΠ°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Task Sheduler β Π·Π°Π΄Π°ΡΠ° Π½Π΅ΡΠ»ΠΎΠΆΠ½Π°Ρ, Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ PowerShell Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠ°Π½ΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΡΠ°ΠΊ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ start.ps1, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ 10 Π΄Π½Π΅ΠΉ. ΠΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΅ΡΠΈΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ.
Π‘ΠΏΠΎΡΠΎΠ± 1
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΡΠ½Π°ΡΡΠΊΠΎΠΉ Task Scheduler, ΠΎΠ½ ΠΆΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠΠ°ΠΉΡΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Administrative Tools, Π»ΠΈΠ±ΠΎΒ Π½Π°ΠΆΠ°Π² Win+RΒ ΠΈ Π²Π²Π΅Π΄ΡΒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ taskschd.msc. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΈΒ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Actions Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ Create Task.
Β
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ General ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡΒ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ (ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ) ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π·Π°Π»ΠΎΠ³ΠΈΠ½Π΅Π½ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅,Β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΠΏΡΠΈΡ Β«Run whether user is logged on or notΒ». ΠΡΠ»ΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ,Β ΡΠΎ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΎΠΏΡΠΈΡ Β«Run with highest privilegesΒ».
Β
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅ΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Triggers ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΡΠΈΠ³Π³Π΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ° Π½Π°ΡΠ΅Π³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ. Π ΠΏΠΎΠ»Π΅ Start ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°, Π° Π² ΠΏΠΎΠ»Π΅ Expire β Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ (Daily) ΠΈ Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΏΠΎΠ²ΡΠΎΡΠ° (Recur every) 1 Π΄Π΅Π½Ρ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ ΡΠ°Π· Π² Π΄Π΅Π½Ρ, ΡΠΎ Π½Π°Π΄ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (One time), Π° Π²Β ΡΠ°Π·Π΄Π΅Π»Π΅ Advanced settings ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΡΠ½ΠΊΡ Repeat task every ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 5 ΠΌΠΈΠ½ΡΡ, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 1 ΡΠ°Ρ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΏΠΎΠ»Π΅ Delay task for up to ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ.
Β
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Action ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ.Β ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ Π² ΡΠ΅Π»ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈΒ PowerShell ΡΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠΎ Π΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ PowerShellΒ ΠΈ ΡΠΆΠ΅ Π² Π½Π΅ΠΉ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΏΠΎΠ»Π΅ Β«ActionΒ» ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π·Π°ΠΏΡΡΠΊ powershell.exe, Π° Π² ΠΏΠΎΠ»Π΅ Β«Add ArgumentsΒ» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -File ΠΈ ΠΏΡΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠΊΡΠΈΠΏΡΡ, Π²ΠΎΡ ΡΠ°ΠΊ:
-File β³C:\Scripts\start.ps1β³
Π’Π°ΠΊΠΆΠ΅Β Π² ΠΏΠΎΠ»Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ:
-Command β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: -Command β³& {C:\Scripts\start.ps1}β³.Β ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΠΊΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: -Command β³& {C:\Scripts\start.ps1 -a 1 -b 3}β³;
-ExecutionPolicy β Π·Π°Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΒ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Unrestricted, RemoteSigned, AllSigned ΠΈ Restricted. ΠΠ°Π΄Π°Π½Π½Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ Π»ΡΠ±ΡΠΌΠΈ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ;
-NonInteractive β ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
-WindowStyle Hidden β Π·Π°ΠΏΡΡΠΊ ΠΎΠΊΠ½Π° PowerShell Π² ΡΠΊΡΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
-NoProfile β ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΏΡΠΎΡΠΈΠ»Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°;
-NoExit β ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅ ΠΎΡΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ°.
Β
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»Ρ ΠΆΠΌΠ΅ΠΌ ΠΠ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ 10 Π΄Π½Π΅ΠΉ.
Π‘ΠΏΠΎΡΠΎΠ± 2
Π PowerShell 3.0 ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Sheduled Job, Π΄Π°ΡΡΠΈΠΉΒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΒ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΎΡΠ½Π°ΡΡΠΊΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠΌ Π΄Π»Ρ ΠΏΠ»Π°Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π½Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
Π‘Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ° (Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² ΠΏΠΎΠ»ΠΏΡΡΠΎΠ³ΠΎ Π²Π΅ΡΠ΅ΡΠ°, Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ 10 Π΄Π½Π΅ΠΉ):
$t = New-JobTrigger -Daily -At 4:30PM -DaysInterval 10
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
$cred = Get-Credential contoso\administrator
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π·Π°ΠΏΡΡΠΊ Π·Π°Π΄Π°Π½ΠΈΡ Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ:
$o = New-ScheduledJobOption -RunElevated
Π ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Start:
Register-ScheduledJob -Name Start -FilePath C:\Scripts\start.ps1 -Trigger $t -Credential $cred -ScheduledJobOption $o
Β
Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΈ Π½Π°ΠΉΡΠΈ Π½Π°ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅Β Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Microsoft\Windows\PowerShell\SheduledJobs.
Β
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅.Β ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ PowerShell Π²Β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ %systemdrive%\Users\%username%\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ°ΠΏΠΊΠ°. Π ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΌΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² XML-ΡΠ°ΠΉΠ»Π΅ ΠΈ ΠΏΠ°ΠΏΠΊΠ° Output, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ, Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ°Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ,Β Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (ΡΠ°ΠΉΠ»s Result.xml)Β ΠΈ ΡΡΠ°ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ (Status.xml). ΠΡΠΈ ΡΠ°ΠΉΠ»ΡΒ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡΒ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Execution Policy
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΎΠΌΠ½Ρ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΒ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Execution Policy. ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Get-ExecutionPolicy. ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
β’ Restricted βΒ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ;
β’ AllSigned β ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ
ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ;
β’ RemoteSigned β ΡΠΊΡΠΈΠΏΡΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΡΠΊΡΠΈΠΏΡΡ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° β Β ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ;
β’ Unrestricted β ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π·Π°Π³ΡΡΠΆΠ΅Π½ ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅;
β’ Bypass β Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΠΎΡΡ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ.
ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ RemoteSigned. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Set-ExecutionPolicy, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Set-ExecutionPolicyΒ RemoteSigned -force
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅, ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΡΡΡ Π² ΡΠ΅Π΅ΡΡΡ, Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell | Windows IT Pro/RE
ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° Windows PowerShell ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (CLI). ΠΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° CLI β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π½Π΅ ΡΠ°Π· ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊ: Β«ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell. Π― Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΡΠ°Π»ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠ°ΠΊ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell?Β»
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠ°Π²ΡΡΠ΅ΠΊ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Cmd.exe Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ, Π²Π΅Π΄Ρ ΠΏΡΠΎΡΠ΅ΡΡ Cmd.exe Π½Π΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Cmd.exe (ΡΠΎ Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»), Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ Echo, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Cmd.exe ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ, Π° Π²ΡΠ²Π΅ΡΡΠΈ Π΅Π΅ Π½Π° ΡΠΊΡΠ°Π½. ΠΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell Π·Π°Π΄Π°ΡΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π·Π΄Π΅ΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Cmd.exe. ΠΠΎΠΌΠ°Π½Π΄Π° Echo Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Write-Host, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Cmd.exe. Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΠΊΠΎΡΠΎΡΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ShowArgs.exe. Π¦Π΅Π»Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±Π΅Π· Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΌΠ΅Π½ΠΈΠ² ShowArgs.exe ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ (Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ), Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ShowArgs.exe (Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅), Ρ ΠΏΠΎΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΡΠΈΠΏΠ° Β«ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°Π²ΡΡΠΊΠΈΒ» ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Ρ ΡΠΎΠ·Π΄Π°Π» ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ C:\Sample Tools ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π» ΡΠ°ΠΉΠ» ShowArgs.exe Π² Π½Π΅Π³ΠΎ.
ΠΠ°ΠΏΡΡΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ ΠΈΠΌΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Cmd.exe. ΠΠ° ΡΠΊΡΠ°Π½Π΅ 1 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ShowArgs.exe Π½Π°ΠΏΡΡΠΌΡΡ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell. ΠΠ° ΡΠΊΡΠ°Π½Π΅ 1 Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ShowArgs.exe ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Β«.\Β», ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
Β
ΠΠΊΡΠ°Π½ 1. ΠΠ°ΠΏΡΡΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² PowerShell |
ΠΡΠ»ΠΈ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΡΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ·ΠΎΠ²Π° (&) Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ (ΡΠΌ. ΡΠΊΡΠ°Π½ 2). Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ.
Β
ΠΠΊΡΠ°Π½ 2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ·ΠΎΠ²Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ |
ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ & Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ. ΠΠ° ΡΠΊΡΠ°Π½Π΅ 3 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΡΠΊΡΠ°Π½Π΅ 3 Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΡΠΎΠΊΠ°, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ, ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ·ΠΎΠ²Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° (ΠΎ ΡΠ΅ΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°). ΠΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΡΠΊΡΠ°Π½Π΅ 3 ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ. Π ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΡΠ½ΠΎΡΡΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Β
ΠΠΊΡΠ°Π½ 3. ΠΠ±ΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ·ΠΎΠ²Π° |
ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ 4, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΡΠΊΡΠ°Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠ» Find.exe Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Β«/?Β» ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $findHelp. ΠΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°ΡΡΠΈΠ², Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ, Π° Π½Π΅ ΠΌΠ°ΡΡΠΈΠ².
Β
ΠΠΊΡΠ°Π½ 4. Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ |
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠ°Π²ΡΡΠΊΠΈ
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ. Π‘Π°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΊΠ°Π²ΡΡΠΊΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ, Π½ΠΎ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π²ΡΡΠ΅ΠΊ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell. ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ShowArgs.exe Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 1. Π ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
. \ShowArgs Β«Gil BatesΒ»
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ. ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π²ΠΈΠ΄ΠΈΡ, ΡΡΠΎ ΡΡΡΠΎΠΊΠ°, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π», ΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅Ρ Π΅Π΅ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ. ΠΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΊ ΡΡΡΠΎΠΊΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
. \ShowArgs «`"Gil Bates`»« . \ShowArgs '»Gil Bates«' . \ShowArgs»«"Gil Bates»«"
ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell ΡΠ΄Π°Π»ΠΈΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π±ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ ΠΊΠ°Π²ΡΡΠ΅ΠΊ. Π Π·Π½Π°ΡΠΈΡ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π»ΠΈΡΡ Π·Π°ΡΡΡΠ΄Π½ΡΡΡ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π²ΡΡΠ΅ΠΊ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 2. ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ:
$name =Β»Gil BatesΒ« . \ShowArgs $name
ΠΡΠ»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 3. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ (ΡΠΎ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΈΡΠ°ΡΡΡΡ ΡΠ»ΠΈΡΠ½ΠΎ, Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΏΠΎΡΡΠ½Ρ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ Π»ΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ:
. \ShowArgs /nameΒ»Gil BatesΒ« . \ShowArgsΒ»/nameGil BatesΒ«
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ (:) ΠΈΠ»ΠΈ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° (=). ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
. \ShowArgs /name:Β»Gil BatesΒ« . \ShowArgsΒ»/name:Gil BatesΒ«
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
. \ShowArgs /name=Β»Gil BatesΒ« . \ShowArgsΒ»/name=Gil BatesΒ«
ΠΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ°Π²ΡΡΠ΅ΠΊ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 4. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ:
. \ShowArgs /name $name . \ShowArgs /name$name . \ShowArgs /name=$name . \ShowArgs /name:$name
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 5. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π΄Π΅ΡΠΈΡΠ° (-), Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ²ΡΠ·Π°Π½ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ (Π½Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ) ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π΄Π΅ΡΠΈΡΠΎΠΌ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π·Π½Π°ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠ°Π²ΡΡΠΊΠΈ (`) Π»ΠΈΠ±ΠΎ Π²Π·ΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ:
. \ShowArgs -name:$name
ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄:
. \ShowArgs `-name:$name . \ShowArgsΒ»-name:$nameΒ«
ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π»ΠΈΠ±ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ Π½Π°ΠΏΡΡΠΌΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, -name$name) ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΌΠ²ΠΎΠ» (ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ: ΠΈΠ»ΠΈ =), ΡΡΠΎΡΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΎ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ, Π΅ΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
. \ShowArgs -name:Β»Gil BatesΒ« . \ShowArgsΒ»-name:Gil BatesΒ«
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ°, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ShowArgs.exe, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° Cmd.exe ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ERRORLEVEL Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $LASTEXITCODE. ΠΠ±ΡΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π²ΡΡΡΠ½ΠΈΠ², ΡΠ°Π²Π½Π° Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $LASTEXITCODE Π½ΡΠ»Ρ.
Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ, Π·Π°Π²ΠΈΡΡΡΡΡ ΠΎΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Test.ps1 Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Test1.ps1 Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ -Test, ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
. \ShowArgsΒ»/a:A B C /TestΒ«
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
. \ShowArgsΒ»/a:A B CΒ«/Test
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ $params ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠ΄Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Start-Process (ΡΠΌ. Π»ΠΈΡΡΠΈΠ½Π³ 2). Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Start-Process Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -ArgumentList, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ°ΡΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°Π²ΡΡΠΊΠΈ Π΄Π»Ρ ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ.
Π£ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Start-Process Π΅ΡΡΡ ΡΡΠ΄ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ²:
- ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -RedirectStandardOutput. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Test3.ps1 Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3 ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠ°Π½Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» (ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ») ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Get-Content.
- ΠΠΎΠΌΠ°Π½Π΄Π° Start-Process Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $LASTEXITCODE.
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Start-Executable, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 4. Π€ΡΠ½ΠΊΡΠΈΡ Start-Executable Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $LASTEXITCODE. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -ArgumentList Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -ArgumentList ΠΊΠΎΠΌΠ°Π½Π΄Ρ Start-Process.
Π‘ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ
ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠΉ, Π½ΠΎ ΡΠ°ΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Β«ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ°ΠΌΠ½Π΅ΠΉΒ» ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ShowArgs.exe Π² Β«Π°Π²Π°ΡΠΈΠΉΠ½ΡΠΉΒ» Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° PowerShell ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ.
ΠΠΈΡΡΠΈΠ½Π³ 1. Test1.ps1
param( [Switch] $Test ) $arg =Β»A B CΒ« $params =Β»/a:$argΒ« if ( $Test ) { $params +=Β» /TestΒ« } # Won't work as expected if using βTest ShowArgs $params
ΠΠΈΡΡΠΈΠ½Π³ 2. Test2.ps1
param( [Switch] $Test ) $arg =»A B C« # You have to insert your own quotes $params = @(»/a:`«$arg`»«) if ( $Test ) { $params +=»/Test« } Start-Process ShowArgs.exe -ArgumentList $params ` -NoNewWindow -Wait
ΠΠΈΡΡΠΈΠ½Π³ 3. Test3.ps1
param( [Switch] $Test ) $arg =»A B C« $params = @(»/a:`«$arg`»«) if ( $Test ) { $params +=»/Test« } $tempName = [IO.Path]::GetTempFileName() $output =»« $spArgs = @{ »FilePath«= "ShowArgs.exe» «ArgumentList» = $params «NoNewWindow» = $true «Wait» = $true «RedirectStandardOutput» = $tempName } Start-Process @spArgs if ( test-path $tempName ) { $output = get-content $tempName remove-item $tempName }
ΠΠΈΡΡΠΈΠ½Π³ 4. Π€ΡΠ½ΠΊΡΠΈΡ Start-Executable
function Start-Executable { param( [String] $FilePath, [String[]] $ArgumentList ) $OFS = Β«" $process = New-Object System.Diagnostics.Process $process.StartInfo.FileName = $FilePath $process.StartInfo.Arguments = $ArgumentList $process.StartInfo.UseShellExecute = $false $process.StartInfo.RedirectStandardOutput = $true if ( $process.Start() ) { $output = $process.StandardOutput.ReadToEnd() ` -replaceΒ»\r\n$Β«,"Β» if ( $output ) { if ( $output.Contains(Β«`r`nΒ») ) { $output -split Β«`r`nΒ» } elseif ( $output.Contains(Β«`n") ) { $output -splitΒ»`nΒ« } else { $output } } $process.WaitForExit() &Β»$Env:SystemRoot\system32\cmd.exe" ` /c exit $process.ExitCode } }
Β
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈ Π΄ΡΡΠ·ΡΡΠΌΠΈ