Čo sú skripty JavaScript a ako povoliť ich podporu v prehliadači? Súbor – politika spúšťania skriptu powershell Povoliť spúšťanie skriptu powershell

Predvolené spustenie skriptu Windows PowerShell v systéme zakázané. Z bezpečnostných dôvodov musia byť všetky skripty PowerShell digitálne podpísané, túto metódu volal - vykonávacia politika. Ak skript túto podmienku nespĺňa, spúšťanie skriptov PowerShell v systéme je zakázané. Dôvodom je predovšetkým skutočnosť, že skript môže obsahovať škodlivý kód, ktorý môže poškodiť operačný systém.


PowerShell má niekoľko režimov vykonávania, ktoré určujú, aký typ kódu sa môže spúšťať. Existuje 5 rôznych režimov vykonávania:

Obmedzené
Predvolená hodnota. Vykonávanie akýchkoľvek skriptov je zablokované a práca interaktívnych príkazov je povolená.
Všetky podpísané (Všetky podpísané)
Vykonávanie skriptov s digitálnym podpisom je povolené.
Vzdialene podpísané
Lokálne skripty fungujú bez podpisu. Všetky stiahnuté skripty musia byť digitálne podpísané.
Neobmedzené
Vykonávanie akýchkoľvek skriptov je povolené. Pri spustení nepodpísaného skriptu, ktorý bol stiahnutý z internetu, môže program vyžadovať potvrdenie.
Obchvat
Nič nie je blokované, nezobrazujú sa žiadne upozornenia ani výzvy.

Predvolený režim pre PowerShell je "obmedzené". V tomto režime PowerShell funguje ako interaktívny shell. Ak ste predtým nenakonfigurovali PowerShell, namiesto spustenia skriptu sa zobrazí chybové hlásenie napísané červeným písmom, ako na obrázku nižšie.

najviac bezpečným spôsobom Riešením tohto problému je zmeniť politiku vykonávania na neobmedzenú, spustiť skript a potom sa vrátiť k obmedzenej politike.

Ak chcete zmeniť politiku vykonávania na neobmedzenú, použite konzolu PowerShell s právami správcu a spustite nasledujúci príkaz:

Y (Áno)

Teraz môžete spustiť skript. Systém však vystavujete vážnemu riziku, takže keď skript skončí, nezabudnite zmeniť politiku vykonávania späť na obmedzený režim. Môžete to urobiť pomocou nasledujúceho príkazu:

Po spustení príkazu budete vyzvaní na potvrdenie zmeny vykonávacej politiky. Odpovieme Y (Áno)

Vykonávanie akýchkoľvek skriptov je zablokované. Predvolená hodnota.

Set-ExecutionPolicy Restricted

Vykonávanie skriptov s digitálnym podpisom je povolené.

Skriptá pripravené na lokálny počítač, je možné spúšťať bez obmedzení, skripty stiahnuté z internetu – iba s digitálnym podpisom.

Set-ExecutionPolicy RemoteSigned

Vykonávanie akýchkoľvek skriptov je povolené. Pri spustení nepodpísaného skriptu, ktorý bol stiahnutý z internetu, môže program vyžadovať potvrdenie.

Set-ExecutionPolicy Unrestricted

Nič nie je blokované, nezobrazujú sa žiadne upozornenia ani výzvy.

Ak chcete vykonať vyššie uvedené príkazy bez potvrdenia zmeny, použite parameter
-Force , napríklad spustite príkaz:

Set-ExecutionPolicy Bypass -Force

Teraz pri vykonávaní príkazov nemusíte potvrdzovať vykonané zmeny.


Informácie obsiahnuté na tejto stránke sú určené predovšetkým pre používateľov spoločnosti Microsoft internet Explorer 5.xa 6.x.- najbežnejšie prehliadače v Internetové siete. Je dôležité poznamenať, že naša stránka sa zobrazuje adekvátne aj v iných prehliadačoch. Podľa nás však priaznivci Mozilla Firefox a Opera sú nadšenci a znalci špičkových technológií softvér, a preto nepotrebujú rady s jeho nastavením.

JavaScript je to skriptovací jazyk, ktorý umožňuje urobiť webovú stránku interaktívnou, t.j. „schopný komunikovať“ s používateľom.

JavaScript skripty sa stiahnu z internetovej stránky do počítača používateľa a spustia sa na ňom. Táto skutočnosť vytvára potenciálnu hrozbu pre počítač používateľa! Ako každý iný súbor stiahnutý z neznámej stránky, aj skript JavaScript môže obsahovať spustiteľný kód, ktorý môže poškodiť používateľa – napríklad otvoriť neoprávnený prístup k jeho dôverným informáciám. To je dôvod, prečo prehliadače poskytujú možnosť zakázať vykonávanie skriptov JavaScript.

Žiaľ, žiadny z nich moderné prehliadače neumožňuje selektívne (ako v prípade súborov cookie) povoliť sťahovanie JavaScriptu iba z určitých stránok, čím ho zakazuje všetkým ostatným. Musíte akceptovať, že na to, aby skripty JavaScript fungovali, musí byť pre všetky stránky na internete povolené nastavenie „Spustiť skripty aplikácií Java“.

Používame JavaScript skripty organizovať vypĺňanie rôznych formulárov na našej stránke (napríklad registračný formulár), zobrazovať mini-tipy na používanie našej stránky, zostavovať našu ponuku a katalóg produktov.

Konfigurácia nastavení zabezpečenia JavaScriptu v prehliadači Microsoft Internet Explorer 6.x

Konfigurácia nastavení zabezpečenia JavaScriptu v programe Microsoft Internet Explorer 5.x



PowerShell hovorí, že „spustenie skriptu je v tomto systéme zakázané“. (pätnásť)

Snažím sa spustiť súbor .cmd, ktorý volá skript PowerShell z príkazového riadku a zobrazuje sa mi nasledujúca chyba:

Management_Install.ps1 sa nedá načítať, pretože vykonávanie skriptu je v tomto systéme zakázané.

Urobil som set-executionpolicy bez obmedzenia a keď spustím get-executionpolicy z PowerShell, dostanem odpoveď bez obmedzenia.

// Ukončite Powershell

PS C:\Users\Administrator>get-executionpolicy

neobmedzené

// Ukončite DOS

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

ips>powershell. \Management_Install.ps1 1

UPOZORNENIE: Spustenie x86 PowerShell...

Súbor C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1 nemožno načítať, pretože vykonávanie skriptov je v tomto systéme zakázané. Podrobnosti nájdete v časti „Získať pomoc o_podpisovaní“.

Na riadok: 1 znak: 25

    . \Management_Install.ps1<<<< 1

    • CategoryInfo: NotSpecified: (:) , PSecurityException

      FullyQualifiedErrorId: RuntimeException

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts>pauza

Pre pokračovanie stlačte ľubovolnú klávesu. ,

Systém je Windows Server 2008 R2.

Čo robím zle?

  1. Otvorte PowerShell ako správca a spustite ho
  2. Poskytovať RemoteSigned a stlačte Enter.
  3. Bežať Set-ExecutionPolicy -Scope CurrentUser
  4. Poskytovať neobmedzené množstvo a stlačte Enter.

RemoteSigned: Všetky skripty, ktoré vytvoríte, sa spustia a všetky skripty stiahnuté z internetu musia byť podpísané dôveryhodným vydavateľom.

OK, zmeňte politiku jednoduchým zadaním:

Set-ExecutionPolicy RemoteSigned

V prostredí PowerShell 2.0 bola politika vykonávania predvolene zakázaná.

Odvtedy tím PowerShell urobil mnoho vylepšení a je presvedčený, že používatelia nebudú mať pri spúšťaní skriptov veľké problémy. Počnúc PowerShell 4.0 je teda predvolene povolený.

Vo vašom prípade napíšte Set-ExecutionPolicy RemoteSigned z konzoly PowerShell a povedzte áno.

Prejdite do ponuky Štart a vyhľadajte „Windows PowerShell ISE“.

Kliknite pravým tlačidlom myši na verziu x86 a vyberte možnosť „Spustiť ako správca“.

V hornej časti vložte Set-ExecutionPolicy RemoteSigned ; spustiť skript. Vyberte Áno.

Zopakujte tieto kroky pre 64-bitové PowerShell ISE (verzia inej ako x86).

Len objasňujem kroky, ktoré @Chad Miller naznačil. Ďakujem Chad!

Toto pravidlo môžete obísť pridaním -ExecutionPolicy ByPass pri spustení PowerShell

Powershell -ExecutionPolicy ByPass -Súbor script.ps1

Môžete to obísť aj pomocou nasledujúceho príkazu:

PS > powershell Get-Content .\test.ps1 | Invoke-Expression

Ak sa nachádzate v prostredí, kde nie ste správcom, môžete preň nastaviť politiku spúšťania a nebude vyžadovať správcu.

Set-ExecutionPolicy -Rozsah "CurrentUser" -ExecutionPolicy "RemoteSigned"

Set-ExecutionPolicy -Rozsah "CurrentUser" -ExecutionPolicy "Neobmedzené"

Pomoc Get-ExecutionPolicy -Úplná pomoc Set-ExecutionPolicy -Full

Stav aktuálneho ExecutionPolicy môžeme získať nasledujúcim príkazom:

Get-ExecutionPolicy;

Štandardne to obmedzené. Aby sme umožnili spustenie skriptov PowerShell, musíme túto ExecutionPolicy nastaviť ako v obchádzka alebo bez obmedzenia .

Politiku pre aktuálneho používateľa môžeme nastaviť ako Obídená alebo Neobmedzená pomocou ktoréhokoľvek z nasledujúcich príkazov PowerShell:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force; Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force;

Neobmedzené politika načíta všetky konfiguračné súbory a spustí všetky skripty. Ak máte spustený nepodpísaný skript, ktorý bol stiahnutý z internetu, pred jeho spustením budete vyzvaní na povolenie.

Vzhľadom na to v politike bypass nič nie je blokované a počas vykonávania skriptu nie sú žiadne upozornenia ani výzvy. Obchádzanie ExecutionPolicy je uvoľnenejšie ako Neobmedzené.

Nastavenie politiky vykonávania závisí od prostredia. Ak sa pokúšate spustiť skript z aktuálneho x86 ISE, musíte použiť x86 PowerShell na nastavenie politiky vykonávania. Podobne, ak používate 64-bitové ISE, budete musieť nainštalovať politiku pomocou 64-bitového prostredia PowerShell.

Otvorte okno PowerShell ako správca. Toto bude fungovať.

Prejdite na kľúč databázy Registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell a nastavte ExecutionPolicy na RemoteSigned .

Mal som podobný problém a všimol som si, že predvolený cmd pre Windows Server 2012 bežal x64.

Pre Windows 7 , Windows 8 , Windows Server 2008 R2 alebo Windows Server 2012 spustite nasledujúce príkazy ako správca :

x86(32 bit)
Otvorte C:\Windows\SysWOW64\cmd.exe

x64(64 bitov)
Otvorte C:\Windows\system32\cmd.exe
Spustite príkaz powershell Set-ExecutionPolicy RemoteSigned

Režim môžete skontrolovať pomocou

  • V CMD: echo %PROCESSOR_ARCHITECTURE%
  • V Powershell: ::Is64BitProcess

používam Windows 10 a nemohol vykonať žiadny príkaz. Jediný príkaz, ktorý mi dal nejaké stopy, bol nasledujúci:

Ale nešlo to. Bol obmedzený. Možno nové bezpečnostné zásady pre Windows 10. Mala som túto chybu:

Set-ExecutionPolicy: Windows PowerShell úspešne aktualizoval vašu politiku spustenia, ale nastavenie je prepísané politikou definovanou v špecifickejšom rozsahu. Kvôli prepísaniu si váš shell zachová aktuálnu efektívnu politiku vykonávania...

Tak som našiel iný spôsob Riešenie):

  1. Otvorte príkaz run/console (Win+R)
  2. Typ: gpedit.msc(editor skupinovej politiky)
  3. vyhliadka zásady miestneho počítača -> Konfigurácia počítača -> Administratívne šablóny -> Komponenty systému Windows -> windows powershell .
  4. Zapnúť " Povoliť spustenie skriptu »
  5. Nainštalujte politiku podľa potreby. Nainštaloval som za mňa" Povoliť všetky skripty ».

Teraz otvorte PowerShell a užívajte si ;)

Win + R a zadajte príkaz copy paste a kliknite na OK:

Powershell Set-ExecutionPolicy -Rozsah "CurrentUser" -ExecutionPolicy "RemoteSigned"

A spustite svoj skript.

Potom vráťte zmeny takto:

Powershell Set-ExecutionPolicy -Rozsah "CurrentUser" -ExecutionPolicy "AllSigned"

Je tam niekoľko rôznymi spôsobmi spustenie skriptu, nižšie sú hlavné:

  1. Spustite prostredie PowerShell a spustite v ňom skript (zadajte cestu k súboru a názov súboru napr. takto: C:\Scripts\test.ps1, alebo prejdite do priečinka skriptu príkazom cd C:\Scripts a spustite ho pomocou príkazu.\test.ps1) Shell možno nájsť a spustiť rôznymi spôsobmi. Jedným zo spôsobov je cez ponuku Štart. Pre Windows 7 - musíte prejsť na "Všetky programy" - "Príslušenstvo" - "Windows PowerShell" a spustiť shell "Windows PowerShell". Pre Windows 10 - musíte nájsť skupinu s písmenom "W" a v nej nájdete "Windows PowerShell".
  2. Spustite "Windows PowerShell ISE"- toto je program - vývojové prostredie, ktoré umožňuje upravovať a ladiť skripty PowerShell, ktoré je tam tiež štandardne spolu so samotným PowerShellom. Po spustení stačí kliknúť na tlačidlo „Otvoriť“ alebo prejsť do ponuky Súbor – Otvoriť a vybrať požadovaný skript, potom stlačiť F5 alebo tlačidlo „Spustiť skript.“ Windows PowerShell ISE nájdete na rovnakom mieste ako prostredie PowerShell - v ponuke Štart.
  3. Spustite štandardný príkazový riadok a napíš do nej:
    powershell-súbor<имя_скрипта> (príklad: powershell -súbor myscript.ps1)

Ak ste predtým nespúšťali skripty PowerShell, s najväčšou pravdepodobnosťou dostanete správu: Súbor sa nedá nahrať<имя_скрипта>pretože spustenie skriptu nie je v tomto systéme povolené. Ak chcete získať ďalšie informácie, napíšte „get-help about_signing“. Je to spôsobené tým, že z bezpečnostných dôvodov a aby sa zabránilo náhodnému spusteniu škodlivý kód, všetky skripty musia byť digitálne podpísané.

Ako povoliť spustenie nepodpísaného skriptu PowerShell?

1. V prostredí PowerShell pred spustením skriptu vykonajte príkaz, ktorý umožní spustenie nepodpísaných skriptov pre aktuálnu reláciu shellu:

Set-ExecutionPolicy RemoteSigned -Scope Process

2. Spustenie zo štandardného príkazového riadku použite možnosť -executionpolicy, t.j. spustite skript takto:

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

Obe metódy nastavujú politiku iba pre aktuálnu reláciu, pričom bezpečnostná politika spúšťania skriptu PowerShell špecifikovaná v registri sa nezmení a zostane rovnaká. Ak chcete zmeniť bezpečnostnú politiku vykonávania skriptu na trvalú, použite túto metódu:

3. Povoliť spustenie navždy: spustite PowerShell ako „Správca“ a potom spustite príkaz:

Set-ExecutionPolicy RemoteSigned

Poznámka: Ak bol skript stiahnutý z internetu, potom, aby ste sa vyhli žiadosti o potvrdenie spustenia, musíte namiesto RemoteSigned použiť Bypass - úplné vypnutie všetkých požiadaviek a upozornení.

Ako spustiť skript PowerShell na pozadí?

Na to stačí použiť spúšťací parameter -WindowStyle, ktorý môže nadobudnúť nasledujúce hodnoty: Normálne, Minimalizované, Maximalizované a Skryté. Takže spustiť nepodpísaný skript pozadie, musíte spustiť príkaz:

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

Môžete tiež pridať -NonInteractive, ak chcete, aby skript nekládol žiadne otázky. Skript sa teda pre používateľa vykoná nepostrehnuteľne. Pri používaní tejto metódy buďte opatrní.

Spustenie skriptu PowerShell s parametrami

Skutočné spustenie by sa malo vykonať tak, ako keby ste spúšťali vy pravidelný program alebo bat súbor s parametrami. Ak chcete napríklad spustiť skript s parametrami z príkazového riadku, môžete napísať nasledujúci príkaz:

powershell -executionpolicy RemoteSigned -file<имя_скрипта>param1 param2 "iný textový parameter"

V samotnom skripte môžete získať tieto parametre takto:

Param ($var1, $var2, $var3) echo $var1, $var2, $var3

V PowerShell ISE môžete spustiť skript s parametrami rovnakým spôsobom pomocou príkazového panela.

Ako spustiť skript PowerShell pomocou skratky?

Existujú dva spôsoby, ako splniť túto úlohu:

  1. Vytvorte súbor bat / cmd, do ktorého chcete zaregistrovať príkaz na spustenie skriptu (prečítali ste si parametre vyššie)
  2. Vytvorte odkaz na PowerShell, ktorý nájdete v c:\Windows\System32\WindowsPowerShell\v<версия>\ a vo vlastnostiach skratky v poli "Objekt" pridajte potrebné parametre.

Napríklad, ak chcete spustiť powershell skript, keď sa používateľ prihlási, môžete jednoducho vytvoriť skratku, ako je popísané v 2. odseku, a dať ju do automatického načítania. Vytvorenie skratky pomocou jednej z vyššie uvedených metód tiež uľahčí spustenie skriptu ako správcu alebo ako akéhokoľvek iného používateľa ako bežného programu.

Skriptovací jazyk PowerShell je dosť silný nástroj na riešenie rôznych problémov, ale dá sa použiť nielen na dobré veci, ale aj na škodu, takže ho používajte s rozumom;)

Od vydania Windows 7 a Server 2008 uplynul viac ako rok.

programátori, správcov systému a pokročilí používatelia našli mnoho využití pre modré okno podobné príkazovému riadku.

Začínajúci používatelia z väčšej časti ani nevedia, čo je PowerShell (PS).

Skripty pre PowerShell vám však umožňujú automatizovať takmer 100 % akcií a skriptov vykonávaných v operačnom systéme cez príkazový riadok a grafické rozhranie.

Poďme sa zoznámiť s hlavnými vlastnosťami tohto programu, pričom budeme venovať väčšiu pozornosť funkciám vytvárania a spúšťania skriptov (mikroprogramov).

K programu existuje nespočetné množstvo manuálov a dokumentácie, a to aj v ruštine. Cieľ článku– poskytnúť používateľovi koncepčné znalosti, uviesť do činnosti, a či sa oplatí zoznámiť sa s tlmočníkom a vykonávaním scenárov v ňom bližšie, každý rozhodne sám.

Čo je Windows PowerShell?

PowerShell- Tlmočník založený na .NET Framework, vybavený vlastným skriptovacím jazykom.

Prvý znamená, že funguje v textovom režime: zadáte, spustíte príkaz a na obrazovke vidíte výsledok jeho vykonania.

Ako to bolo v MS-DOS a starších verziách UNIX.

Druhý výrazne zjednodušuje, zrýchľuje a automatizuje správu, údržbu systémov, aplikácií, procesov a súvisiacich služieb administrátorom aj bežným používateľom.

V porovnaní s inými tlmočníkmi PS je iný:

  • integrácia s. - umožňuje vytvárať výkonné skripty vložením programového kódu do nich;
  • všetky vrátené dáta sú objekty, nie dáta typu text/reťazec (string), čo znamená ich prenos do iných skriptov a akékoľvek spracovanie.

PowerShell verzia 2 má nasledujúce vlastnosti, niektoré z nich zvážime podrobnejšie:

  • Schopnosť reprezentovať príkazy ako cmdlety– spúšťajú sa vo vnútri tlmočníka, inak sa príkaz vykoná v samostatnom procese.
  • Použitie potrubí- určené na prenos údajov z jedného príkazu do druhého pri zachovaní ich štruktúry a typu.
  • Integrovaný viacvláknový prenos dát cez sieť s nastavením priority a obnovením pripojenia.
  • Podpora polohových a pomenovaných parametrov.
  • práca na pozadí– asynchrónne volanie príkazov a spúšťanie skriptov na vzdialených počítačoch.
  • Nastavenie obmedzených relácií so vzdialenými klientmi a spúšťanie skriptov na nich.
  • Moduly- spôsob, ako organizovať skripty, keď sa stanú sebestačnými a spúšťajú sa vo vlastnom kontajneri bez ovplyvnenia prostredia modulu.
  • Prítomnosť obsluhy chýb.
  • Grafické prostredie pre daný jazyk: Syntax, debugger, zvýrazňovanie, automatické dopĺňanie príkazov s podporou Unicode a záložky.
  • Pridávanie prerušovacích bodov do riadkov, príkazy, operácie a premenné na ladenie skriptov.
  • Blokovať a vkladať komentáre.
  • Podpora vytvárania aliasov pre niektoré cmdlety, ktoré sú v čase vykonávania prevedené na bežné príkazy.
  • Vytvorte obmedzené relácie, kde môžete vykonávať presne špecifikovaný zoznam príkazov a oveľa viac.

Zdrojový kód PowerShell sprístupnený každému: každý člen komunity si môže vytvoriť svoje vlastné rozšírenia na zvýšenie funkčnosti tlmočníka príkazového riadka.

Môžete začať ovládať integrovaný skriptovací jazyk bez programátorských zručností.

Je nepravdepodobné, že bude možné vytvoriť zložitý skript, ale takmer každý bude môcť vykonávať sekvencie primitívnych akcií.

Aj keď bez znalosti základných pojmov PowerShell je nepravdepodobné, že sa v okne tlmočníka príkazov niečo urobí. Začnime nimi.

Cmdlets

Cmdlets- originálne príkazy PS, za ktorými sa skrývajú rôzne funkcie. Príkazy zabudované do tlmočníka sú implementované podľa princípu „sloveso-podstatné meno“, napríklad Get-Process (získanie zoznamu procesov). Toto riešenie vám umožňuje pochopiť podstatu tímu už z jeho názvu (v angličtine).

Niektoré cmdlety podporujú príjem/prenos údajov a polí informácií pri zachovaní ich štruktúry a typu. Toto funguje na princípe potrubia (o tom bude reč v ďalšej časti). Bez ohľadu na to sa rutiny cmdlet spúšťajú a spracúvajú objekty v prísnom poradí.

Na implementáciu cmdletov je možné použiť akékoľvek podporované .NET API vytvorené v ktoromkoľvek z jazykov .NET.

Používateľ tak získa prístup k špecifickým funkciám programu.

Rutiny cmdlet sú schopné pristupovať k požadovaným informáciám priamo alebo prostredníctvom jedinečných ciest (písmená jednotiek a cesty k adresárom).

Prostredníctvom cmdletov môžete pracovať s objektmi systém súborov a sklady certifikátov nainštalované aplikácie a služieb.

Dopravník

Pri vytváraní nie veľmi primitívnych skriptov alebo pri vykonávaní akýchkoľvek operácií s údajmi získanými v dôsledku skriptu niekedy musíte vykonať aj nejaké akcie.

Na to existuje dopravník. Rovnako ako v systéme UNIX spája príkazy odovzdávaním výstupu jednej rutiny cmdlet na vstup inej bez zmeny, pričom zachováva jej typ.

Nevyžaduje žiadne kontajnerové alebo znakové analyzovanie informácií.

Prenášaná informácia môže obsahovať aj funkciu. Po dokončení práce kombinovaných príkazov sa pomocou formátovania textu zavolá funkcia prevodu informácií do textovej formy (prevod údajov na reťazce).

Skriptá

Napriek tomu, že shell vám umožňuje automatizovať veľa akcií, musíte príkazy zadávať manuálne, čo nie je príliš pohodlné.

Najmä vtedy, keď by sa tie isté operácie mali vykonávať neustále.

Áno, a bez ľudského faktora sa nezaobíde: preklepy, chyby, náhodné stlačenie klávesov pri písaní riadkov kódu, oprava alebo písanie nového riadku vyžadujú priateľskejší prístup k používateľovi.

Na vykonávanie monotónnych reťazcov akcií v PS sú implementované skripty - textové súbory so sekvenciou príkazov zrozumiteľných pre tlmočníka vo vnútri.

Skripty v PowerShell ďalej zjednodušia a zautomatizujú prácu na PC a jeho údržbu, najmä ak skript obsahuje vetvy, podmienky, logické operácie a slučky.

Tu však platí, že „nie je všetko zlato, čo sa blyští“: napísanie vlastného scenára alebo nahranie hotového scenára (hoci trochu prispôsobeného vašim vlastným cieľom) nebude fungovať tak ľahko.

Ak vMicrosoftbolo to dovolené bez ohľadu na to, koľko problémov vytvoril skripty prePowerShell , ktorú napísali podvodníci a neprajníci na sebecké alebo chuligánske účely.

Ak chcete spustiť systém Windows PS, musíte prejsť jeho ovládacím prvkom spúšťania.

Ak to neprejde a skript by sa mal spustiť, budete musieť zmeniť konfiguráciu objektov zodpovedných za bezpečnosť makier.

Pred použitím skriptov

Pri prevádzke VBS existuje veľa problémov, ktorých sa vývojári PowerShellu úplne zbavili, ak sa nezníži bezpečnosť skriptov, aby sa uspokojili požiadavky používateľských skriptov alebo vyriešili problémy súvisiace s úrovňou zabezpečenia operačného systému.

Spustenie prevzatého skriptu na počítači používateľa je jednoduchá a efektívna možnosť šírenia malvéru alebo krádeže osobné informácieútočníkov.

Všetko sa deje kvôli elementárnej neznalosti obsahu súboru skriptu (ps1) a túžbu rýchlo riešiť svoje problémy na úkor práce iných. Objekty, ktoré riadia úroveň zabezpečenia vykonávania skriptu, vytvárajú prostredie, v ktorom skript nemožno spustiť.

K zámernému spusteniu makier dochádza po zmene úrovne zabezpečenia, ak používateľ dáva súhlas, uvedomuje si, čo robí, a s istotou vie, čo je v súbore *.ps1.

Z dôvodu nepohodlnosti konfigurácie zabezpečenia pre ľudí, ktorí potrebujú implementovať a spúšťať vlastné skripty, je možné konfiguráciu zmeniť.

Tu môžete znížiť ochranu na minimum a rozumne manévrovať medzi schopnosťou otvárať otvory pre prienik a pohodlnosťou pri práci s PowerShell.

Plášť má tri úrovne zabezpečenia:

  • súbory s príponou ps1 systém neidentifikuje ako spustiteľný súbor a sú označené ako neznáme alebo textové (dvojitým kliknutím otvorte v predvolenom textovom editore používanom v počítači);
  • shell vám umožňuje spúšťať skripty po zadaní úplnej cesty k nim, súbory skriptov v aktuálnom adresári sa neprehľadávajú, čo znemožňuje spúšťanie makier umiestnených v aktuálnom adresári;
  • spustenie vstavanej politiky vykonávania skriptov, ktorá je zodpovedná za pridanie požadovaného do zoznamu povolených skriptov.

O zmene konfigurácie ani neuvažujte, pričom ju znížite aspoň na druhú úroveň, bez toho, aby ste sa oboznámili so základmiPowerShell, kým nezačnete aspoň povrchne chápať obsah *.ps1.

Existuje aj koncepcia vykonávacej politiky, ktorá je navrhnutá tak, aby zabránila náhodnému spusteniu skriptov. Existuje až päť nastavení politiky spustenia:

  • obmedzený - predvolene nainštalované, spúšťajú sa iba skripty podpísané spoločnosťou Microsoft, ktoré umožňujú získať informácie o hardvérovom a softvérovom prostredí počítača;
  • podpísaný odstránené súbory – všetky makrá môžu byť spustené, ale súbory odoslané poštou musia byť podpísané;
  • digitálne podpísané dôveryhodným zdrojom– všetky podpísané skripty sa vykonajú;
  • neobmedzené- spustiť akékoľvek makrá;
  • bypass- sú určené pre programátorov, ktorí si vytvárajú vlastný bezpečnostný systém a nepoužívajú ten, ktorý je súčasťou shellu.

Overiť Aktuálny stav politiku spustenia je možné vykonať pomocou príkazu „Get-ExecutionPolicy“ .Bez ohľadu na bezpečnostnú politiku používateľ nebude môcť spustiť skript, ktorý obsahuje príkazy, na spustenie ktorých nemá dostatočné privilégiá.

Spustenie PowerShell

Je čas prejsť od teórie k praxi. Ak chcete spustiť skripty, musíte získať digitálny podpis alebo (druhá možnosť je jednoduchšia).

Existuje niekoľko spôsobov, ako vyvolať okno PowerShell.

Prezentuje sa v dvoch formách:

  • klasická konzola;

  • PowerShell ISE - pridáva podporu pre karty, syntax, kontextovú nápovedu, kontext a hlavné menu, čo výrazne uľahčuje prácu v interpretači.

Štart

Najjednoduchší spôsob volania do PS je cez Štart.

  1. Otvorenie menu(v systéme Windows 7 kliknite na „Všetky programy“).
  2. Prejdite do adresára Windows PowerShell a kliknite na požadovanú ikonu.

Ryža. 4 - Spustite PS cez Štart

PS môžete volať aj pomocou integrovaný vyhľadávač.

príkazový tlmočník

Kto miluje neštandardné a rýchle spôsoby spustite, použite okno "Spustiť". Otvára sa rovnomenným tlačidlom v Štart a kombináciou klávesov Win + R.

V dialógovom okne napíšte "power shell" a stlačte "Enter".

Win + X

Vo Windows 10 je možné PS vyvolať z ponuky WinX. Faktom je, že v predvolenom nastavení kliknutím na príkaz "Príkazový riadok" otvorte CMD. Dá sa nahradiť PowerShell.

Otvorte "Vlastnosti" na paneli úloh, na karte "Navigácia" začiarknite políčko vedľa jedinej možnosti a uložte nastavenia.

PowerShell môžete zavolať cez príkazový riadok, napísaním "powershell" alebo spustením spustiteľného súboru pozdĺž cesty: %WINDIR%\ System32\ WindowsPowerShell\v1.0 pre 32-bitové systémy a na %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 pre 64-bit Windows ľubovoľný vydaniach.

Ryža. 8 - Spustenie PS z adresára, kde je uložený jeho spustiteľný súbor

Nastavenie bezpečnostnej politiky

Trochu doľava– umožniť PowerShellu spúšťať skripty. Napíšeme príkaz „Set-ExecutionPolicy RemoteSigned“ a stlačíme „Y“.

To je všetko. Teraz môžete spúšťať ľubovoľné cmdlety a skripty. Skúsme si napríklad zobraziť zoznam aktívnych procesov spustením "Get-Process" .

Spúšťanie skriptov

Skripty môžete vytvárať v ľubovoľnom (lepšie je zostať na Win alebo podobne, s podporou syntaxe alebo kontroly) alebo v program PowerShell ISE.

Ten poskytuje pohodlný prístup k cmdletom, možnosť spúšťať, ladiť a ukladať skripty.

Predpokladajme, že ste napísali svoj prvý skript (získava sa zoznam bežiace procesy), uložený cez ponuku „Súbor“ a je potrebné ho spustiť. Toto sa vykonáva tromi spôsobmi:

1 Napíšte úplnú cestu k skriptu v prostredí PowerShell (alebo ISE);

Ryža. 13 - Spúšťanie skriptov z okna PowerShell ISE

Dôležité takže v ceste k súboru nie sú žiadne medzery!

PowerShellmocný nástroj na zjednodušenie rutinných operácií v , Server 2008 a novších. Dôležitou výhodou PowerShell - skripty a prítomnosť verzie programu z GUI PS ISE. Príkazy v ňom sú prezentované vo forme cmdletov, čo vám umožní zoznámiť sa s shellom a pochopiť význam každého príkazu. Bezpečnostná politika zabráni začiatočníkovi poškodiť jeho počítač skripty získané z neznámych zdrojov a režim ladenia, vytváranie vlastných cmdletov, funkcií a mechanizmu odstraňovania chýb otvárajú neobmedzené možnosti pre programátorov a administrátorov.