Spúšťanie skriptov PowerShell pomocou GPO

Skupinová politika okna vám umožňuje spúšťať rôzne súbory skriptov pri štarte / vypnutí počítača a prihlásení / odhlásení používateľa. Pomocou GPO môžete na doménových počítačoch spúšťať nielen klasické súbory skriptov (.bat, .cmd ,, vbs), ale aj skripty PowerShell (.ps1), ako aj spúšťacie / vypínacie / prihlasovacie / odhlasovacie

V moderných operačných systémoch (Windows 10 / Windows Server 2016) môžete nakonfigurovať spustenie skriptov prihlásenia / prihlásenia na serveri PowerShell priamo z editora GPO..

Pred systémami Windows 7 a Windows Server 2008 R2 ste nemohli priamo spustiť súbory PowerShell z GPO (museli ste volať súbory ps1 zo súborov bat ako parameter do spustiteľného súboru powershell.exe)..

Spustite Konzolu pre správu doménových politík - gpmc.msc (Konzola Riadenie politiky skupiny), vytvorte novú politiku a priraďte ju požadovanému kontajneru s používateľmi alebo počítačmi (pomocou filtrov WMI GPO môžete vylepšiť cieľovú politiku). Prepnite do režimu úprav pravidiel.

Ak chcete spustiť skript PowerShell, musíte vybrať časť GPO, v závislosti od toho, kedy chcete skript spustiť.

  • Ak by sa skript PS mal spustiť, keď sa používateľ prihlási do počítača (nastavenie parametrov prostredia používateľa, napríklad programy: keď sa prihlásite, automaticky vytvoríte podpis v programe Outlook na základe údajov od používateľa služby AD, nakonfigurujete šetrič obrazovky alebo spustíte nastavenia obrazovky) alebo keď sa používateľ odhlási , musíte prejsť do sekcie GPO: užívateľ konfigurácia -> Pravidlá -> Windows nastavenie -> Skripty (Logon / Odhlásiť sa);
  • Ak chcete spustiť skript PowerShell pri štarte počítača (vypnutie zastaraných protokolov: NetBIOS, SMBv1, konfigurácia nastavení zabezpečenia počítača atď.) Alebo pred správnym vypnutím počítača, musíte prejsť do časti GPO s nastaveniami počítača: Konfigurácia počítača -> Zásady -> Nastavenia systému Windows -> Skripty (spustenie / vypnutie).

Spustenie skriptu PowerShell pri spustení počítača pomocou skupinovej politiky

Povedzme, že pri zavádzaní systému Windows musíme spustiť skript PowerShell. Ak to chcete urobiť, vyberte položku Uvedenie do prevádzky av okne, ktoré sa otvorí, prejdite na kartu PowerShell skripty.

Teraz musíte skopírovať súbor pomocou skriptu PowerShell do radiča domény. Kliknite na tlačidlo Zobraziť súbory a pretiahnite súbor so skriptom PowerShell (ps1 extension) do otvoreného okna Prieskumníka (konzola automaticky otvorí adresár \\ yourdomain \ SysVol \ yourdomain \ Policies \ Here_GUID_Your_GPO \ Machine \ Scripts \ Startup vaša politika v adresári SysVol na najbližšom radiči domény).

pretože konfigurujeme spustenie skriptu Startup PowerShell, musíme skontrolovať povolenia NTFS na čítanie a vykonávanie (čítanie a vykonávanie) pre skupinu v oprávneniach súboru ps1 (alebo celého adresára Machine \ Scripts \ Startup) Doménové počítače.

Teraz musíte stlačiť tlačidlo pridať a pridajte skopírovaný súbor skriptu ps1 do zoznamu skriptov spustených pomocou politiky PowerShell.

Ak prostredníctvom GPO spúšťate niekoľko skriptov PowerShell, môžete pomocou tlačidla Hore / Dole ovládať poradie od začiatku..

Ak chcete správne spustiť skripty PowerShell pri spustení počítača, musíte nakonfigurovať čas oneskorenia pred začatím používania politiky v časti Konfigurácia počítača -> Šablóny pre správu -> Systém -> Zásady skupiny. Povoliť pravidlá Konfigurácia prihlasovacie skript oneskorenie (Nastavte oneskorenie pre prihlasovací skript) a zadajte oneskorenie v minútach pred spustením prihlasovacích skriptov (dostatočné na dokončenie inicializácie a stiahnutie všetkých potrebných služieb). Zvyčajne dosť, aby tu 1-2 minúty.

V predvolenom nastavení nie sú skripty PowerShell povolené v nastaveniach zabezpečenia systému Windows. Hodnota aktuálneho nastavenia politiky skriptovania PowerShell sa dá získať príkazom dostať-ExecutionPolicy. Ak pravidlo nie je nakonfigurované, príkaz vráti Obmedzené (všetky skripty budú blokované). Bezpečnostné nastavenia pre spustenie skriptu PowerShell je možné nakonfigurovať pomocou „Povoliť skriptovanie“ / „obrátiť na skript poprava“(V časti Konfigurácia počítača GPO -> Šablóny pre správu -> Komponenty Windows -> Windows PowerShell). Možné hodnoty politiky:

  • dovoliť iba podpísaný skripty (AllSigned) - je možné spustiť iba podpísané skripty PowerShell („Ako podpísať skript PowerShell?“) - najlepší bezpečnostný scenár;
  • dovoliť miestna skripty a diaľkový podpísaný skripty (RemoteSigned) - môžete spúšťať akékoľvek lokálne a podpísané vzdialené skripty;
  • dovoliť všetko skripty (neobmedzené) - najnebezpečnejšia možnosť, pretože Umožňuje spúšťať akékoľvek skripty PowerShell.

Ak vám nevyhovuje žiadny z navrhovaných scenárov na nastavenie politiky spúšťania skriptov PowerShell, môžete spustiť skripty PowerShell v režime bypass (skripty nie sú blokované, varovania sa nezobrazia).

Aby ste to urobili, skript PowerShell musí byť spustený v časti Spúšťanie -> Skripty. V tejto časti môžete nakonfigurovať spustenie skriptu ps1 vytvorením pravidelného spúšťacieho skriptu, ktorý spúšťa spustiteľný súbor powershell.exe (podobný skriptu opísanému v článku). upresnenie:

  • Názov skriptu: % windir% \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe
  • Parametre skriptu: -Noninteractive -ExecutionPolicy Bypass -Noprofile -file% ~ dp0MyPSScript.ps1

symboly % ~ dp0 Po spustení na klientovi sa cesta do adresára so skriptom na SYSVOL automaticky skonvertuje na UNC.

V takom prípade ste pomocou parametra Bypass dôrazne povolili začatie akéhokoľvek (aj nespoľahlivého) skriptu PowerShell.