Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ windows powershell – Как Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° PowerShell ΠΈΠ»ΠΈ нСслоТная автоматизация для управлСния Active Directory

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Windows PowerShell Π² Windows 10

Π’ сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Windows PowerShell Π² Windows 10.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ PowerShell ΠΈΠ· строки поиска

Π’ строкС поиска Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Β PowerShell => Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Windows PowerShell Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ — Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ вошли Π² систСму, ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Windows PowerShell ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора».

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Windows PowerShell ΠΈΠ· мСню «ΠŸΡƒΡΠΊ»

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ мСню «ΠŸΡƒΡΠΊ» ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ Windows PowerShell (Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π½Π΅Π΅ Ρ€Π°Π· Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ) => Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ вошли Π² систСму — просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Windows PowerShell Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΒ Β PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора — Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Windows PowerShell ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Π—апуск ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора».

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Windows PowerShell ΠΈΠ· диспСтчСра Π·Π°Π΄Π°Ρ‡

Π’ пустом мСстС Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° панСль Π·Π°Π΄Π°Ρ‡ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΈΠ· контСкстного мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Π”испСтчСр Π·Π°Π΄Π°Ρ‡» (Ρ‚Π°ΠΊΠΆΠ΅ диспСтчСр Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°ΠΆΠ°Π² клавиши Ctrl+Shift+Esc).

Если Π’Ρ‹ запускаСтС диспСтчСр Π·Π°Π΄Π°Ρ‡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· — Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ «ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅».

Π‘Π»Π΅Π²Π° Π²Π²Π΅Ρ€Ρ…Ρƒ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Π€Π°ΠΉΠ»» => «Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ».

Π’ появившСмся ΠΎΠΊΠ½Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ powershell ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «ΠžΠš», Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΒ Β Windows PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ вошли Π² систСму. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Windows PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора — ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ„Π»Π°ΠΆΠΎΠΊ Π²ΠΎΠ·Π»Π΅ «Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° «ΠžΠš».

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Windows PowerShell ΠΈΠ· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

НаТмитС Win+RΒ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ powershell ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «ΠžΠš».

PowerShell запустится с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ вошли Π² систСму, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π² Ρ€Π΅ΠΆΠΈΠΌ администратора, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Start-Process powershell -Verb runAsΒ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Windows PowerShell Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ открытия Β Windows PowerShell Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅: Π² адрСсной строкС Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ powershell ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ открытия Windows PowerShell Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅: Β Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² «Π€Π°ΠΉΠ»» => Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Windows PowerShell => здСсь Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ запуск PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ вошли Π² систСму ΠΈΠ»ΠΈ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ открытия Windows PowerShell Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅: ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅Β C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 => Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Windows PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ вошли Π² систСму — просто ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Ρ„Π°ΠΉΠ» powershell. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΒ Windows PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора — Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Ρ„Π°ΠΉΠ»Β powershellΒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Π—апуск ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора».

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Windows PowerShell ΠΈΠ· Win+X мСню

Если Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° мСню «ΠŸΡƒΡΠΊ» ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ клавиши Win+X — ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ контСкстноС мСню с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ инструмСнтами. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π² Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows PowerShell Ρ‡Π°Ρ‰Π΅ Ρ‡Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² этом мСню ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Π½Π° PowerShell.

НаТмитС ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π² пустом мСстС ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡Β» => Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² Β«Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ Windows PowerShell Π² мСню, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ появляСтся Β ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«ΠŸΡƒΡΠΊΒ» ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиш Win+XΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ стал Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π’ΠΊΠ».».

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Windows PowerShell ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора.

2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅Β powershell ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

На сСгодня всС, Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы ΠΈΠ»ΠΈ Π΅ΡΡ‚ΡŒ дополнСния — ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ! Π£Π΄Π°Ρ‡ΠΈ Π’Π°ΠΌ Β πŸ™‚

Windows PowerShell – Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ?

Windows PowerShell прСдставляСт собой ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ срСдство Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… сцСнариСв для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Microsoft Windows, построСнноС Π½Π° основС интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Оно прСдназначаСтся Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для систСмных администраторов, Π° Ρ‚Π°ΠΊΠΆΠ΅ для всСх ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ появлСния PowerShell Π² сСмСйствС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Windows Ρ‚Π°ΠΊΠΎΠ²Π°. Надо ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ консольная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ посрСдством Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄, присутствовала Ρ‚Π°ΠΌ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ (собствСнно, ΠΈΠΌΠ΅Π½Π½ΠΎ посрСдством Ρ‚Π°ΠΊΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ, Π΅Ρ‰Ρ‘ Π΄ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния срСдств графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ взаимодСйствиС с систСмой, начиная с MS-DOS самых ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсий).

Π‘Π½Π°Ρ‡Π°Π»Π° сущСствовал довольно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄. Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π² составС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ подсистСмы ОБ (срСдствами Π²Ρ‹ΡˆΠ΅Π½Π°Π·Π²Π°Π½Π½ΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹), ΠΎΠ½ΠΈ ΠΈ прСдставляли собой Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π›ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π² качСствС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠΆΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния. Π£ΠΆΠ΅ Π² Ρ‚ΠΎ врСмя имСлись ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ срСдства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка сцСнариСв (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π΅Π³ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ, ΠΎΡ‚ΠΊΡ€Ρ‹Π² Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ любой .BAT-Ρ„Π°ΠΉΠ»).

ΠžΡ‡Π΅Π½ΡŒ быстро, ΠΎΠ΄Π½Π°ΠΊΠΎ, стало понятно, Ρ‡Ρ‚ΠΎ для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ срСдств ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π±Ρ‹Π»ΠΎ нСдостаточно, особСнно послС ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния Windows. ΠŸΡ€Π°Π²Π΄Π°, ΡƒΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дСйствия ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π±Ρ‹Π»ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… всС прСимущСства графичСского интСрфСйса, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ сущСствовала (ΠΈ сущСствуСт Π΄ΠΎ сих ΠΏΠΎΡ€) ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΈ достаточном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ задания. К соТалСнию, Ρ‚ΠΎΠ³Π΄Π°ΡˆΠ½ΠΈΠΉ язык сцСнариСв Π±Ρ‹Π» Π΅Ρ‰Ρ‘ слишком слаб для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сколь Π»ΠΈΠ±ΠΎ слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

ПолоТСниС нСсколько измСнилось с появлСниСм Windows 98, Π² составС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появляСтся Ρ‚Π°ΠΊΠΎΠ΅ срСдство, ΠΊΠ°ΠΊ WSH (Windows Script Host, ΠΈΠ»ΠΈ сСрвСр сцСнариСв Windows). Оно ΡƒΠΆΠ΅ позволяло Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сцСнарии с использованиСм Ρ‚Π°ΠΊΠΈΡ… скриптовых языков, ΠΊΠ°ΠΊ JScript ΠΈ VBScript (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ устанавливаСмых языковых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ). К соТалСнию, Ρƒ Windows Script Host отсутствуСт интСграция с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ встроСнная докумСнтация (Π΄Π°ΠΆΠ΅ сСйчас Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Windows Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π½Π°ΡŽΡ‚ ΠΎ сущСствовании Ρ‚Π°ΠΊΠΎΠ³ΠΎ срСдства). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² 2003 Π³ΠΎΠ΄Ρƒ Microsoft приступила ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь спСктр административных Π·Π°Π΄Π°Ρ‡, впослСдствии ΡΡ‚Π°Π²ΡˆΠ΅ΠΉ извСстной ΠΊΠ°ΠΊ PowerShell.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, выполняСмыС Π²Π½ΡƒΡ‚Ρ€ΠΈ PowerShell, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с систСмой, ΠΊΠ°ΠΊ Ρ€Π°Π½ΡŒΡˆΠ΅, ΠΈΠ»ΠΈ названия исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Π΅Ρ‰Ρ‘ ΠΈ Ρ†Π΅Π»Ρ‹Π΅ спСциализированныС классы срСды исполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .NET – Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚Ρ‹. Появился ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ язык сцСнариСв, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² сСбя Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ динамичСских Ρ‚ΠΈΠΏΠΎΠ², Π½Π° основС всё Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ .NET. Освоив Π΅Π³ΠΎ, ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои сцСнарии Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π΅ прибСгая ΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… срСд программирования ΠΈ Ρ‚Π°ΠΊΠΈΡ… языков, ΠΊΠ°ΠΊ C# ΠΈΠ»ΠΈ VB.NET.

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΒ PowerShell Π² Windows?

Для запуска ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ PowerShell сущСствуСт нСсколько способов. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ простого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора (для этого прСдусмотрСны ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню).

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Windows 8, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ PowerShell ΠΈΠ· мСню Β«ΠŸΡƒΡΠΊΒ», Π²Ρ‹Π±Ρ€Π°Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ «ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β» ΠΈ Β«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅Β». Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ срСдство, ввСдя Π² строкС поиска мСню Β«ΠŸΡƒΡΠΊΒ» запрос Β«Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда сцСнариСв» ΠΈΠ»ΠΈ Β«PowerShellΒ» (для запуска ΠΎΡ‚ администратора Ρ‰Ρ‘Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда сцСнариСв Windows PowerShell ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Запуск ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора.

Π’ Windows 8 Π½Π΅ имССтся ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ мСню Β«ΠŸΡƒΡΠΊΒ» (ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Modern), ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ PowerShell Π² контСкстном мСню, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш Win-X. Π›ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Π² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° мСню ΠŸΡƒΡΠΊ. Π­Ρ‚ΠΎ ΠΆΠ΅ относится ΠΈ ΠΊ Windows 10.

Π’Π°ΠΊΠΆΠ΅, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows 10, Ρ‚ΠΎ смоТСтС ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈ Π²ΠΎ вновь Π²Π΅Ρ€Π½ΡƒΠ²ΡˆΠ΅ΠΌΡΡ Π² этой систСмС мСню Β«ΠŸΡƒΡΠΊΒ» (ΠΈΠ»ΠΈ любой ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого мСню сторонними компаниями).

НаконСц, для запуска PowerShell нСпосрСдствСнно ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ PowerShell_ISE ΠΈΠ»ΠΈ ISE.

На этом всС. ВсСго Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ!

Запуск исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈΠ· PowerShell

Π—Π°Π΄Π°Ρ‡Π° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ· PowerShell ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ исполняСмый Ρ„Π°ΠΉΠ» (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ»ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки) встрСчаСтся достаточно часто. PowerShell ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ для этого нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈ рассмотрим Π΄Π°Π»Π΅Π΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅. НачнСм с самого простого…

ΠŸΡ€ΡΠΌΠΎΠΉ запуск

Π‘Π°ΠΌΡ‹ΠΉ простой способ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² PowerShell β€” это ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΊΡƒ, Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ привСтствиС, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Set-Location β€³C:\Program Filesβ€³
.\Hello.exe

Β 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, трСбуСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, пСрСчислСнных Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния (path). НапримСр Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ встроСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ (notepad, calc, ping ΠΈ Ρ‚.ΠΏ.), находящиСся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Windows\System32, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· указания ΠΏΡƒΡ‚ΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ &

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ & (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π·ΠΎΠ²Π°). Он позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ строку тСкста, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. НапримСр:

& β€²C:\Program Files\Hello.exeβ€²

Β 

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ & Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π² Π²ΠΈΠ΄Π΅ тСкста, Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΅Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ тСкст Π² Π²ΠΈΠ΄Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

& β€²C:\Program Files\Hello.exeβ€²Β  β€²Hello, worldβ€²

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

& β€²C:\Program Files\Hello.exeβ€²Β  β€²Hello,β€²,Β β€² worldβ€²

Для удобства ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

$exe = β€²C:\Program Files\Hello.exeβ€²
$arg1 = β€²Helloβ€²
$arg2 = β€²worldβ€²
& $exe $arg1 $arg2

Β 

Ну ΠΈ Ссли Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ, воспользовавшись Ρ‚Π°ΠΊΠΎΠΉ конструкциСй:

$exe = β€²C:\Program Files\Hello.exeβ€²
$allargs = @(β€²Hello,β€²,β€²worldβ€²)
& $exe $allargs

Invoke-Expression

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Invoke-Expression Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ-ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ & β€” Π±Π΅Ρ€Π΅Ρ‚ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку ΠΈ выполняСт Π΅Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. НапримСр:

Invoke-Expression -Command β€²C:\Windows\Hello.exeβ€²

Однако Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ большой нСдостаток, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β€” Π½Π΅ΡƒΠΌΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

Invoke-Expression -Command β€²C:\Program Files\Hello.exeβ€²

Π­Ρ‚Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚Π° ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ. Π₯отя ΠΏΡ€ΠΈ нСобходимости ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ошибок ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊ:

Invoke-Expression -Command β€³C:\β€²Program Filesβ€²\Hello.exeβ€³

Start-Process

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Start-Process запускаСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Π²ΠΈΠ΄Π΅ процСсса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Start .NET класса Process. НапримСр:

Start-Process -FilePath β€²C:\Program Files\Hello.exeβ€²

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ процСсс выполняСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ закрываСтся ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ процСсса. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‚Π°ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° запустится Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅:

Start-Process -FilePath β€²C:\Program Files\Hello.exeβ€² -NoNewWindow -Wait

Π’Π°ΠΊΠΆΠ΅ Start-Process позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² процСсс Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

Start-Process -FilePath β€²C:\Program Files\Hello.exeβ€² -ArgumentList β€²Hello, worldβ€² -NoNewWindow -Wait

Β 

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -PassThru ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ процСсса. Π­Ρ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

$process = Start-Process -FilePath β€²C:\Program Files\Hello.exeβ€² -Wait -PassThru

ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ статус:

$process.HasExited

врСмя:

$process.ExitTime

ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ выполнСния:

$process.ExitCode

.NET

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ .NET классом Process ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π±Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚Π° Start-Process. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

[System.Diagnostics.Process]::Start(β€²C:\Program Files\Hello.exeβ€²)

Β 

Π’Π°ΠΊΠΎΠΉ способ достаточно Π½Π΅ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΎΠΊ (Π½Π° ΠΌΠΎΠΉ взгляд), Π½ΠΎ Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΎΠΊ Π² использовании. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° запустим Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π² Π½Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ Π·Π°Π±Π΅Ρ€Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния:

$process = New-Object -TypeName System.Diagnostics.Process
$process.StartInfo.FileName = β€³C:\Program Files\Hello.exeβ€³
$process.StartInfo.Arguments = β€³Hello,worldβ€³
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$process.Start()
$process.WaitForExit()
$process.StandatdOutput.ReadToEnd()

WMI

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ WMI ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ практичСски всС, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Для этого Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Create WMI-класса Win32_Process. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ запускаСт процСсс Π½Π° локальном ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ‡Π΅Ρ€Π΅Π· RPC. НапримСр, для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

([wmiclass])β€³Win32_Processβ€³).Create(β€²C:\Program Files\Hello.exeβ€²)

А для выполнСния Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

([wmiclass])β€³\\remotecomputer\root\cimv2:Win32_Processβ€³).Create(β€²C:\Program Files\Hello.exeβ€²)

Β 

Как Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ΠΎΠΌ Invoke-WmiMethod:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList β€³C:\Program Files\Hello.exeβ€³

Β 

Π›ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ΠΎΠΌ Invoke-CimMethod:

Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine=β€³C:\Program Files\Hello.exeβ€³}

Β 

WMI запускаСт процСсс Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса (ProcessID) ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния (ReturnValue). ReturnValue ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

0 β€” Sucsessful Completiom
2 β€” Access Denied
3 β€” Insufficient Privilege
8 β€” Uncnown Failure
9 β€” Path Not Found
21 β€” Invalid Parameter

Invoke-Command

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Invoke-Command ΡƒΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° локальном ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ WinRM. НапримСр, для запуска нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Invoke-Command -ScriptBlock {β€³C:\β€²Program Filesβ€²\Hello.exeβ€³}

ΠŸΡ€ΠΈ нСобходимости Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

Invoke-Command -ScriptBlock {C:\β€²Program Filesβ€²\Hello.exe β€³Hello,worldβ€³}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Invoke-Command Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π΄Ρ€ΡƒΠΆΠΈΡ‚ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, поэтому Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠΈ ошибок приходится ΠΈΡΡ…ΠΈΡ‚Ρ€ΡΡ‚ΡŒΡΡ с ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ комбинируя использования ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚Π° с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ &:

Invoke-Command -ScriptBlock {& β€²C:\Program Files\Hello.exeβ€²}

Β 

Π’ основном Invoke-Command примСняСтся для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ управлСния, Π΅Π³ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ достоинство β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ выполнСния Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. НапримСр:

Invoke-Command -ScriptBlock {β€³C:\β€²Program Filesβ€²\Hello.exeβ€³} -ComputerName SRV1,SRV2,SRV3

Или Ρ‚Π°ΠΊ:

$scriptblock = {β€³C:\β€²Program Filesβ€²\Hello.exeβ€³}
$Computers = @(β€²SRV1β€²,β€²SRV2β€²,β€²SRV3β€²)
Invoke-Command -ScriptBlock $scriptblock -ComputerName $Computers

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ссли Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -AsJob), Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Job:

Invoke-Command -ScriptBlock {C:\β€²Program Filesβ€²\Hello.exe} -ComputerName localhost -AsJob -JobName Hello

Invoke-Item

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Invoke-Item ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для примСнСния ΠΊ Ρ„Π°ΠΉΠ»Ρƒ дСйствия ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Invoke-Item -Path β€³C:\Program Files\Hello.exeβ€³

Однако Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Invoke-Item для открытия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ². НапримСр Ρ‚Π°ΠΊ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ тСкстовый Ρ„Π°ΠΉΠ»:

Invoke-Item -Path β€³C:\Files\test.txtβ€³

А Ρ‚Π°ΠΊ всС тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΠ΅:

Invoke-Item -Path β€³C:\Files\*.txtβ€³

CMD

Ну ΠΈ Π² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· PowerShell β€” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ cmd. Бпособ достаточно ″нСпрямой″, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° запускаСт Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр cmd, выполняСт Π² Π½Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ cmd ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

cmd /c β€³C:\Program Files\Hello.exeβ€³

Β 

Π’Π°ΠΊΠΎΠ΅ Π²ΠΎΡ‚ ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠ΅ способов Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ прСдоставляСт PoSh. И ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Ρ…ΠΎΡ€ΠΎΡˆ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ситуаций.

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΡΡ‚Π°Ρ‚ΡŒΡ написана ΠΏΠΎ ΠΌΠΎΡ‚ΠΈΠ²Π°ΠΌ PowerShell: Deep Dive and Best Practice. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‚Π°ΠΌ Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсного.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚

МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π·Π½Π°ΡŽΡ‚ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ нСбольшоС количСство людСй Π·Π½Π°ΡŽΡ‚ ΠΎΠ± Windows PowerShell. ВмСсто ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ОБ Windows PowerShell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт большС силы ΠΈ власти Π½Π°Π΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ с установлСнной Windows 10. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ написали Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ совСты для Ρ€Π°Π·Π½Ρ‹Ρ… способов Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ PowerShell ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows 10 ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора. Microsoft ΡƒΠΆΠ΅ создала ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ которая называСтся ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ выполнСния Π·Π°Π΄Π°Ρ‡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Windows PowerShell ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π²Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΡƒΡ‡Π° административной Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Ρ‘ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ.
НапримСр, Π²Ρ‹ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ PowerShell Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±ΠΈΡ‚ΡŒ ΠΈΡ… процСссы. Π’Π°ΠΊΠΆΠ΅ Π² сСти Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ вопрос PowerShell ΠΈ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ всС установлСнныС USB-устройства Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PowerShell Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‰Π΅ΠΉ. Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Windows 10 ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора.

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ PowerShell ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора Π² Windows 10

1. Π§Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ систСмС Windows PowerShell для располоТСния ΠΈΠ»ΠΈ мСст ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ особСнных Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… дисков ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΎΠΊ.

ЗапуститС ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π² Ρ€Π°Π·Π΄Π΅Π», Π³Π΄Π΅ находится ваш диск ΠΈΠ»ΠΈ Π»Π΅ΠΆΠΈΡ‚ ΠΏΠ°ΠΏΠΊΠ°.
НаТмитС Π½Π° ΠΏΠ°ΠΏΠΊΡƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² PowerShell ΠΈ ΠΏ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Ρ„Π°ΠΉΠ» Π² ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ Π»Π΅Π²ΠΎΠΉ части мСню.
Из ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Windows PowerShell ΠΊΠ°ΠΊ администратор.

2. Π§Π΅Ρ€Π΅Π· ДиспСтчСр Π·Π°Π΄Π°Ρ‡

Π©Ρ‘Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° пустом ΠΏΠΎΠ»Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ 3 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ снизу Π² ДиспСтчСр Π·Π°Π΄Π°Ρ‡.

ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ диспСтчСра Π·Π°Π΄Π°Ρ‡. На Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ мСню, Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Ρ„Π°ΠΉΠ». НаТмитС Π½Π° этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π’ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ мСстС. Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π²Π²Π΅Ρ€Ρ…Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π² этом ΠΎΠΊΠ½Π΅. Π’ ΠΏΠΎΠ»Π΅ тСкст Π²Π²Π΅Π΄ΠΈΡ‚Π΅ PowerShell ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора.

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК для продолТСния.
PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ Π½Π° экранС.

3. Π§Π΅Ρ€Π΅Π· Поиск ΠšΠΎΡ€Ρ‚Π°Π½Π°

НаТмитС ΠšΠΎΡ€Ρ‚Π°Π½Π° поиск ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ PowerShell Π² ΠΏΠΎΠ»Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π’Π²ΠΎΠ΄.

ΠšΠΎΡ€Ρ‚Π°Π½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Π°ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ PowerShell с Π΅Π³ΠΎ Π·Π½Π°Ρ‡ΠΊΠΎΠΌ.
Π©Ρ‘Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π½Π΅ΠΌ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ запуск ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора.

PowerShell Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора.

4. Π§Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ, Π½ΠΎ Π½Π° этот Ρ€Π°Π· ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° контСкстноС мСню.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ Π½Π° экранС ΠΈ ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ –
C:\Windows\System32\WindowsPowerShell\v1.0
Π˜Ρ‰ΠΈΡ‚Π΅ PowerShell.Π΅Ρ…Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅ΠΆΠΈΡ‚ Π² срСднСй части ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°. Π©Ρ‘Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π½Π΅ΠΌ ΠΎΠ½ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ мСстС с Π²Π΅Ρ€Ρ…Ρƒ, ΠΈ запуститС ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора.

Π‘ этими 4 способами, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ PowerShell ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора Π² Windows 10.

Β 

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² этой систСмС

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows 10 имССтся ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для управлСния ΠΈ выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ — это PowerShell. Π­Ρ‚Π° консоль ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для администраторов, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° позволяСт ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всю ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сцСнариСв (script). PowerShell ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌΠΈ прилоТСниями для внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² систСму ΠΈ это ставит ΠΏΠΎΠ΄ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ нашСго ПК.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ (script) — простая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π½Π° нашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ собствСнныС сцСнарии для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡, ΠΈΠ»ΠΈ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ… для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ Π·Π°Π΄Π°Ρ‡. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Windows 10 Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π½ΠΈ прилоТСниям, Π½ΠΈ Π½Π°ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сцСнарии Π² систСмС, Ссли ΠΎΠ½ΠΈ подписаны ΠΈΠ»ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ «ΡΠ²ΠΎΠΈΠΌΠΈ». ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускаСм свой скрипт, ΠΈ Π½Π°ΠΌ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² этой систСмС«. Π­Ρ‚ΠΎ многоуровнСвая ΠΌΠ΅Ρ€Π° бСзопасности Π² PowerShell, которая ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ запуск врСдоносных сцСнариСв ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ нанСсти Π²Ρ€Π΅Π΄ систСмС. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ бСзопасности для PowerShell.

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ выполнСния скриптов Π² PowerShell

Если Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² этой систСмС«, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ для запуска сцСнариСв, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ настроСны Π² Windows 10. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ PowerShell ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора ΠΈ:

  • Get-ExecutionPolicy -List

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ для запуска сцСнариСв.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ запуска скрипта, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· областСй.

  • Restricted: Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡŽΠ±Ρ‹Ρ… скриптов, Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.
  • RemoteSigned: Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ скрипты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ подписаны Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ скрипты Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π±Π΅Π· подписи
  • AllSigned: Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ любого подписанного скрипта, ΠΊΠ°ΠΊ локального, Ρ‚Π°ΠΊ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ (Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ).
  • Unrestricted:Β Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.Β Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всС сцСнарии, Π΄Π°ΠΆΠ΅ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ подписаны.

Когда Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ условия ΠΈ ограничСния скриптов, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ…. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² этой систСмС» достаточно ввСсти ΠΎΠ΄ΠΈΠ½ Π°ΠΏΠΏΠ»Π΅Ρ‚. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ PowerShell ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½Π° ΠΈ:

  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser — запуск Π±Π΅Π· ограничСния для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Set-ExecutionPolicyRestricted -Scope CurrentUser Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π°Π·Π°Π΄, Ссли Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ.

Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ сцСнарии для локального ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠšΠ»ΡŽΡ‡ -Scope опрСдСляСт, ΠΊ Ρ‡Π΅ΠΌΡƒ примСняСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ. Когда Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ «CurrentUser«, Ρ‚ΠΎ примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Π° ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ «LocalMachine«, ΠΎΠ½ примСняСтся ΠΊΠΎ всСй систСмС.

Если Π²Ρ‹ΡˆΠ΅ способ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³ Π²Π°ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ свой скрипт ΠΈ ошибка «Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² этой систСмС» появляСтся, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ограничСния. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это большой риск ΠΈ ваш скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ бСзопасСн Π½Π° 101%. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ PowerShell ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½Π° ΠΈ:

  • Set-ExecutionPolicy Unrestricted — Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.
  • Set-ExecutionPolicy Restricted— Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π°Π·Π°Π΄ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.


comments powered by HyperComments

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Windows PowerShell ISE Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ – INFO-EFFECT

На Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ 1 ΠΌΠΈΠ½. ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ

Β ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ! БСгодня я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Windows PowerShell ISE Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Windows 10. Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариСв ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ экрана ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ мСню β€œΠŸΡƒΡΠΊβ€. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅, Π² спискС всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π±ΡƒΠΊΠ²Ρƒ W, ΠΏΠΎΠ΄ Π±ΡƒΠΊΠ²ΠΎΠΉ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ прилоТСния – Windows PowerShell.

Β 

Β 

Π”Π°Π»Π΅Π΅, Ρƒ вас ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ΡΡ влоТСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны:

Β 

– Windows PowerShell.

– Windows PowerShell (x86).

– Windows PowerShell ISE.

– Windows PowerShell ISE (x86).

Β 

Β 

Π”Π°Π»Π΅Π΅, ΠΏΡ€ΠΈ запускС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρƒ вас откроСтся синСС ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ Π²Ρ‹ смоТСтС Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Β 

Β 

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ISE, Ρƒ вас откроСтся ΠΎΠΊΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ – Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда сцСнариСв. Π”ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° загрузится.

Β 

Β 

Π”Π°Π»Π΅Π΅, Ρƒ вас откроСтся ΠΎΠΊΠ½ΠΎΒ Windows PowerShell ISE со Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструмСнтами. Π‘ΠΏΡ€Π°Π²Π° Π² Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Β 

Β 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для выполнСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ сцСнария.

Β 

Β 

 Как ΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Windows 10 Π‘ΠΌΠΎΡ‚Ρ€ΠΈ Π—Π΄Π΅ΡΡŒ !

Β 

ΠžΡΡ‚Π°Π»ΠΈΡΡŒ вопросы ? Напиши ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ! Π£Π΄Π°Ρ‡ΠΈ !

Β 

Запуск PowerShell скрипта ΠΊΠ°ΠΊ слуТбы Windows

Из любого скрипта PowerShell ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ слуТбу Windows, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ запускаСтся автоматичСски ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ сСрвСра. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слуТбу Windows с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ srvany.exe ΠΈ instsrv.exe (ΠΈΠ· состава Windows Server Resource 2003 Kit), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс powershell.exe с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΏΡƒΡ‚ΠΈ ΠΊ ps1 Ρ„Π°ΠΉΠ»Ρƒ скрипта. Основной нСдостаток Ρ‚Π°ΠΊΠΎΠ³ΠΎ способа создания слуТбы β€” srvany.exe Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ прилоТСния (скрипта PowerShell Π² нашСм случаС) ΠΈ, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ‚ (зависаСт), Ρ‚ΠΎ слуТба это Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ для создания слуТбы Windows ΠΈΠ· Ρ„Π°ΠΉΠ»Π° со скриптом PowerShell ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ NSSM (Non-Sucking Service Manager – оставим Π±Π΅Π· пСрСвода…:)), которая лишСна этих нСдостатков.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ NSSM Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Chocolately. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сам Choco:

Set-ExecutionPolicy Bypass -Scope Process -Force; `
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Π—Π°Ρ‚Π΅ΠΌ установим ΠΏΠ°ΠΊΠ΅Ρ‚ NSSM:

choco install nssm

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ AD (скрипт ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ) ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Ρ‚ΡŒ администратора бСзопасности Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ письмом.

Π˜Ρ‚Π°ΠΊ, Ρƒ нас имССтся ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² PS1 Ρ„Π°ΠΉΠ». Π”ΠΎΠ±Π°Π²ΠΈΠΌ бСсконСчный Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π· Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:

while($true) {
#Π’Π°Ρˆ PS ΠΊΠΎΠ΄
Start-Sleep –Seconds 60
}

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ сцСнария ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ (Task Scheduler), Π½ΠΎ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ слуТбой Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ слуТбу ΠΈΠ· скрипта PowerShell ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ NSSM ΠΌΠΎΠΆΠ½ΠΎ прямо ΠΈΠ· PowerShell :):

$NSSMPath = (Get-Command "C:\tools\nssm\win64\nssm.exe").Source
$NewServiceName = β€œCheckADGroupSrv”
$PoShPath= (Get-Command powershell).Source
$PoShScriptPath = β€œC:\tools\CheckADGroup\checkad.ps1”
$args = '-ExecutionPolicy Bypass -NoProfile -File "{0}"' -f $PoShScriptPath
& $NSSMPath install $NewServiceName $PoShPath $args
& $NSSMPath status $NewServiceName

Запустим Π½ΠΎΠ²ΡƒΡŽ слуТбу:

Start-Service $NewServiceName

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ статус слуТбы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PowerShell:

Get-Service $NewServiceName

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ создали ΠΈ запустили Π½ΠΎΠ²ΡƒΡŽ слуТбу Windows. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° появилась Π² консоли управлСния слуТбами services.msc

Π‘Π»ΡƒΠΆΠ±Π° CheckADGroupSrv Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ появилась, ΠΎΠ½Π° настроСна Π½Π° автоматичСский запус ΠΈ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° (Running). Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ваш PowerShell скрипт Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса nssm.exe.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ слуТба Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΈΠ·-ΠΏΠΎΠ΄ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи System. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² своих PS скриптах Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (Π² ΠΌΠΎΠ΅ΠΌ случаС для получСния состава Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ бСзопасности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Get-ADGroupMember ΠΈΠ· модуля Active Directory для Windows PowerShell), этот Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ модуля ΠΈ ΠΏΡ€Π°Π²Π° Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ AD (Π² ΠΌΠΎΠ΅ΠΌ случаС). Π’Ρ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту слуТбы ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записью (ΠΈΠ»ΠΈ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠΌ gMSA) ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΡ€Π°Π²Π° Π½Π° остановку/пСрСзапуск слуТбы, Ссли Ρƒ Π½ΠΈΡ… Π½Π΅Ρ‚ ΠΏΡ€Π°Π² локального администратора.

Π§Ρ‚ΠΎΠ±Ρ‹ слуТба ΠΌΠΎΠ³Π»Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ увСдомлСния Π² сСанс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ столом) Π½ΡƒΠΆΠ½ΠΎ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ β€œΠ’Ρ…ΠΎΠ΄ Π² систСму” (Log on) Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ β€œΠ Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ взаимодСйствиС с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ столом” (Allow service to interact with desktop).

Π§Ρ‚ΠΎΠ±Ρ‹ это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π² Windows 10 / Windows Server 2012 R2/ 2016 Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DWORD ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° рССстра NoInteractiveServices Π² Π²Π΅Ρ‚ΠΊΠ΅ HKLM\System\CurrentControlSet\Control\Windows Π½Π° 0 ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ слуТбу обозрСватСля ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… слуТб (Interactive Services Detection Service):

Start-Service -Name ui0detect

Однако Π² Windows 10 1803 слуТбу Interactive Services Detection Service ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ±Ρ€Π°Π»ΠΈ ΠΈΠ· систСмы, ΠΈ Π²Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π² Π½ΡƒΠ»Π΅Π²ΡƒΡŽ сСссию (Session 0), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ просто Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выводятся ΠΈΠ·-ΠΏΠΎΠ΄ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° System.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ описаниС слуТбы ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

& $NSSMPath set $NewServiceName description β€œΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ AD”

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ слуТбу ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ sc delete ΠΈΠ»ΠΈ

nssm remove CheckADGroupSrv

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *