JavaScript скрипт гэж юу вэ, тэдгээрийг хөтөч дээрээ хэрхэн идэвхжүүлэх вэ? Файл - powershell скриптийг гүйцэтгэх бодлого Powershell скриптийн гүйцэтгэлийг идэвхжүүлнэ

Өгөгдмөл скриптийн гүйцэтгэл Windows PowerShellсистемд хориглосон. Аюулгүй байдлын үүднээс бүх PowerShell скриптүүд тоон гарын үсэгтэй байх ёстой. энэ аргагэж нэрлэдэг - гүйцэтгэх бодлого. Хэрэв скрипт нь энэ нөхцлийг хангаагүй бол систем дээр PowerShell скрипт ажиллуулахыг хориглоно. Энэ нь юуны түрүүнд скрипт нь хор хөнөөл учруулж болзошгүй хортой код агуулсан байж болзошгүйтэй холбоотой юм үйлдлийн систем.


PowerShell нь ямар төрлийн кодыг ажиллуулахыг зөвшөөрдөг хэд хэдэн гүйцэтгэх горимтой. Гүйцэтгэлийн 5 өөр горим байдаг:

Хязгаарлагдмал
Өгөгдмөл утга. Аливаа скриптийн гүйцэтгэлийг хааж, интерактив командуудыг ажиллуулахыг зөвшөөрдөг.
Бүгд гарын үсэг зурсан
Тоон гарын үсэг бүхий скриптийг гүйцэтгэхийг зөвшөөрнө.
Алсын гарын үсэгтэй
Орон нутгийн скриптүүд нь гарын үсэггүй ажилладаг. Татаж авсан бүх скриптүүд тоон гарын үсэгтэй байх ёстой.
Хязгааргүй
Аливаа скриптийг гүйцэтгэхийг зөвшөөрдөг. Интернэтээс татаж авсан гарын үсэг зураагүй скриптийг ажиллуулах үед програм баталгаажуулах шаардлагатай байж магадгүй юм.
Тойрох
Юу ч хаагдсангүй, ямар ч анхааруулга эсвэл хүсэлт гарч ирэхгүй.

PowerShell-ийн өгөгдмөл горим нь "Хязгаарлагдмал". Энэ горимд PowerShell нь интерактив бүрхүүл хэлбэрээр ажилладаг. Хэрэв та өмнө нь PowerShell-ийг тохируулаагүй бол скрипт ажиллаж байхын оронд доорх дэлгэцийн зурган дээрх шиг улаан фонтоор бичсэн алдааны мессежийг харах болно.

Хамгийн аюулгүй аргаарЭнэ асуудлын шийдэл нь гүйцэтгэх бодлогыг хязгааргүй болгож өөрчлөх, скриптийг ажиллуулж, дараа нь хязгаарлагдмал бодлого руу буцах явдал юм.

Гүйцэтгэлийн бодлогыг хязгааргүй болгож өөрчлөхийн тулд администраторын эрхтэй PowerShell консолыг ашиглаад дараах тушаалыг ажиллуулна уу:

Ю (Тиймээ)

Одоо та скриптийг ажиллуулж болно. Гэсэн хэдий ч та системийг ноцтой эрсдэлд оруулж байгаа тул скрипт ажиллаж дууссаны дараа гүйцэтгэх бодлогыг хязгаарлагдмал горимд буцааж оруулахаа мартуузай. Та дараах тушаалыг ашиглан үүнийг хийж болно.

Тушаалыг ажиллуулсны дараа танаас гүйцэтгэлийн бодлогын өөрчлөлтийг баталгаажуулахыг хүсэх болно. Бид хариулах болно Ю (Тиймээ)

Аливаа скриптийн гүйцэтгэлийг хаасан. Өгөгдмөл утга.

Тохируулах-Гүйцэтгэлийн бодлогыг хязгаарласан

Тоон гарын үсэг бүхий скриптийг гүйцэтгэхийг зөвшөөрнө.

Скриптүүдийг бэлтгэсэн орон нутгийн компьютер, та хязгаарлалтгүйгээр ажиллуулж болно, Интернетээс татаж авсан скриптүүд - зөвхөн тоон гарын үсэгтэй бол.

Set-ExecutionPolicy RemoteSigned

Аливаа скриптийг гүйцэтгэхийг зөвшөөрдөг. Интернэтээс татаж авсан гарын үсэг зураагүй скриптийг ажиллуулах үед програм баталгаажуулах шаардлагатай байж магадгүй юм.

Тохируулах-Гүйцэтгэх Бодлогыг Хязгааргүй

Юу ч хаагдсангүй, ямар ч анхааруулга эсвэл хүсэлт гарч ирэхгүй.

Өөрчлөлтийг баталгаажуулалгүйгээр дээрх тушаалуудыг ажиллуулахын тулд сонголтыг ашиглана уу
-Хүчээр, жишээ нь тушаалыг ажиллуулна уу:

Set-ExecutionPolicy Bypass -Хүчээр

Одоо командуудыг гүйцэтгэхдээ хийсэн өөрчлөлтийг баталгаажуулах шаардлагагүй.


Бид энэ хуудсанд байгаа мэдээллийг голчлон Майкрософт хэрэглэгчдэд зориулдаг Internet Explorer 5.x ба 6.x.- хамгийн түгээмэл хөтөчүүд Интернет сүлжээнүүд. Манай сайт бусад хөтөч дээр хангалттай харагдаж байгааг анхаарах нь чухал. Гэсэн хэдий ч бидний бодлоор дэмжигчид Mozilla Firefoxболон Opera бол хамгийн сүүлийн үеийн сонирхогч, сонирхогчид юм програм хангамж, тиймээс үүнийг тохируулах талаар зөвлөгөө авах шаардлагагүй.

JavaScriptЭнэ бол интернетийн хуудсыг интерактив болгох боломжийг олгодог скрипт хэл юм, i.e. хэрэглэгчтэй "харилцаж чаддаг".

JavaScript скриптүүдИнтернэт сайтаас хэрэглэгчийн компьютерт татаж аваад түүн дээр ажиллуулна. Энэ баримт нь хэрэглэгчийн компьютерт аюул учруулж болзошгүй юм!Танихгүй сайтаас татаж авсан бусад файлын нэгэн адил JavaScript скрипт нь хэрэглэгчийг гэмтээж болох гүйцэтгэх код агуулж болно, тухайлбал, түүний нууц мэдээлэлд зөвшөөрөлгүй нэвтрэх боломжийг олгодог. Ийм учраас хөтчүүд JavaScript-ийн гүйцэтгэлийг идэвхгүй болгох боломжийг олгодог.

Харамсалтай нь аль нь ч алга орчин үеийн хөтөчнь танд сонгон шалгаруулалт хийхийг зөвшөөрдөггүй (күүкитэй адил) JavaScript скриптийг зөвхөн зарим сайтаас татаж авахыг зөвшөөрдөг бөгөөд бусад бүх сайтаас үүнийг хориглодог. Та JavaScript скриптүүдийг ажиллуулахын тулд "Скриптүүдийг ажиллуулах" тохиргоотой эвлэрэх хэрэгтэй. Java програмууд"Бүх интернет сайтуудад зөвшөөрөгдсөн байх ёстой.

Бидний хэрэглэдэг JavaScript скриптүүдМанай вэбсайт дээр янз бүрийн маягт бөглөх ажлыг зохион байгуулах (жишээлбэл, бүртгэлийн маягт), манай вэбсайтыг ашиглах талаархи бяцхан зөвлөмжүүдийг харуулах, манай цэс, бүтээгдэхүүний каталогийг бүрдүүлэх.

Microsoft Internet Explorer 6.x дээр JavaScript аюулгүй байдлын тохиргоог хийж байна

Microsoft Internet Explorer 5.x дээр JavaScript аюулгүй байдлын тохиргоог хийж байна



PowerShell "энэ систем дээр скриптийн гүйцэтгэлийг идэвхгүй болгосон" гэж хэлсэн. (15)

Би тушаалын мөрөөс PowerShell скриптийг дууддаг .cmd файлыг ажиллуулахыг оролдож байгаа бөгөөд дараах алдаа гарч байна.

Энэ систем дээр скрипт бичихийг идэвхгүй болгосон тул Management_Install.ps1-г ачаалах боломжгүй.

Би set-executionpolicy-г хязгаарлалтгүй ажиллуулсан бөгөөд PowerShell-ээс get-executionpolicy-г ажиллуулахад би хязгаарлалтгүй хариулт авдаг.

// Powershell-ээс гарах

PS C:\Users\Administrator>get-executionpolicy

хязгааргүй

// DOS-оос гарах

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scr

ips>powershell. \ Management_Install.ps1 1

АНХААРУУЛГА: x86 PowerShell-г ажиллуулж байна...

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1 файлыг ачаалах боломжгүй, учир нь энэ систем дээр скрипт бичихийг идэвхгүй болгосон. Дэлгэрэнгүй мэдээллийг "Гарын үсэг зурах талаар тусламж авах" хэсгээс үзнэ үү.

Онлайн: 1 тэмдэгт: 25

    . \Management_Install.ps1<<<< 1

    • CategoryInfo: Тодорхойгүй: (:), PSSecurityException

      FullyQualifiedErrorId: RuntimeException

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts> түр зогсоох

Үргэлжлүүлэхийн тулд ямар нэгэн товч дарна уу. ,

Систем нь Windows Server 2008 R2 юм.

Би юу буруу хийж байна вэ?

  1. PowerShell-ийг администратороор нээгээд ажиллуул
  2. Хангах Remote Signedболон Enter дарна уу.
  3. Эхлэх Set-ExecutionPolicy -Scope CurrentUser
  4. Хангах хязгааргүй хэмжээболон Enter дарна уу.

RemoteSigned: Таны үүсгэсэн бүх скрипт ажиллах бөгөөд Интернэтээс татаж авсан бүх скриптүүд итгэмжлэгдсэн нийтлэгчээр гарын үсэг зурсан байх ёстой.

За, зүгээр л бичээд бодлогыг өөрчилнө үү:

Set-ExecutionPolicy RemoteSigned

PowerShell 2.0-д гүйцэтгэх бодлогыг анхдагчаар идэвхгүй болгосон.

Түүнээс хойш PowerShell-ийн баг олон сайжруулалт хийсэн бөгөөд хэрэглэгчид скриптүүдийг ажиллуулахад тийм ч их саад учруулахгүй гэдэгт итгэлтэй байна. Тиймээс PowerShell 4.0-ээс эхлэн энэ нь анхдагчаар идэвхждэг.

Таны хувьд PowerShell консолоос Set-ExecutionPolicy RemoteSigned гэж оруулаад тийм гэж хэлээрэй.

Start цэс рүү очоод "Windows PowerShell ISE" гэж хайна уу.

X86 хувилбар дээр хулганы баруун товчийг дараад "Run as administrator"-ийг сонгоно уу.

Дээд талд Set-ExecutionPolicy RemoteSigned-г буулгана уу; скриптийг ажиллуул. Тиймээ сонгоно уу.

PowerShell ISE-ийн 64 битийн хувилбарт (x86 бус хувилбар) эдгээр алхмуудыг давтана уу.

Би Чад Миллерийн хэлсэн алхамуудыг л тодруулж байна. Чад баярлалаа!

Та PowerShell-г эхлүүлэхдээ -ExecutionPolicy ByPass-г нэмснээр энэ удирдамжийг тойрч гарах боломжтой

Powershell -ExecutionPolicy ByPass -Файлын скрипт.ps1

Та мөн дараах тушаалыг ашиглан энэ асуудлыг шийдэж болно.

Жич > powershell Get-Content .\test.ps1 | Дуудах-Илэрхийлэл

Хэрэв та администратор биш орчинд байгаа бол гүйцэтгэх бодлогыг тохируулах боломжтой бөгөөд үүнд администратор шаардлагагүй болно.

Set-ExecutionPolicy -Хамрах хүрээ "CurrentUser" -ExecutionPolicy "RemoteSigned"

Set-ExecutionPolicy - "Одоогийн хэрэглэгч" хамрах хүрээ - Execution Policy "Хязгааргүй"

Help Get-ExecutionPolicy -Full Help Set-Execution Policy -Full

Бид дараах тушаалыг ашиглан одоогийн ExecutionPolicy-ийн статусыг авах боломжтой.

Get-Execution Policy;

Анхдагчаар бол хязгаарлагдмал. PowerShell скриптүүдийг ажиллуулахыг зөвшөөрөхийн тулд бид энэ ExecutionPolicy-г дараах байдлаар тохируулах хэрэгтэй тойрч гарахэсвэл үгүй хязгаарлалт .

Бид доорх PowerShell командын аль нэгийг ашиглан одоогийн хэрэглэгчийн бодлогыг тойрч гарах эсвэл Хязгааргүй гэж тохируулах боломжтой.

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy тойрч гарах -Хүч; Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Хязгааргүй -Хүч;

ХязгааргүйУг бодлого нь бүх тохиргооны файлуудыг ачаалж, бүх скриптийг ажиллуулдаг. Хэрэв та интернетээс татаж авсан гарын үсэг зураагүй скрипт ажиллуулж байгаа бол түүнийг ажиллуулахын өмнө зөвшөөрөл авахыг танаас хүсэх болно.

Үүнийг улс төрд авч үзвэл тойрч гарахюу ч хаагдаагүй бөгөөд скрипт ажиллаж байх үед ямар ч анхааруулга эсвэл сануулга байхгүй. ExecutionPolicy тойрч гарах нь Хязгааргүй гэхээсээ илүү тайван байдаг.

Гүйцэтгэлийн бодлогын тохиргоо нь таны орчноос хамаарна. Хэрэв та одоогийн x86 ISE-ээс скрипт ажиллуулах гэж байгаа бол гүйцэтгэлийн бодлогыг тохируулахын тулд x86 PowerShell-г ашиглах ёстой. Үүний нэгэн адил, хэрэв та 64 битийн ISE ашиглаж байгаа бол 64 битийн PowerShell ашиглан бодлогыг суулгах хэрэгтэй.

PowerShell цонхыг дараах байдлаар нээнэ үү администратор. Энэ ажиллах болно.

Бүртгэлийн түлхүүр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell руу очоод ExecutionPolicy-г RemoteSigned болгож тохируулна уу.

Би үүнтэй төстэй асуудалтай тулгараад Windows Server 2012-д зориулсан анхдагч cmd нь x64 ажиллаж байгааг анзаарсан.

Учир нь Windows 7 , Windows 8 , Windows Server 2008 R2эсвэл Windows Server 2012дараах тушаалуудыг ажиллуулна администратор :

x86(32 бит)
C:\Windows\SysWOW64\cmd.exe файлыг нээнэ үү

x64(64 бит)
C:\Windows\system32\cmd.exe файлыг нээнэ үү
Set-ExecutionPolicy RemoteSigned powershell командыг ажиллуулна уу

Та горимыг ашиглан шалгаж болно

  • CMD дээр: цуурай %PROCESSOR_ARCHITECTURE%
  • Powershell дээр: ::Is64BitProcess

би хэрэглэдэг Windows 10ямар ч тушаалыг гүйцэтгэх боломжгүй байсан. Надад зарим нэг санааг өгсөн цорын ганц тушаал бол энэ байв.

Гэвч бүтсэнгүй. Тэр хязгаарлагдмал байсан. Windows 10-д зориулсан аюулгүй байдлын шинэ бодлого байж магадгүй. Надад ийм алдаа гарсан:

Set-ExecutionPolicy: Windows PowerShell нь таны гүйцэтгэлийн бодлогыг амжилттай шинэчилсэн боловч тохиргоог илүү тодорхой хүрээнд тодорхойлсон бодлогоор хүчингүй болгосон. Хүчингүй болгосны улмаас таны бүрхүүл одоогийн үр дүнтэй гүйцэтгэх бодлогыг хадгалах болно...

Тиймээс би өөр арга олсон ( шийдэл):

  1. Run/Console командыг нээх (Win + R)
  2. Төрөл: gpedit.msc(бүлгийн бодлогын редактор)
  3. Харах орон нутгийн компьютерийн бодлого -> Компьютерийн тохиргоо -> Захиргааны загварууд -> Windows бүрэлдэхүүн хэсгүүд -> Windows Powershell .
  4. Асаах " Скриптийн гүйцэтгэлийг идэвхжүүлэх »
  5. Шаардлагатай бол бодлогыг тогтооно. Би өөртөө зориулж тавьсан" Бүх хувилбарыг зөвшөөрөх ».

Одоо PowerShell-г нээгээд сайхан өнгөрүүлээрэй ;)

Win + R ба copy paste командыг оруулаад OK дарна уу:

Powershell Set-ExecutionPolicy -Хамрах хүрээ "CurrentUser" -ExecutionPolicy "RemoteSigned"

Мөн скриптээ ажиллуул.

Дараа нь өөрчлөлтүүдийг буцаана, жишээлбэл:

Powershell Set-ExecutionPolicy -Хамрах хүрээ "CurrentUser" -ExecutionPolicy "AllSigned"

Цөөн хэдэн байна янз бүрийн аргаарскриптийг ажиллуулж байгаа бол гол нь доор байна:

  1. PowerShell-г ажиллуулна уутүүн доторх скриптийг ажиллуул (файлын зам болон файлын нэрийг оруулна. Жишээ нь: C:\Scripts\test.ps1, эсвэл cd C:\Scripts командын хамт скрипт хавтас руу орж ажиллуулна уу. тушаалаар.\test.ps1) Бүрхүүлийг олон янзаар олж, хөөргөж болно. Нэг арга бол Start цэсээр дамжуулан. Windows 7-ийн хувьд та "Бүх програмууд" - "Дагалдах хэрэгсэл" - "Windows PowerShell" руу очоод "Windows PowerShell" бүрхүүлийг эхлүүлэх хэрэгтэй. Windows 10-ийн хувьд та "W" үсэг бүхий бүлгийг олох хэрэгтэй бөгөөд дотор нь "Windows PowerShell"-ийг олох болно.
  2. "Windows PowerShell ISE"-г ажиллуулна уупрограм нь PowerShell скриптүүдийг засах, дибаг хийх боломжийг олгодог хөгжүүлэлтийн орчин бөгөөд үүнийг PowerShell-ийн хамт анхдагчаар ашиглах боломжтой. Үүнийг ажиллуулсны дараа та "Нээх" товчийг дарах эсвэл Файл - Нээлттэй цэс рүү очоод хүссэн скриптийг сонгоод F5 эсвэл "Скриптийг ажиллуулах" товчийг дарна уу. Та Windows PowerShell ISE-ийг ижил газраас олох боломжтой. PowerShell бүрхүүл - Эхлэх цэсэнд .
  3. Стандарт командын мөрийг ажиллуулмөн дотор нь бичнэ үү:
    powershell - файл<имя_скрипта> (жишээ нь: powershell -файл myscript.ps1)

Хэрэв та өмнө нь PowerShell скрипт ажиллуулж байгаагүй бол дараах мессежийг хүлээн авах болно. Файлыг татаж авах боломжгүй<имя_скрипта>, учир нь энэ системд скрипт ажиллуулахыг хориглодог. Дэлгэрэнгүй мэдээллийг авахын тулд "get-help about_signing" гэж бичнэ үү. Энэ нь аюулгүй байдлын үүднээс болон санамсаргүй гүйцэтгэлээс урьдчилан сэргийлэхтэй холбоотой юм хортой код, бүх скриптүүд тоон гарын үсэгтэй байх ёстой.

Гарын үсэг зураагүй PowerShell скриптийг хэрхэн ажиллуулахыг зөвшөөрөх вэ?

1. PowerShell дээр, скриптийг ажиллуулахын өмнө одоогийн бүрхүүлийн сессийн гарын үсэг зураагүй скриптүүдийг ажиллуулахыг зөвшөөрөх тушаалыг ажиллуулна уу:

Set-ExecutionPolicy RemoteSigned -Scope Process

2. Эхлэх үед стандарт тушаалын мөрөөс-executionpolicy параметрийг ашиглах, i.e. скриптийг дараах байдлаар ажиллуулна уу:

<имя_скрипта>

Энэ хоёр арга нь зөвхөн одоогийн сессийн бодлогыг тохируулах бөгөөд бүртгэлд бичигдсэн PowerShell скриптүүдийг ажиллуулах аюулгүй байдлын бодлого өөрчлөгдөхгүй бөгөөд ижил хэвээр байх болно. Хэрэв та скриптийн гүйцэтгэлийн аюулгүй байдлын бодлогыг "байнгын" болгож өөрчлөхийг хүсвэл дараах аргыг ашиглана уу:

3. Үргэлж хөөргөхийг зөвшөөр: PowerShell-г администратороор ажиллуулаад дараа нь дараах тушаалыг ажиллуулна уу:

Set-ExecutionPolicy RemoteSigned

Жич:Хэрэв скриптийг интернетээс татаж авсан бол эхлүүлэхийг баталгаажуулах хүсэлтээс зайлсхийхийн тулд та RemoteSigned-ийн оронд Bypass-ийг ашиглах хэрэгтэй - аливаа хүсэлт, сэрэмжлүүлгийг бүрэн идэвхгүй болгох.

PowerShell скриптийг арын дэвсгэр дээр хэрхэн ажиллуулах вэ?

Үүнийг хийхийн тулд зүгээр л эхлүүлэх параметрийг ашиглана уу -WindowStyle нь дараах утгыг авч болно: Normal, Minimized, Maximized and Hidden. Тиймээс, гарын үсэг зураагүй скриптийг ажиллуулахын тулд дэвсгэр, та тушаалыг ажиллуулах хэрэгтэй:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -файл<имя_скрипта>

Хэрэв та хүсвэл -NonInteractive-г нэмж болно, ингэснээр скрипт ямар ч асуулт асуухгүй. Тиймээс скриптийг хэрэглэгч анзааралгүйгээр гүйцэтгэх болно. Энэ аргыг хэрэглэхдээ болгоомжтой байгаарай.

PowerShell скриптийг параметрүүдтэй ажиллуулж байна

Бодит хөөргөлтийг хөөргөж байгаа юм шиг хийх ёстой тогтмол хөтөлбөрэсвэл параметр бүхий bat файл. Жишээлбэл, командын мөрөөс параметр бүхий скрипт ажиллуулахын тулд та дараах тушаалыг бичиж болно.

powershell -executionpolicy RemoteSigned -файл<имя_скрипта>param1 param2 "өөр нэг текст параметр"

Скрипт дотроос та дараах параметрүүдийг авч болно:

Парам ($var1, $var2, $var3) echo $var1, $var2, $var3

PowerShell ISE дээр та тушаалын самбарыг ашиглан параметр бүхий скриптийг ижил аргаар ажиллуулж болно.

Товчлол ашиглан PowerShell скриптийг хэрхэн ажиллуулах вэ?

Энэ ажлыг хоёр аргаар хийж болно:

  1. Скриптийг ажиллуулах команд бичих bat/cmd файл үүсгэнэ үү (та дээрх параметрүүдийг уншсан)
  2. c:\Windows\System32\WindowsPowerShell\v хавтсанд байгаа PowerShell-ийн товчлолыг үүсгэнэ үү.<версия>\ мөн "Объект" талбар дахь товчлолын шинж чанаруудад шаардлагатай параметрүүдийг нэмнэ үү.

Жишээлбэл, хэрэглэгч нэвтрэх үед powershell скриптийг ажиллуулахын тулд та 2-р зүйлд заасны дагуу товчлол үүсгэж, үүнийг эхлүүлэхэд байрлуулж болно. Мөн дээрх аргуудын аль нэгийг ашиглан товчлол үүсгэх нь скриптийг администратороор эсвэл бусад хэрэглэгчээр энгийн програмаар хялбархан ажиллуулах боломжийг олгоно.

PowerShell скрипт хэл нь янз бүрийн асуудлыг шийдвэрлэх маш хүчирхэг хэрэгсэл боловч зөвхөн сайн зүйлд төдийгүй муу зүйлд ч ашиглах боломжтой тул үүнийг ухаалаг хэрэглээрэй ;)

Windows 7 болон Server 2008 гарснаас хойш нэг жил гаруй хугацаа өнгөрчээ.

Програмистууд, системийн администраторуудболон дэвшилтэт хэрэглэгчид тушаалын мөртэй төстэй цэнхэр цонхны олон хэрэглээг олсон.

Ихэнх шинэхэн хэрэглэгчид PowerShell (PS) гэж юу болохыг мэддэггүй.

Гэхдээ PowerShell-д зориулсан скриптүүд нь үйлдлийн системд гүйцэтгэсэн үйлдэл, скриптүүдийн бараг 100% -ийг тушаалын мөр болон график интерфэйсээр автоматжуулах боломжийг олгодог.

Скрипт (програм хангамж) үүсгэх, ажиллуулах функцэд илүү анхаарал хандуулж, энэ програмын үндсэн боломжуудтай танилцацгаая.

Хөтөлбөрийн тоо томшгүй олон гарын авлага, баримт бичиг, түүний дотор орос хэл дээр байдаг. Өгүүллийн зорилго- хэрэглэгчдэд үзэл баримтлалын мэдлэг олгох; орчин үеийн болгох, гэхдээ орчуулагч, скриптийн гүйцэтгэлтэй илүү ойр дотно танилцах нь зүйтэй эсэхээс үл хамааран хүн бүр өөрөө шийднэ.

Windows PowerShell гэж юу вэ?

PowerShell– .NET Framework дээр суурилсан, өөрийн гэсэн скрипт хэлээр тоноглогдсон орчуулагч.

Эхнийх нь энэ нь текст горимд ажилладаг гэсэн үг юм: та тушаалыг оруулаад түүнийг ажиллуулаад дэлгэцэн дээр түүний гүйцэтгэлийн үр дүнг харна.

MS-DOS болон UNIX-ийн хуучин хувилбаруудад байсан шиг.

Хоёр дахь нь администраторууд болон энгийн хэрэглэгчдийн систем, програм, процесс, холбогдох үйлчилгээг удирдах, засвар үйлчилгээ хийх ажлыг ихээхэн хялбаршуулж, хурдасгаж, автоматжуулдаг.

Бусад орчуулагчидтай харьцуулахад Жич өөр байна:

  • -тэй нэгтгэх - програмын кодыг оруулснаар хүчирхэг скрипт үүсгэх боломжийг танд олгоно;
  • Буцаагдсан бүх өгөгдөл нь текст/мөр өгөгдөл биш объект бөгөөд энэ нь тэдгээрийг бусад скриптүүд рүү дамжуулж, ямар нэгэн байдлаар боловсруулдаг гэсэн үг юм.

PowerShell хувилбар 2дараах чадвартай, Тэдгээрийн заримыг илүү нарийвчлан авч үзье:

  • Командуудыг cmdlet хэлбэрээр илэрхийлэх чадвар– тэдгээрийг орчуулагч дотор ажиллуулдаг, эс тэгвээс тушаалыг тусдаа процессоор гүйцэтгэдэг.
  • Конвейер ашиглах– бүтэц, төрлийг хадгалахын зэрэгцээ өгөгдлийг нэг командаас нөгөөд шилжүүлэхэд зориулагдсан.
  • Нэгдсэн олон урсгалтай өгөгдөл дамжуулахтэргүүлэх ач холбогдол өгөх, холболтыг сэргээх замаар сүлжээгээр.
  • Байршил болон нэрлэсэн параметрүүдийг дэмжих.
  • Суурь ажил– командуудыг асинхрон дуудах, алсын машинууд дээр скриптүүдийг эхлүүлэх.
  • Алсын үйлчлүүлэгчидтэй хязгаарлагдмал сессүүдийг тохируулахмөн тэдгээр дээр ажиллаж байгаа скриптүүд.
  • Модулиуд– скриптүүд нь модулийн орчинд нөлөөлөлгүйгээр бие даан ажиллаж, өөрийн саванд хийгдэх үед тэдгээрийг зохион байгуулах арга.
  • Алдаа зохицуулагчийн бэлэн байдал.
  • Хэлний график орчин: синтакс, дибаглагч, тодруулах, Юникод болон хавчуургыг дэмждэг командыг автоматаар дуусгах.
  • Мөрүүдэд таслах цэг нэмэх, скриптийг дибаг хийх командууд, үйлдлүүд болон хувьсагчууд.
  • Блок болон шугам хоорондын тайлбар.
  • Зарим командлетуудын нэр үүсгэх дэмжлэг, тэдгээрийг гүйцэтгэх үед энгийн командууд болгон хувиргадаг.
  • Хязгаарлагдмал сесс үүсгэх,Энд та хатуу тодорхойлсон тушаалуудын жагсаалт болон бусад олон зүйлийг гүйцэтгэх боломжтой.

PowerShell эх кодыг хүн бүрт ашиглах боломжтой болгосон: Нийгэмлэгийн аль ч гишүүн командын мөрийн орчуулагчийн ажиллагааг нэмэгдүүлэхийн тулд өөрийн өргөтгөлүүдийг чөлөөтэй үүсгэж болно.

Та програмчлалын ур чадваргүйгээр нэгдсэн скрипт хэлийг эзэмшиж эхлэх боломжтой.

Та нарийн төвөгтэй хувилбарыг бий болгох магадлал багатай боловч бараг бүх хүн анхдагч үйлдлийн дарааллыг гүйцэтгэх боломжтой болно.

Хэдийгээр PowerShell-ийн үндсэн ойлголтуудыг мэдэхгүй ч та командын орчуулагч цонхонд юу ч хийж чадахгүй байх магадлал багатай юм. Тэднээс эхэлцгээе.

Cmdlets

Cmdlets– PS-ийн өвөрмөц командууд, тэдгээрийн ард олон янзын функцууд нуугдаж байна. Орчуулагчид суулгасан командууд нь үйл үг-нэр үгийн зарчмаар хэрэгждэг, жишээлбэл Get-Process (үйл явцын жагсаалтыг авах). Энэхүү шийдэл нь тушаалын мөн чанарыг зөвхөн нэрнээс нь (англи хэл дээр) ойлгох боломжийг олгодог.

Зарим командлетууд нь бүтэц, төрлийг хадгалахын зэрэгцээ өгөгдөл болон массив мэдээллийн хүлээн авах/шилжүүлэхийг дэмждэг. Энэ нь конвейерийн зарчмаар ажилладаг (энэ талаар дараагийн хэсэгт авч үзэх болно). Үүнээс үл хамааран командлетууд нь объектуудыг дарааллаар нь ажиллуулж, боловсруулдаг.

Комдлетуудыг хэрэгжүүлэхийн тулд дурын .NET хэл дээр үүсгэсэн дэмжигдсэн .NET API-г ашиглаж болно.

Тиймээс хэрэглэгч програмын тодорхой функцүүдэд хандах эрхтэй болно.

Cmdlet нь шаардлагатай мэдээлэлд шууд эсвэл өвөрмөц замаар (драйвын үсэг, лавлах зам) хандах боломжтой.

Cmdlet ашиглан та объектуудтай ажиллах боломжтой Файлын системболон гэрчилгээний дэлгүүрүүд, суулгасан програмуудболон үйлчилгээ.

Конвейер

Маш энгийн биш скрипт үүсгэх эсвэл скриптийн үр дүнд олж авсан өгөгдөлтэй ямар нэгэн үйлдэл хийхдээ заримдаа зарим үйлдлийг хийх шаардлагатай болдог.

Үүний тулд конвейер байдаг. UNIX-ийн нэгэн адил энэ нь нэг командлетын гаралтыг нөгөө командын оролт руу шилжүүлэх замаар командуудыг нэгтгэж, төрлийг нь хадгалдаг.

Энэ тохиолдолд мэдээллийг агуулах эсвэл тэмдэгт тус бүрээр задлах шаардлагагүй.

Дамжуулсан мэдээлэл нь функцийг агуулж болно.Хосолсон командуудын ажлыг дуусгасны дараа мэдээллийг текст хэлбэрт хөрвүүлэх (өгөгдлийг мөр болгон хөрвүүлэх) функцийг текст форматыг ашиглан дууддаг.

Скриптүүд

Бүрхүүл нь олон үйлдлийг автоматжуулах боломжийг олгодог хэдий ч та тушаалуудыг гараар оруулах хэрэгтэй бөгөөд энэ нь тийм ч тохиромжтой биш юм.

Ялангуяа ижил үйлдлүүдийг дахин дахин хийх шаардлагатай үед.

Мөн та хүний ​​хүчин зүйлгүйгээр хийж чадахгүй: үсгийн алдаа, алдаа, кодын мөр бичих үед санамсаргүй товчлуур дарах, мөрийг засах, дахин бичих зэрэг нь хэрэглэгчдэд илүү ээлтэй хандлагыг шаарддаг.

PS дээр нэгэн хэвийн үйлдлүүдийн гинжийг гүйцэтгэхийн тулд скриптүүдийг хэрэгжүүлдэг - текст файлуудорчуулагчдад ойлгомжтой доторхи тушаалуудын дараалалтай.

PowerShell дахь скриптүүд нь компьютер дээрх ажил, түүний засвар үйлчилгээ, ялангуяа скрипт нь салбарууд, нөхцөлүүд, логик үйлдлүүд болон гогцоонуудыг агуулсан бол илүү хялбарчилж, автоматжуулах болно.

Гэхдээ энд "гялалзсан бүхэн алт биш": өөрийн скрипт бичих эсвэл бэлэн скриптийг байршуулах (өөрийн зорилгодоо бага зэрэг тохируулсан ч гэсэн) тийм ч амархан бүтэхгүй.

Хэрэв орволMicrosoftзөвшөөрсөн хичнээн хэцүү байсан ч хамаагүй -д зориулж скрипт хийсэнPowerShell , Хувиа хичээсэн эсвэл танхайн зорилгоор луйварчид болон муу санаатнуудын бичсэн.

Windows PS дээр ажиллахын тулд та түүний эхлүүлэх хяналтыг давах ёстой.

Хэрэв энэ нь амжилтгүй болж, скриптийг гүйцэтгэх шаардлагатай бол макросын аюулгүй байдлыг хариуцдаг объектуудын тохиргоог өөрчлөх шаардлагатай болно.

Скриптүүдийг ашиглахаас өмнө

VBS-ийг ашиглах үед хэрэглэгчийн скриптийн хүсэлтийг хангах эсвэл үйлдлийн системийн аюулгүй байдлын түвшинтэй холбоотой асуудлыг шийдэхийн тулд скриптийн хамгаалалтыг бууруулаагүй тохиолдолд PowerShell хөгжүүлэгчид үүнийг бүрэн арилгахад хүргэдэг олон асуудал үүсдэг.

Татаж авсан скриптийг хэрэглэгчийн машин дээр ажиллуулах нь хортой программыг тараах, хулгайлах энгийн бөгөөд үр дүнтэй сонголт юм. хувийн мэдээлэлхалдагчид.

Скрипт файлын (ps1) агуулгыг мэдэхгүйгээс бүх зүйл тохиолддог.бусдын хөдөлмөрөөр асуудлыг хурдан шийдэх хүсэл. Скриптийн гүйцэтгэлийн аюулгүй байдлын түвшинг хянадаг объектууд нь скриптийг ажиллуулах боломжгүй орчинг бүрдүүлдэг.

Хэрэв хэрэглэгч юу хийж байгаагаа ухамсарлаж, *.ps1 файлд юу байгааг тодорхой мэдэж байвал хамгаалалтын түвшинг өөрчилсний дараа зориудаар макро ажиллуулдаг.

Аюулгүй байдлын тохиргоо нь өөрийн скриптийг хэрэгжүүлэх, ажиллуулах шаардлагатай хүмүүст тохиромжгүй байдаг тул тохиргоог өөрчлөх боломжтой.

Энд та хамгаалалтыг хамгийн бага хэмжээнд хүртэл бууруулж эсвэл нэвтрэх нүхийг нээх чадвар, PowerShell-тэй ажиллахад хялбар байх хооронд ухаалаг маневр хийх боломжтой.

Бүрхүүл нь аюулгүй байдлын гурван түвшинтэй:

  • ps1 өргөтгөлтэй файлуудыг систем танихгүйгүйцэтгэх боломжтой бөгөөд үл мэдэгдэх эсвэл текст гэж томилогдсон (компьютер дээр ашигладаг анхдагч текст засварлагч дээр давхар товшиж нээгдэнэ);
  • Бүрхүүл нь скриптүүдийг бүрэн замыг зааж өгсний дараа ажиллуулах боломжийг олгодог, одоогийн директор доторх скрипт файлуудыг хайдаггүй тул одоогийн директорт байрлах макронуудыг ажиллуулах боломжгүй болгодог;
  • суулгасан Гүйцэтгэлийн бодлогын скриптийг ажиллуулж байна, шаардлагатай нэгийг зөвшөөрөгдсөн скриптүүдийн жагсаалтад нэмэх үүрэгтэй.

Тохиргоог өөрчлөх талаар бодох ч хэрэггүй, наад зах нь хоёр дахь түвшинд хүртэл бууруулж, үндсэн ойлголттой танилцахгүйгээрPowerShell*-ийн агуулгыг ядаж өнгөцхөн ойлгож эхлэх хүртэл.ps1.

Мөн скриптийг санамсаргүйгээр гүйцэтгэхээс урьдчилан сэргийлэх зорилгоор бүтээгдсэн гүйцэтгэх бодлогын тухай ойлголт байдаг. Эхлүүлэх бодлогын таван тохиргоо байдаг:

  • хязгаарлагдмал -анхдагчаар суулгасан бол зөвхөн Microsoft-ын гарын үсэгтэй скриптүүдийг ажиллуулж, компьютерийн техник хангамж, програм хангамжийн бүрхүүлийн талаар мэдээлэл авах боломжийг танд олгоно;
  • гарын үсэгтэй устгасан файлууд - та бүх макро ажиллуулж болно, гэхдээ шуудангаар илгээсэн файлууд гарын үсэг зурсан байх ёстой;
  • итгэмжлэгдсэн эх сурвалжийн тоон гарын үсэг– гарын үсэг зурсан бүх скриптүүд хийгдсэн;
  • хязгааргүй- дурын макро ажиллуулах;
  • тойрч гарах- бүрхүүлд өгөгдсөнийг ашиглахаас илүүтэйгээр өөрсдийн хамгаалалтын системийг бий болгодог програмистуудад зориулагдсан.

Шалгах Одоогийн байдалГүйцэтгэлийн бодлогыг "Get-ExecutionPolicy" командыг ашиглан үүсгэж болно.Аюулгүй байдлын бодлого ямар ч байсан хэрэглэгч түүнд гүйцэтгэх хангалттай эрх байхгүй тушаалуудыг агуулсан скриптийг ажиллуулах боломжгүй.

PowerShell-г эхлүүлж байна

Онолоос практикт шилжих цаг болжээ. Тиймээс, скриптүүдийг ажиллуулахын тулд та дижитал гарын үсэг авах хэрэгтэй эсвэл (хоёр дахь сонголт нь илүү хялбар).

PowerShell цонхыг нээх хэд хэдэн арга байдаг.

Үүнийг хоёр хэлбэрээр танилцуулж байна:

  • сонгодог консол;

  • PowerShell ISE - таб, синтакс, контекст тусламж, контекст болон үндсэн цэсийг дэмждэг бөгөөд энэ нь орчуулагч дээр ажиллахад ихээхэн хөнгөвчилдөг.

Эхлэх

PS руу залгах хамгийн хялбар арга бол Start юм.

  1. Цэсийг нээнэ үү(Windows 7 дээр "Бүх програмууд" дээр дарна уу).
  2. Windows PowerShell лавлах руу очно уумөн хүссэн дүрс дээр дарна уу.

Цагаан будаа. 4 – Эхлэлээр дамжуулан PS-г ажиллуулна уу

Та мөн PS руу залгаж болно нэгдсэн хайлтын систем.

Командын орчуулагч

Хэн стандарт бус, дуртай хурдан арга замуудэхлүүлэхийн тулд "Run" цонхыг ашиглана уу. Энэ нь Start дээрх ижил нэртэй товчлуур болон Win + R товчлуурын хослолоор нээгдэнэ.

Харилцах цонхонд бид бичнэ "powershell"болон "Enter" товчийг дарна уу.

Win + X

Windows 10-д PS-г WinX цэснээс дуудаж болно. Баримт нь анхдагчаар команд дээр дарах явдал юм "Тушаалын мөр" CMD-г нээх. Үүнийг PowerShell-ээр сольж болно.

Taskbar-ийн "Properties" -ийг "Навигаци" таб дээрээс нээгээд цорын ганц сонголтын хажууд тэмдэг тавьж, тохиргоог хадгална уу.

Та PowerShell руу залгаж болно тушаалын мөр, дотор нь "powershell" гэж бичих эсвэл гүйцэтгэх файлыг замын дагуу ажиллуулах: %WINDIR%\ System32\ 32 битийн системд зориулсан WindowsPowerShell\v1.0 болон %WINDIR%\ syswow64\ 64 битийн WindowsPowerShell\v1.0 Windows ямар чредакторууд.

Цагаан будаа. 8 – Гүйцэтгэх боломжтой файлыг хадгалсан лавлахаас PS-г ажиллуул

Аюулгүй байдлын бодлогыг бий болгож байна

Жаахан үлдсэн– PowerShell-д скрипт ажиллуулахыг зөвшөөрөх. "Set-ExecutionPolicy RemoteSigned" командыг оруулаад "Y" товчийг дарна уу.

Тэгээд л болоо. Одоо та ямар ч командлет болон скриптүүдийг ажиллуулж болно. Жишээлбэл, "Get-Process"-ийг ажиллуулж идэвхтэй процессуудын жагсаалтыг харуулахыг хичээцгээе.

Скриптүүдийг ажиллуулж байна

Та аль ч хэлбэрээр скрипт үүсгэж болно (Win эсвэл синтакс эсвэл баталгаажуулалтыг дэмждэг үүнтэй төстэй зүйлийг ашиглах нь дээр) эсвэл PowerShell програм ISE.

Сүүлийнх нь cmdlet-д хялбар хандах, скрипт ажиллуулах, дибаг хийх, хадгалах боломжийг олгодог.

Та анхны скриптээ бичсэн гэж бодъё (энэ жагсаалт гарч байна ажиллаж байгаа процессууд), Файл цэсээр хадгалагдсан бөгөөд үүнийг эхлүүлэх шаардлагатай. Үүнийг гурван аргаар хийдэг:

1 Бид PowerShell (эсвэл ISE) дээр скриптийн бүрэн замыг бичдэг);

Цагаан будаа. 13 – PowerShell ISE цонхноос скриптүүдийг ажиллуулж байна

ЧухалИнгэснээр файл руу орох замд хоосон зай байхгүй болно!

PowerShellхүчирхэг хэрэгсэл Server 2008 болон түүнээс хойшхи хувилбаруудын ердийн үйлдлүүдийг хялбарчлах. PowerShell-ийн чухал давуу тал бол скрипт болон бэлэн байдал юм PS ISE график интерфэйс бүхий програмын хувилбар. Үүнд байгаа командуудыг cmdlet хэлбэрээр танилцуулсан бөгөөд энэ нь бүрхүүлтэй танилцах, тушаал бүрийн утгыг ойлгох боломжийг олгоно. Аюулгүй байдлын бодлого нь эхлэгчдэд түүний компьютерт хор хөнөөл учруулахыг зөвшөөрөхгүйҮл мэдэгдэх эх сурвалжаас хүлээн авсан скриптүүд, дибаг хийх горим, өөрийн командууд, функцууд болон алдаа засах механизмуудыг бий болгох нь програмистууд болон администраторуудад хязгааргүй боломжийг нээж өгдөг.