JavaScript skriptləri nədir və onların dəstəyini brauzerdə necə aktivləşdirmək olar? Fayl - powershell skriptinin icrası siyasəti Powershell skriptinin icrasını aktivləşdirin

Defolt Skript İcrası Windows PowerShell sistemdə qadağandır. Təhlükəsizlik səbəbləri üçün bütün PowerShell skriptləri rəqəmsal imzalanmalıdır, bu üsulçağırıb - icra siyasəti. Skript bu şərtə cavab vermirsə, sistemdə PowerShell skriptlərinin işlədilməsi qadağandır. Bu, ilk növbədə, skriptin zərər verə biləcək zərərli kodu ehtiva edə bilməsi ilə əlaqədardır əməliyyat sistemi.


PowerShell-də hansı növ kodun işə salınmasına icazə verildiyini müəyyən edən bir neçə icra rejimi var. 5 fərqli icra rejimi var:

Məhdudlaşdırılıb
Cari dəyər. İstənilən skriptlərin icrası bloklanır və interaktiv əmrlərin işinə icazə verilir.
Hamısı imzalanıb (hamısı imzalanıb)
Rəqəmsal imza ilə skriptlərin icrasına icazə verilir.
Uzaqdan İmzalı
Yerli skriptlər imzasız işləyir. Bütün endirilmiş skriptlər rəqəmsal olaraq imzalanmalıdır.
Məhdudiyyətsiz
İstənilən skriptlərin icrasına icazə verilir. İnternetdən yüklənmiş imzasız skript işlədərkən proqram təsdiq tələb edə bilər.
Yan keçin
Heç bir şey bloklanmayıb, heç bir xəbərdarlıq və ya göstəriş görünmür.

PowerShell üçün standart rejimdir "məhdud". Bu rejimdə PowerShell interaktiv qabıq kimi fəaliyyət göstərir. Əgər siz əvvəllər PowerShell-i konfiqurasiya etməmisinizsə, o zaman skripti işə salmaq əvəzinə aşağıdakı ekran görüntüsündə olduğu kimi qırmızı şriftlə yazılmış səhv mesajı görəcəksiniz.

ən çox təhlükəsiz şəkildə Bu problemin həlli icra siyasətini məhdudiyyətsiz olaraq dəyişdirmək, skripti işə salmaq və sonra məhdudlaşdırılmış siyasətə qayıtmaqdır.

İcra siyasətini məhdudiyyətsiz olaraq dəyişdirmək üçün Administrator hüquqları ilə PowerShell konsolundan istifadə edin və aşağıdakı əmri yerinə yetirin:

Y (Bəli)

İndi skripti işlədə bilərsiniz. Bununla belə, siz sistemi ciddi riskə atırsınız, ona görə də skript bitdikdə icra siyasətini yenidən məhdudlaşdırılmış rejimə dəyişdirdiyinizə əmin olun. Bunu aşağıdakı əmrlə edə bilərsiniz:

Əmri işlətdikdən sonra sizdən icra siyasəti dəyişikliyini təsdiqləmək istəniləcək. Biz cavab verəcəyik Y (Bəli)

İstənilən skriptin icrası bloklanır. Cari dəyər.

Quraşdırma İcra Siyasəti Məhdudlaşdırılıb

Rəqəmsal imza ilə skriptlərin icrasına icazə verilir.

Skriptlər hazırlanıb yerli kompüter, məhdudiyyətsiz işlədilə bilər, İnternetdən yüklənmiş skriptlər - yalnız rəqəmsal imza ilə.

Set-ExecutionPolicy RemoteSigned

İstənilən skriptlərin icrasına icazə verilir. İnternetdən yüklənmiş imzasız skript işlədərkən proqram təsdiq tələb edə bilər.

Qeyri-məhdud icra siyasətini təyin edin

Heç bir şey bloklanmayıb, heç bir xəbərdarlıq və ya göstəriş görünmür.

Dəyişikliyi təsdiq etmədən yuxarıdakı əmrləri yerinə yetirmək üçün parametrdən istifadə edin
-Force, məsələn, əmri yerinə yetirin:

Set-ExecutionPolicy Bypass -Force

İndi əmrləri yerinə yetirərkən edilən dəyişiklikləri təsdiqləməyə ehtiyac yoxdur.


Bu səhifədəki məlumatlar ilk növbədə Microsoft istifadəçiləri üçün nəzərdə tutulub internet Explorer 5.x və 6.x.- ən çox yayılmış brauzerlər İnternet şəbəkələri. Saytımızın digər brauzerlərdə adekvat şəkildə göstərildiyini qeyd etmək vacibdir. Ancaq bizim fikrimizcə, tərəfdarlar Mozilla Firefox və Opera qabaqcılların həvəskarları və biliciləridir proqram təminatı, və buna görə də onu qurmaq üçün məsləhətə ehtiyac yoxdur.

JavaScript veb səhifəni interaktiv etməyə imkan verən skript dilidir, yəni. istifadəçi ilə "ünsiyyət qura bilir".

JavaScript skriptləriİnternet saytından istifadəçinin kompüterinə yüklənir və orada icra edilir. Bu fakt istifadəçinin kompüteri üçün potensial təhlükə yaradır! Tanımadığı saytdan yüklənmiş hər hansı digər fayl kimi, JavaScript skripti də istifadəçiyə zərər verə biləcək icra edilə bilən koddan ibarət ola bilər - məsələn, onların məxfi məlumatlarına icazəsiz girişi açın. Buna görə brauzerlər JavaScript skriptlərinin icrasını dayandırmaq imkanı verir.

Təəssüf ki, heç biri müasir brauzerlər seçmə olaraq (kukilərdə olduğu kimi) JavaScript-in yalnız müəyyən saytlardan endirilməsinə icazə vermir, başqalarına icazə vermir. JavaScript skriptlərinin işləməsi üçün İnternetdəki bütün saytlar üçün "Java Tətbiq Skriptlərini Çalıştır" parametrinin aktivləşdirildiyini qəbul etməlisiniz.

istifadə edirik JavaScript skriptləri saytımızda müxtəlif formaların doldurulmasını təşkil etmək (məsələn, qeydiyyat forması), saytımızdan istifadə ilə bağlı mini-məsləhətləri göstərmək, menyumuzu və məhsul kataloqumuzu qurmaq.

Microsoft Internet Explorer 6.x-də JavaScript Təhlükəsizlik Parametrlərinin konfiqurasiyası

Microsoft Internet Explorer 5.x-də JavaScript Təhlükəsizlik Parametrlərinin konfiqurasiyası



PowerShell deyir ki, "skript icrası bu sistemdə deaktiv edilib". (15)

Komanda xəttindən PowerShell skriptini çağıran .cmd faylını işə salmağa çalışıram və aşağıdakı xətanı alıram:

Management_Install.ps1 yüklənə bilməz, çünki bu sistemdə skriptin icrası deaktiv edilib.

Mən məhdudiyyətsiz set-executionpolicy etdim və PowerShell-dən get-executionpolicy-ni işə saldıqda məhdudiyyətsiz cavab alıram.

// Powershell-dən çıxın

PS C:\Users\Administrator>get-executionpolicy

limitsiz

// DOS-dan çıxın

C:\Projects\Microsoft.Practices.ESB\Source\Samples\İdarəetmə Portalı\Install\Scr

ips>powershell. \Management_Install.ps1 1

XƏBƏRDARLIQ: x86 PowerShell çalışır...

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1 faylı yüklənə bilməz, çünki bu sistemdə skriptin icrası deaktiv edilib. Ətraflı məlumat üçün "İmzalama_haqqında kömək alın" bölməsinə baxın.

Hər sətir: 1 simvol: 25

    . \Management_Install.ps1<<<< 1

    • Kateqoriya Məlumatı: Müəyyən edilməmiş: (:) , PSSecurityException

      FullyQualifiedErrorId: RuntimeException

C:\Projects\Microsoft.Practices.ESB\Mənbə\Samples\İdarəetmə Portalı\Install\Scripts>fasilə

Davam etmək üçün hər hansı düyməyə bas. ,

Sistem Windows Server 2008 R2-dir.

Mən nəyi səhv edirəm?

  1. PowerShell-i administrator olaraq açın və işə salın
  2. təmin etmək Uzaqdan İmzalı və Enter düyməsini basın.
  3. Qaç Set-ExecutionPolicy -Scope CurrentUser
  4. təmin etmək limitsiz məbləğ və Enter düyməsini basın.

RemoteSigned: Yaratdığınız bütün skriptlər işləyəcək və İnternetdən endirilən bütün skriptlər etibarlı naşir tərəfindən imzalanmalıdır.

OK, sadəcə olaraq yazmaqla siyasəti dəyişdirin:

Set-ExecutionPolicy RemoteSigned

PowerShell 2.0-da icra siyasəti standart olaraq qeyri-aktiv edilib.

O vaxtdan bəri, PowerShell komandası bir çox təkmilləşdirmələr etdi və onlar əmindirlər ki, istifadəçilər skriptləri işlədərkən çox problem yaşamayacaqlar. Beləliklə, PowerShell 4.0-dan başlayaraq, standart olaraq aktivləşdirilir.

Sizin vəziyyətinizdə PowerShell konsolundan Set-ExecutionPolicy RemoteSigned yazın və bəli deyin.

Başlat menyusuna gedin və "Windows PowerShell ISE" axtarın.

X86 versiyasına sağ vurun və "İdarəçi olaraq işə salın" seçin.

Yuxarıda Set-ExecutionPolicy RemoteSigned daxil edin; skripti işə salın. Bəli seçin.

64-bit PowerShell ISE (x86 olmayan versiya) üçün bu addımları təkrarlayın.

Mən sadəcə @Chad Millerin işarə etdiyi addımları aydınlaşdırıram. Təşəkkürlər Çad!

PowerShell-i işə salarkən -ExecutionPolicy ByPass əlavə etməklə bu siyasəti keçə bilərsiniz

Powershell -ExecutionPolicy ByPass -Fayl skripti.ps1

Aşağıdakı əmrdən istifadə edərək bu problemi həll edə bilərsiniz:

PS > powershell Get-Content .\test.ps1 | Çağırış-İfadə

Əgər idarəçi olmadığınız bir mühitdəsinizsə, onun üçün icra siyasəti təyin edə bilərsiniz və o, idarəçi tələb etməyəcək.

Set-ExecutionPolicy -Əhatə dairəsi "CurrentUser" -ExecutionPolicy "RemoteSigned"

Set-ExecutionPolicy -Əhatə dairəsi "Cari istifadəçi" -ExecutionPolicy "məhdudiyyətsiz"

Help Get-ExecutionPolicy -Full Help Set-ExecutionPolicy -Full

Cari ExecutionPolicy statusunu aşağıdakı əmrlə əldə edə bilərik:

Get-ExecutionPolicy;

Varsayılan olaraq məhduddur. PowerShell skriptlərinin icrasına icazə vermək üçün bu ExecutionPolicy-ni olduğu kimi təyin etməliyik dolama yol ya da onsuz məhdudiyyətlər .

Aşağıdakı PowerShell əmrlərindən hər hansı birini istifadə edərək, cari istifadəçi üçün siyasəti Bypass və ya Qeyri-məhdud olaraq təyin edə bilərik:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force; Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Sərhədsiz -Qüvvət;

Limitsiz siyasət bütün konfiqurasiya fayllarını yükləyir və bütün skriptləri işə salır. İnternetdən yüklənmiş imzasız skript işlədirsinizsə, onu işə salmazdan əvvəl sizdən icazə istəniləcək.

Siyasətdə bunu nəzərə alsaq yan keçmək heç bir şey bloklanmır və skriptin icrası zamanı heç bir xəbərdarlıq və ya göstəriş yoxdur. ExecutionPolicy-dən yan keçmək Məhdudiyyətsizdən daha rahatdır.

İcra siyasətinin parametri mühitdən asılıdır. Əgər cari x86 ISE-dən skript icra etməyə çalışırsınızsa, icra siyasətini təyin etmək üçün x86 PowerShell istifadə etməlisiniz. Eyni şəkildə, 64-bit ISE-dən istifadə edirsinizsə, 64-bit PowerShell-dən istifadə edərək siyasəti quraşdırmalı olacaqsınız.

PowerShell pəncərəsini kimi açın administrator. Bu işləyəcək.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell qeyd açarına gedin və ExecutionPolicy-ni RemoteSigned olaraq təyin edin.

Bənzər bir problemlə qarşılaşdım və Windows Server 2012 üçün standart cmd-nin x64 işlədiyini gördüm.

üçün Windows 7 , Windows 8 , Windows Server 2008 R2 və ya Windows Server 2012 kimi aşağıdakı əmrləri yerinə yetirin administrator :

x86(32 bit)
C:\Windows\SysWOW64\cmd.exe faylını açın

x64(64 bit)
C:\Windows\system32\cmd.exe faylını açın
Powershell əmrini işə salın Set-ExecutionPolicy RemoteSigned

istifadə edərək rejimi yoxlaya bilərsiniz

  • CMD-də: əks-səda %PROCESSOR_ARCHITECTURE%
  • Powershell-də: ::Is64BitProcess

Mən istifadə edirəm Windows 10 və heç bir əmri yerinə yetirə bilmədi. Mənə bəzi ipuçları verən yeganə əmr aşağıdakılar oldu:

Amma işə yaramadı. O, məhdud idi. Windows 10 üçün yeni təhlükəsizlik siyasətləri ola bilər. Bu səhvim var idi:

Set-ExecutionPolicy: Windows PowerShell icra siyasətinizi uğurla yenilədi, lakin parametr daha konkret əhatə dairəsində müəyyən edilmiş siyasət tərəfindən ləğv edildi. Ləğv edildiyi üçün qabığınız cari effektiv icra siyasətini saxlayacaq...

Beləliklə, başqa bir yol tapdım həll):

  1. Çalıştır/konsol əmrini açın (Win+R)
  2. Növ: gpedit.msc(qrup siyasəti redaktoru)
  3. Baxın yerli kompüter siyasətləri -> Kompüter konfiqurasiyası -> İnzibati Şablonlar -> Windows Komponentləri -> windows powershell .
  4. Yandır " Skript icrasını aktivləşdirin »
  5. Siyasəti lazım olduqda quraşdırın. mənim üçün quraşdırdım " Bütün skriptlərə icazə verin ».

İndi PowerShell-i açın və həzz alın;)

Win + R və copy paste əmrini daxil edin və OK düyməsini basın:

Powershell Set-ExecutionPolicy -Əhatə dairəsi "CurrentUser" -ExecutionPolicy "RemoteSigned"

Və skriptinizi icra edin.

Sonra dəyişiklikləri geri qaytarın, məsələn:

Powershell Set-ExecutionPolicy -Əhatə dairəsi "CurrentUser" -ExecutionPolicy "AllSigned"

Bir neçə var müxtəlif yollarla skriptlə işləyərkən aşağıdakılar əsasdır:

  1. PowerShell Shell-i işə salın və içindəki skripti işə salın (faylın yolunu və fayl adını daxil edin, məsələn, belə: C:\Scripts\test.ps1 və ya cd C:\Scripts əmri ilə skript qovluğuna keçin və onu işə salın. əmri ilə.\test.ps1) Qabıq müxtəlif yollarla tapıla və işə salına bilər. Bir yol Başlat menyusundan keçir. Windows 7 üçün - "Bütün Proqramlar" - "Aksesuarlar" - "Windows PowerShell" bölməsinə keçməlisiniz və "Windows PowerShell" qabığını işə salmalısınız. Windows 10 üçün - "W" hərfi ilə qrupu tapmaq lazımdır və orada "Windows PowerShell" tapacaqsınız.
  2. "Windows PowerShell ISE" proqramını işə salın- bu bir proqramdır - PowerShell skriptlərini redaktə etməyə və debug etməyə imkan verən inkişaf mühiti, bu da PowerShell-in özü ilə birlikdə standart olaraq mövcuddur. Onu işə saldıqdan sonra sadəcə "Açıq" düyməsini sıxmaq və ya Fayl menyusuna keçmək lazımdır - Açın və istədiyiniz skripti seçin, sonra F5 və ya "Skript işlət" düyməsini basın. Windows PowerShell ISE ilə eyni yerdə tapa bilərsiniz. PowerShell qabığı - Başlat menyusunda.
  3. Standart komanda xəttini işə salın və orada yazın:
    powershell faylı<имя_скрипта> (məsələn: powershell - fayl myscript.ps1)

Əgər əvvəllər PowerShell skriptlərini işə salmamısınızsa, çox güman ki, bir mesaj alacaqsınız: Fayl yükləmək mümkün deyil<имя_скрипта>çünki bu sistemdə skript icrasına icazə verilmir. Ətraflı məlumat üçün "get-help about_signing" yazın. Bu, təhlükəsizlik məqsədi ilə və təsadüfi icranın qarşısını almaqla bağlıdır zərərli kod, bütün skriptlər rəqəmsal olaraq imzalanmalıdır.

İmzasız PowerShell skriptinin icrasına necə icazə vermək olar?

1. PowerShell-də, skripti işə salmazdan əvvəl cari qabıq sessiyası üçün imzalanmamış skriptlərin icrasına imkan verən əmri yerinə yetirin:

Set-ExecutionPolicy RemoteSigned -Scope Prosesi

2. Başlanğıc standart komanda xəttindən-executionpolicy seçimini istifadə edin, yəni. skripti belə işlədin:

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

Hər iki üsul siyasəti yalnız cari sessiya üçün təyin edir, eyni zamanda reyestrdə göstərilən PowerShell skriptinin icrası təhlükəsizlik siyasəti dəyişdirilməyəcək və eyni qalacaq. Skript icrası təhlükəsizlik siyasətini daimi olaraq dəyişmək istəyirsinizsə, bu üsuldan istifadə edin:

3. Əbədi işə salınmağa icazə verin: PowerShell-i "Administrator" olaraq işə salın, sonra əmri işlədin:

Set-ExecutionPolicy RemoteSigned

Qeyd: Skript İnternetdən endirilibsə, işə salınmanı təsdiqləmək tələbinin qarşısını almaq üçün RemoteSigned əvəzinə Bypass-dan istifadə etməlisiniz - istənilən sorğu və xəbərdarlıqların tamamilə söndürülməsi.

PowerShell skriptini arxa planda necə işlətmək olar?

Bunu etmək üçün sadəcə olaraq -WindowStyle işə salma parametrindən istifadə edin, o, aşağıdakı dəyərləri qəbul edə bilər: Normal, Minimallaşdırılmış, Maksimumlaşdırılmış və Gizli. Beləliklə, imzasız bir skripti işə salmaq üçün fon, əmri yerinə yetirməlisiniz:

powershell -executionpolicy RemoteSigned -WindowStyle Gizli -fayl<имя_скрипта>

İstəsəniz, skriptin heç bir sual verməməsi üçün -NonInteractive əlavə edə bilərsiniz. Beləliklə, skript istifadəçi üçün görünməz şəkildə yerinə yetiriləcəkdir. Bu üsuldan istifadə edərkən diqqətli olun.

Parametrləri olan PowerShell skriptini işə salmaq

Faktiki işə salınma, siz işə saldığınız kimi edilməlidir müntəzəm proqram və ya parametrləri olan yarasa faylı. Məsələn, əmr satırından parametrləri olan bir skripti işə salmaq üçün aşağıdakı əmri yaza bilərsiniz:

powershell -executionpolicy RemoteSigned -fayl<имя_скрипта>param1 param2 "başqa mətn parametri"

Skriptin özündə bu parametrləri belə əldə edə bilərsiniz:

Param ($var1, $var2, $var3) əks-səda $var1, $var2, $var3

PowerShell ISE-də, əmr panelindən istifadə edərək eyni şəkildə parametrləri olan bir skript işlədə bilərsiniz.

Qısayoldan istifadə edərək PowerShell skriptini necə işə salmaq olar?

Bu tapşırığı yerinə yetirməyin iki yolu var:

  1. Skripti işə salmaq üçün əmri qeyd etmək üçün bir yarasa / cmd faylı yaradın (yuxarıdakı parametrləri oxumusunuz)
  2. c:\Windows\System32\WindowsPowerShell\v-də tapıla bilən PowerShell-ə ​​qısa yol yaradın.<версия>\ və "Obyekt" sahəsində qısayol xüsusiyyətlərinə lazımi parametrləri əlavə edin.

Beləliklə, məsələn, istifadəçi daxil olduqda powershell skriptini işə salmaq üçün sadəcə 2-ci paraqrafda təsvir olunduğu kimi qısayol yarada və onu avtomatik yükləməyə qoya bilərsiniz. Həmçinin, yuxarıdakı üsullardan birini istifadə edərək qısayol yaratmaq, skripti idarəçi və ya hər hansı digər istifadəçi kimi adi proqram kimi işlətməyi asanlaşdıracaq.

PowerShell skript dili müxtəlif problemləri həll etmək üçün kifayət qədər güclü bir vasitədir, lakin o, yalnız yaxşı şeylər üçün deyil, həm də zərər üçün istifadə edilə bilər, ona görə də ondan ağıllı istifadə edin;)

Windows 7 və Server 2008-in buraxılışından bir ildən çox vaxt keçir.

proqramçılar, sistem administratorları və qabaqcıl istifadəçilər mavi əmr sorğusuna bənzər pəncərə üçün bir çox istifadə tapdılar.

Başlanğıc istifadəçilər, əksər hallarda, PowerShell-in (PS) nə olduğunu bilmirlər.

Lakin PowerShell üçün skriptlər əməliyyat sistemində əmr xətti və qrafik interfeys vasitəsilə yerinə yetirilən hərəkətlərin və skriptlərin demək olar ki, 100%-ni avtomatlaşdırmağa imkan verir.

Skriptlərin (mikroproqramların) yaradılması və işlədilməsi funksiyalarına daha çox diqqət yetirərək, bu proqramın əsas xüsusiyyətləri ilə tanış olaq.

Proqrama dair saysız-hesabsız təlimatlar və sənədlər, o cümlədən rus dilində mövcuddur. Məqalənin məqsədi– istifadəçiyə konseptual biliklər vermək, hərəkətə keçir, və tərcüməçi ilə daha yaxından tanış olmağa və içindəki skriptlərin icrasına dəyərmi, hər kəs özü qərar verəcəkdir.

Windows PowerShell nədir?

PowerShell- Öz skript dili ilə təchiz edilmiş .NET Framework-ə əsaslanan tərcüməçi.

Birincisi, onun mətn rejimində işləməsi deməkdir: daxil olursunuz, əmri yerinə yetirirsiniz və ekranda onun icrasının nəticəsini görürsünüz.

MS-DOS və UNIX-in köhnə versiyalarında olduğu kimi.

İkincisi, inzibatçılar və adi istifadəçilər tərəfindən sistemlərin, tətbiqlərin, proseslərin və əlaqəli xidmətlərin idarə edilməsini, texniki xidmətini xeyli asanlaşdırır, sürətləndirir və avtomatlaşdırır.

Digər tərcüməçilərlə müqayisədə, PS fərqlidir:

  • ilə inteqrasiya. - proqram kodunu onlara daxil etməklə güclü skriptlər yaratmağa imkan verir;
  • bütün qaytarılan məlumatlar mətn/sətir tipli (sətir) verilənləri deyil, obyektlərdir ki, bu da onların digər skriptlərə ötürülməsini və istənilən emalını nəzərdə tutur.

PowerShell versiyası 2 aşağıdakı xüsusiyyətlərə malikdir, bəzilərini daha ətraflı nəzərdən keçirəcəyik:

  • Əmrləri cmdlet kimi təqdim etmək bacarığı– onlar tərcüməçinin daxilində işə salınır, əks halda əmr ayrıca prosesdə yerinə yetirilir.
  • Boru kəmərlərindən istifadə- strukturunu və növünü qoruyub saxlamaqla verilənləri bir komandadan digərinə ötürmək üçün nəzərdə tutulmuşdur.
  • İnteqrasiya edilmiş çox yivli məlumat ötürülməsi prioritet ayarı və əlaqənin bərpası ilə şəbəkə üzərindən.
  • Mövqe və adlandırılmış parametrlər üçün dəstək.
  • fon işi– uzaq maşınlarda əmrlərin asinxron çağırılması və skriptlərin işə salınması.
  • Uzaq müştərilərlə məhdud sessiyaların qurulması və onların üzərində işləyən skriptlər.
  • Modullar- modul mühitinə təsir etmədən skriptlər özlərini təmin edən və öz konteynerlərində işləyərkən onları təşkil etmək üsulu.
  • Səhv işləyicisinin olması.
  • Dil üçün qrafik mühit: Unicode dəstəyi və əlfəcinlərlə sintaksis, sazlayıcı, vurğulama, avtomatik tamamlama əmri.
  • Xətlərə kəsilmə nöqtələrinin əlavə edilməsi, skriptlərin sazlanması üçün əmrlər, əməliyyatlar və dəyişənlər.
  • Blok və daxili şərhlər.
  • Bəzi cmdletlər üçün ləqəblərin yaradılması üçün dəstək, icra zamanı müntəzəm əmrlərə çevrilir.
  • Məhdud sessiyalar yaradın, burada ciddi şəkildə müəyyən edilmiş əmrlər siyahısını və daha çoxunu yerinə yetirə bilərsiniz.

PowerShell mənbə kodu hər kəs üçün əlçatandır: cəmiyyətin hər hansı bir üzvü əmr xətti tərcüməçisinin funksionallığını artırmaq üçün öz genişləndirmələrini yaratmaqda sərbəstdir.

Proqramlaşdırma bacarıqları olmadan inteqrasiya olunmuş skript dilini mənimsəməyə başlaya bilərsiniz.

Mürəkkəb bir skript yaratmaq mümkün olmayacaq, lakin demək olar ki, hər kəs primitiv hərəkətlərin ardıcıllığını yerinə yetirə biləcək.

Baxmayaraq ki, PowerShell-in əsas anlayışlarını bilmədən, komanda tərcüməçi pəncərəsində hər hansı bir iş görülməsi ehtimalı azdır. Onlardan başlayaq.

Cmdletlər

Cmdletlər- orijinal PS əmrləri, onların arxasında müxtəlif funksiyalar gizlənir. Tərcüməçiyə daxil edilmiş əmrlər "fel-isim" prinsipinə uyğun olaraq həyata keçirilir, məsələn, Get-Process (proseslərin siyahısını əldə etmək). Bu həll artıq adından (ingilis dilində) komandanın mahiyyətini anlamağa imkan verir.

Bəzi cmdletlər məlumatların və məlumat massivlərinin strukturunu və növünü qoruyarkən qəbulu/ötürülməsini dəstəkləyir. Bu, boru kəməri prinsipi ilə işləyir (bu, növbəti hissədə müzakirə olunacaq). Nə olursa olsun, cmdletlər obyektləri ciddi qaydada işlədir və emal edir.

Cmdletləri həyata keçirmək üçün .NET dillərindən hər hansı birində yaradılmış istənilən dəstəklənən .NET API-lərindən istifadə edilə bilər.

Beləliklə, istifadəçiyə proqramın xüsusi funksiyalarına giriş imkanı verilir.

Cmdletlər tələb olunan məlumatlara birbaşa və ya unikal yollar (sürücü hərfləri və kataloq yolları) vasitəsilə daxil ola bilirlər.

Cmdletlər vasitəsilə siz obyektlərlə işləyə bilərsiniz fayl sistemi və sertifikat mağazaları quraşdırılmış proqramlar və xidmətlər.

Konveyer

Çox primitiv olmayan skriptlər yaratarkən və ya skript nəticəsində əldə edilən məlumatlarla hər hansı əməliyyatlar yerinə yetirmək üçün bəzən bəzi hərəkətləri də yerinə yetirməli olursunuz.

Bunun üçün konveyer var. UNIX-də olduğu kimi, o, bir cmdletin çıxışını digərinin girişinə ötürməklə, onun növünü qoruyaraq dəyişməz olaraq əmrləri birləşdirir.

Bu, hər hansı bir konteyner və ya məlumatın simvol-xarakter təhlilini tələb etmir.

Köçürülən informasiyaya funksiya da daxil ola bilər. Birləşdirilmiş əmrlərin işi başa çatdıqdan sonra mətnin formatlaşdırılmasından istifadə edərək məlumatın mətn formasına çevrilməsi (məlumatların sətirlərə çevrilməsi) funksiyası çağırılır.

Skriptlər

Qabığın bir çox hərəkətləri avtomatlaşdırmağa imkan verməsinə baxmayaraq, əmrləri əl ilə daxil etməlisiniz, bu çox rahat deyil.

Xüsusilə eyni əməliyyatlar davamlı olaraq aparılmalıdır.

Bəli və insan amili olmadan edə bilməz: kod sətirlərini yazarkən, düzəliş edərkən və ya yeni sətir yazarkən səhvlər, səhvlər, təsadüfən toxunan düymələr istifadəçiyə daha mehriban münasibət tələb edir.

PS-də monoton hərəkət zəncirlərini yerinə yetirmək üçün skriptlər həyata keçirilir - mətn faylları daxilində tərcüməçi üçün başa düşülən əmrlər ardıcıllığı ilə.

PowerShell-dəki skriptlər, xüsusən də skriptdə filiallar, şərtlər, məntiqi əməliyyatlar və döngələr varsa, PC-də işi və onun texniki xidmətini daha da sadələşdirəcək və avtomatlaşdıracaq.

Ancaq burada "parıldayanların hamısı qızıl deyil": öz skriptinizi yazmaq və ya hazır olanı yükləmək (bir az öz məqsədlərinizə uyğun olsa da) o qədər də asan işləməyəcək.

Əgər daxilMicrosofticazə verildi nə qədər dərd olursa olsun üçün skriptlər hazırlamışdırPowerShell , fırıldaqçılar və bədxahlar tərəfindən eqoist və ya xuliqanlıq məqsədləri üçün yazılmışdır.

Windows PS-də işləmək üçün onun işə salınma nəzarətindən keçməlisiniz.

Keçirilməyibsə və skript yerinə yetirilməlidirsə, makroların təhlükəsizliyinə cavabdeh olan obyektlərin konfiqurasiyasını dəyişdirməli olacaqsınız.

Skriptlərdən istifadə etməzdən əvvəl

VBS ilə işləyərkən, istifadəçi skript sorğularını ödəmək və ya əməliyyat sisteminin təhlükəsizlik səviyyəsi ilə bağlı problemləri həll etmək üçün skript təhlükəsizliyi aşağı salınmasa, PowerShell tərtibatçılarının tamamilə xilas etdiyi bir çox problem var.

Yüklənmiş skriptin istifadəçinin maşınında işə salınması zərərli proqramların yayılması və ya oğurlanması üçün sadə və effektiv seçimdir. Şəxsi məlumat hücumçular.

Hər şey skript faylının (ps1) məzmununu elementar bilməməsi səbəbindən baş verir. və başqalarının əməyi hesabına öz problemlərini tez həll etmək istəyi. Skript icrasının təhlükəsizlik səviyyəsinə nəzarət edən obyektlər skriptin icra edilə bilməyəcəyi mühit yaradır.

Makroların qəsdən işə salınması təhlükəsizlik səviyyəsinin dəyişdirilməsindən sonra baş verir, əgər istifadəçi icazə verirsə, nə etdiyini dərk edir və *.ps1 faylında nə olduğunu dəqiq bilir.

Öz skriptlərini həyata keçirməli və işlətməli olan insanlar üçün təhlükəsizlik konfiqurasiyasının əlverişsizliyi səbəbindən konfiqurasiyanı dəyişdirmək mümkündür.

Burada həm qorunmanı minimuma endirə, həm də nüfuz etmək üçün deşiklər açmaq imkanı və PowerShell ilə işləmək rahatlığı arasında ağlabatan manevr edə bilərsiniz.

Qabığın üç təhlükəsizlik səviyyəsi var:

  • ps1 uzantılı fayllar sistem tərəfindən müəyyən edilmir icra edilə bilən və naməlum və ya mətn kimi təyin olunur (kompüterdə istifadə olunan standart mətn redaktorunda açmaq üçün iki dəfə klikləyin);
  • qabıq onlara tam yolu göstərdikdən sonra skriptləri icra etməyə imkan verir, cari kataloqda olan skript faylları axtarılmır, bu da cari kataloqda yerləşən makroların icrasını qeyri-mümkün edir;
  • daxili skript İcra Siyasətini işlədir, tələb olunanı icazə verilən skriptlər siyahısına əlavə etmək üçün məsuliyyət daşıyır.

Hətta konfiqurasiyanı dəyişdirməyi düşünməyin, əsaslarla tanış olmadan onu ən azı ikinci səviyyəyə endirməkPowerShell, ən azı səthi olaraq * məzmununu başa düşməyə başlayana qədər.ps1.

Skriptlərin təsadüfən icrasının qarşısını almaq üçün nəzərdə tutulmuş icra siyasəti konsepsiyası da var. Beş işə salınma siyasəti parametri var:

  • məhdud - default olaraq quraşdırılmışdır, yalnız Microsoft tərəfindən imzalanmış skriptlər yerinə yetirilir ki, bu da kompüterin aparat və proqram təminatı qabığı haqqında məlumat əldə etməyə imkan verir;
  • imzaladı silinmiş fayllar – bütün makrolar icra edilə bilər, lakin poçtla göndərilən fayllar imzalanmalıdır;
  • etibarlı mənbə tərəfindən rəqəmsal imzalanmışdır– bütün imzalanmış skriptlər icra olunur;
  • limitsiz- istənilən makroları işə salmaq;
  • yan keçmək- öz təhlükəsizlik sistemini yaradan proqramçılar üçün nəzərdə tutulub və qabıqda təqdim olunandan istifadə etmir.

Yoxlayın Hazırki vəziyyət başlanğıc siyasəti "Get-ExecutionPolicy" əmri ilə edilə bilər.Təhlükəsizlik siyasəti nə olursa olsun, istifadəçi icra etmək üçün kifayət qədər imtiyazları olmayan əmrləri ehtiva edən skripti işlədə bilməyəcək.

Çalışan PowerShell

Nəzəriyyədən praktikaya keçməyin vaxtıdır. Beləliklə, skriptləri yerinə yetirmək üçün rəqəmsal imza əldə etməlisiniz və ya (ikinci seçim daha sadədir).

PowerShell pəncərəsini açmaq üçün bir neçə yol var.

İki formada təqdim olunur:

  • klassik konsol;

  • PowerShell ISE - tablar, sintaksis, kontekst yardımı, kontekst və əsas menyular üçün dəstək əlavə edir ki, bu da tərcüməçidə işi xeyli asanlaşdırır.

Başlamaq

PS-ə zəng etməyin ən asan yolu Start vasitəsilədir.

  1. Menyunun açılması(Windows 7-də "Bütün Proqramlar" düyməsini basın).
  2. Windows PowerShell qovluğuna keçin və istədiyiniz simvolu vurun.

düyü. 4 - Start vasitəsilə PS-i işə salın

Siz həmçinin istifadə edərək PS-yə zəng edə bilərsiniz inteqrasiya olunmuş axtarış motoru.

əmr tərcüməçisi

Kim qeyri-standart və sevir sürətli yollar işə salın, "Çalış" pəncərəsindən istifadə edin. Başlanğıcda eyni adlı düymə və Win + R düymələri birləşməsi ilə açılır.

Dialoq qutusuna yazın "güc qabığı" və "Enter" düyməsini basın.

Win + X

Windows 10 PS-də WinX menyusundan zəng etmək olar. Fakt budur ki, standart olaraq, əmri tıklayaraq "Əmr xətti" CMD-ni açın. Onu PowerShell ilə əvəz etmək olar.

Tapşırıq çubuğunun "Xüsusiyyətləri" ni açın, "Naviqasiya" sekmesinde, yeganə seçimin yanındakı qutuyu seçin və parametrləri qeyd edin.

PowerShell vasitəsilə zəng edə bilərsiniz komanda xətti, içinə "powershell" yazmaqla və ya icra olunan faylı yol boyunca işlətməklə: %WINDIR%\ System32\ 32-bit sistemlər üçün və %WINDIR%\ üçün WindowsPowerShell\v1.0 syswow64\ 64-bit üçün WindowsPowerShell\v1.0 Windows hər hansı nəşrlər.

düyü. 8 - PS-nin icra edilə bilən faylının saxlandığı qovluqdan işə salınması

Təhlükəsizlik siyasətinin qurulması

Bir az qaldı– PowerShell-ə ​​skriptləri icra etməyə icazə verin. “Set-ExecutionPolicy RemoteSigned” əmrini yazıb “Y” düyməsini sıxırıq.

Hamısı budur. İndi istənilən cmdlet və skriptləri icra edə bilərsiniz. Məsələn, "Get-Process" icra edərək aktiv proseslərin siyahısını göstərməyə çalışaq.

İşləyən skriptlər

İstənilən proqramda skript yarada bilərsiniz (Sintaksis dəstəyi və ya doğrulama ilə Win-də qalmaq daha yaxşıdır və ya oxşar) və ya PowerShell ISE proqramında.

Sonuncu, cmdlet-lərə rahat giriş, skriptləri işə salmaq, sazlamaq və saxlamaq imkanı verir.

Tutaq ki, ilk skriptinizi yazmısınız (bu siyahı əldə edilir işləyən proseslər), "Fayl" menyusu vasitəsilə saxlanılır və onu işə salmaq lazımdır. Bu üç yolla edilir:

1 PowerShell-də skriptə tam yolu yazın (və ya ISE);

düyü. 13 - PowerShell ISE pəncərəsindən skriptlərin işlədilməsi

Əhəmiyyətli fayl yolunda boşluqların olmaması üçün!

PowerShellgüclü dərman, Server 2008 və daha yeni versiyalarda gündəlik əməliyyatları sadələşdirmək üçün. PowerShell-in mühüm üstünlüyü - skriptlər və mövcudluq proqram versiyaları GUI PS ISE. İçindəki əmrlər cmdletlər şəklində təqdim olunur ki, bu da qabıqla tanış olmağa və hər bir əmrin mənasını başa düşməyə imkan verəcəkdir. Təhlükəsizlik siyasəti yeni başlayanların kompüterinə zərər verməsinin qarşısını alacaq naməlum mənbələrdən əldə edilən skriptlər və sazlama rejimi, öz cmdletlərinizi, funksiyalarınızı və səhvlərin idarə edilməsi mexanizminizi yaratmaq proqramçılar və idarəçilər üçün qeyri-məhdud imkanlar açır.