запуск скрипта powershell через gpo

Настройка запуска скрипта Powershell при входе через групповую политику (GPO)

Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Настройка имеет некоторые нюансы, из-за которых, даже опытные системные администраторы не сразу могут понять причину неработоспособности сценария.

И так, запускаем консоль управления групповыми политиками и создаем новый объект GPO.

1. Разрешаем запуск скриптов.

Конфигурация компьютера \ Административные шаблоны \ Компоненты Windows \ Windows Powershell
(Computer Configuration \ Administrative Templates \ Windows Components \ Windows PowerShell)

Находим параметр Включить выполнение сценариев (Turn On Script Execution) и выставляем значение Включить и в выпадающем списке Разрешить все сценарии.

2. Настраиваем время задержки для выполнения скриптов.

Конфигурация компьютера \ Административные шаблоны \ Система \ Групповая политика
(Computer Configuration \ Administrative Templates \ System \ Group Policy)

Находим параметр Настроить задержку сценария входа в систему (Configure Logon Script Delay) и выставляем значение Включить и время задержки в минутах, например 1.

* как показала практика, лучше ставить хоть какую-то задержку.

3. Настраиваем автозапуск скрипта при входе.

Конфигурация компьютера (или Конфигурация пользователя) \ Политики \ Конфигурация Windows \ Сценарии
(Computer Configuration или User Configuration \ Policies \ Windows Settings \ Scripts)

В данной ветке мы увидим параметры для настройки сценария при входе или выходе из системы (включении или выключении компьютера). Дважды кликаем по нужному параметру и переходим на вкладку Сценарии Powershell (Powershell Scripts).

Нажимаем по Добавить и выбираем заранее написанный скрипт.

Если необходимо задать приоритет сценариям перед обычными сценариями, в выпадающем списке «Для этого объекта групповой политики выполните сценарии в следующем порядке» выбираем нужный пункт.

Источник

Запуск скрипта powershell через gpo

Добрый день! Уважаемые читатели и гости одного из крупнейших IT порталов в России Pyatilistnik.org. В прошлый раз вы меня просили рассказать вам, о рабочих методах исправления черного экрана Windows 10 и я с вами ими поделился. Так как направленность моего ресурса больше рассчитана на системных администраторов и продвинутых пользователей, то я сегодня хочу вновь поговорить про групповые политики и автоматизацию получаемую благодаря им. В данной публикации речь пойдет, о запуске скрипта PowerShell средствами GPO (Групповой политики), мы рассмотрим все варианты доступные администраторам.

Постановка задачи

Когда начинающий системный администратор превращается в матерого админа, он хочет везде все автоматизировать и везде экономить свое время, и это логично люди существа любящие комфорт и лень. Рабочая среда Active Directory позволяет, как все знаете через групповые политики настройку почти всех компонентов в системе, а что не может замещается средствами PowerShell, вот такой симбиоз. В нашу задачу входит научиться запускать при загрузке компьютера или при входе пользователя на компьютер или сервер, наш скрипт PowerShell, который реализует ту или иную задачу, это не важно, пусть например монтирует базы 1С.

Методы запуска скрипта PowerShell через GPO

Существует несколько сценариев позволяющих вам применять к вашим объектам нужные скрипты:

Запуск PowerShell скрипта в автозагрузке сервера

Открываем оснастку «Управление групповой политикой» и создаем на нужном уровне вашей иерархии организационных подразделений, новую политику, в моем примере, это будет «Добавление баз 1С». Переходим к ее редактированию.

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 01. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 01. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 01. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

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

Тут вы увидите два возможных варианта «Автозагрузка» и «Завершение работы»

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 02. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 02. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 02. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Далее вы открываете пункт «Автозагрузка», переходите на вкладку «Сценарий PowerShell» и нажимаете кнопку «Добавить«. Через окно «добавление сценария» откройте папку «Startup» и скопируйте туда ваш скрипт. Теперь данный файл будет частью папки Sysvol и располагаться в конкретном GPO объекте.

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 03. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 03. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 03. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

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

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 4. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 4. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 4. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Еще есть ряд нюансов при использовании выполнения скриптов PowerShell средствами групповой политики:

Хочу отметить, что начиная с Windows Server 2012 R2, Windows 8.1 и выше, все запускаемые сценарии PowerShell через GPO работают в режиме Bypass, что подразумевает игнорирование политики Set-ExecutionPolicy. Но если у вас есть более старые клиенты, то вы можете пойти вот таким путем:

Вы можете явно указать исполняемый файл PowerShell, для этого в политике откройте вкладку «Сценарии», нажмите добавить. В имя сценария введите путь до файла powerShell, это:

В параметрах сценария введите вот такие ключи и сетевой путь до скрипта PowerShell.

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 5. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 5. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 5. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Еще для подстраховки вы можете включить параметр GPO

Активируем настройку «Включить выполнение сценариев (Turn On Script Execution)», выставим значение «Разрешать все сценарии«.

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 6. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 6. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 6. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Проверяем применение вашей GPO, если все настроили правильно она отработает если нет, то начинается траблшутинг, проверяете фильтры GPO и общий алгоритм поиска проблем.

Запуск PowerShell скрипта для пользователя

Чтобы применить к пользователю ваш скрипт, вам необходимо в объекте групповой политики открыть вот такую ветку:

Тут будет два варианта «Вход в систему» и «Выход из системы».

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 07. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 07. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 07. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Настраиваем аналогично, как я показывал выше для компьютера, все одинаково.

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 08. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 08. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 08. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Выполнение сценариев PowerShell по расписанию

Тут все просто, если вы хотите средствами групповой политики запускать скрипты PowerShell по расписанию, то вам нужно создать задание в шедуллере. Для этого есть ветки GPO:

запуск скрипта powershell через gpo. powershell s pomoschyu gpo 09. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell s pomoschyu gpo 09. картинка запуск скрипта powershell через gpo. картинка powershell s pomoschyu gpo 09. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Указываем в задании нужное время, имя и сетевой путь до скрипта.

Источник

Запуск PowerShell скриптов с помощью GPO

В современных операционных системах (Windows 10 / Windows Server 2016) вы можете настраивать запуск логон/логоф скриптов на PowerShell напрямую из редактора GPO.

Запустите консоль управления доменными политиками — GPMC.msc (Group Policy Management сonsole), создайте новую политику и назначьте ее на нужный контейнер с пользователями или компьютерами (можно использовать WMI фильтры GPO для более тонкого нацеливания политики). Перейдите в режим редактирования политики.

Вы должны выбрать раздел GPO для запуска PowerShell скрипта в зависимости от того, когда вы хотите выполнить ваш скрипт.

Запуск PowerShell скрипта при загрузке компьютера с помощью групповой политики

Допустим, нам нужно запускать PowerShell скрипт при загрузке Windows. Для этого нужно выбрать Startup и в открывшемся окне перейди на вкладку PowerShell Scripts.

запуск скрипта powershell через gpo. GPO Startup PowerShell Scripts. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-GPO Startup PowerShell Scripts. картинка запуск скрипта powershell через gpo. картинка GPO Startup PowerShell Scripts. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Теперь нужно скопировать файл с вашим PowerShell скриптом на контроллер домена. Нажмите на кнопку Show Files и перетяните файл с PowerShell скриптом (расширение ps1) в открывшееся окно проводника (консоль автоматически откроет каталог \\yourdomain\SysVol\yourdomain\Policies\<Здесь_GUID_вашей_GPO>\Machine\Scripts\Startup вашей политики в каталоге SysVol на ближайшем контроллере домена).

запуск скрипта powershell через gpo. copy ps to sysvol. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-copy ps to sysvol. картинка запуск скрипта powershell через gpo. картинка copy ps to sysvol. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

запуск скрипта powershell через gpo. powershell script ntfs razresheniya. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell script ntfs razresheniya. картинка запуск скрипта powershell через gpo. картинка powershell script ntfs razresheniya. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Теперь нужно нажать кнопку Add и добавить скопированный файл скрипта ps1 в список запускаемых политикой PowerShell скриптов.

запуск скрипта powershell через gpo. run posh script gpo. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-run posh script gpo. картинка запуск скрипта powershell через gpo. картинка run posh script gpo. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Если вы запускаете несколько PowerShell скриптов через GPO, вы можете управлять порядком из запуска с помощью кнопок Up/Down.

запуск скрипта powershell через gpo. politika Turn On powershell Script. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-politika Turn On powershell Script. картинка запуск скрипта powershell через gpo. картинка politika Turn On powershell Script. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Если вам не подходит не один из предложенных сценариев настройки политики запуска PowerShell скриптов, вы можете запускать PowerShell скрипты в режиме Bypass (скрипты не блокируются, предупреждения не появляются).

запуск скрипта powershell через gpo. powershell Noninteractive ExecutionPolicy Bypass. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-powershell Noninteractive ExecutionPolicy Bypass. картинка запуск скрипта powershell через gpo. картинка powershell Noninteractive ExecutionPolicy Bypass. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

dp0 при запуске на клиенте автоматически преобразуются в UNC путь до каталога со скриптом на SYSVOL.

В данном случае вы принудительно разрешили запуск любого (даже ненадежного) скрипта PowerShell с помощью параметра Bypass.

Источник

Разрешить выполнение скриптов powershell через GPO

В сегодняшней заметке я покажу, как разрешить выполнение скриптов PowerShell

на системах используя доменные политики в домене polygon.local. Т.к. по умолчанию, политика запускаемых скриптов такова, что выставлен статус — Restricted (Запрещено, по умолчанию) сценарии не запускаются. В блоге я уже упоминал, как это поправить применительно к системе Windows Server 2003 и Windows 7, но всё это было локально, а теперь это будет централизовано для всех машин находящихся в домене.

И так заходим на домен контроллер (dc1.polygon.local) и запускаем оснастку управления групповыми политиками :

Start – Control Panel – Administrative Tools – Group Policy Management и создаём политику на организационный контейнер где У Вас расположены зарегистрированные рабочие станции, в моем случае это – OU = Computer,OU=IT и назовём её – GPO_PowerShell_ExecutionPolicy, так чтобы она отражала суть выполняемой задачи. Возьмите за практику, именовать политики, чтобы в дальнейшем можно было понять поставленные перед ней задачи.

запуск скрипта powershell через gpo. Server2008 gpo allow scripting powershell 002. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-Server2008 gpo allow scripting powershell 002. картинка запуск скрипта powershell через gpo. картинка Server2008 gpo allow scripting powershell 002. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Открываем, политику на редактирование и переходим по следующим меню:

Computer Configuration – Policies – Administrative Templates – Windows Components – Windows PowerShell

Turn on Script Execution – Enabled – Allow all scripts

Разрешаем политикой выполнение скриптов на подконтрольных рабочих станциях в организационном контейнере, на которых применяется политика.

запуск скрипта powershell через gpo. Server2008 gpo allow scripting powershell 003. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-Server2008 gpo allow scripting powershell 003. картинка запуск скрипта powershell через gpo. картинка Server2008 gpo allow scripting powershell 003. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Политика готова, закрываем редактор групповых политик.

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

Источник

Настройка политики запуска скриптов (Execution Policy) PowerShell

По-умолчанию настройки Windows запрещают запуск скриптов PowerShell. Это необходимо для предотвращения запуска вредоносного кода на PowerShell. Настройки политик запуска PowerShell скриптов определяются в Execution Policy. В этой статье мы рассмотрим доступные политики запуска PS скриптов, как изменить Execution Policy и настроить политики использования PowerShell скриптов на компьютерах в домене.

Выполнение PowerShell скриптов запрещено для данной системы

При попытке выполнить PowerShell скрипт (файл с расширением PS1) на чистой Windows 10, появляется ошибка:

запуск скрипта powershell через gpo. ne udaetsya zagruzit fajl ps1 tak kak vypolnenie. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-ne udaetsya zagruzit fajl ps1 tak kak vypolnenie. картинка запуск скрипта powershell через gpo. картинка ne udaetsya zagruzit fajl ps1 tak kak vypolnenie. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Текущее значение политики выполнения скриптов PowerShell на компьютере можно получить командой:

запуск скрипта powershell через gpo. get. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-get. картинка запуск скрипта powershell через gpo. картинка get. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Доступны следующие значения PowerShell Execution Policy:

Как разрешить запуск скриптов PowerShell с помощью Execution Policy?

Чтобы изменить текущее значение политики запуска PowerShell скриптов, используется командлет Set-ExecutionPolicy.

Например, разрешим запуск локальных скриптов:

Подтвердите изменение политики запуска PS1 скриптов, нажав Y или A.

запуск скрипта powershell через gpo. set executionpolicy remotesigned razreshit zapusk. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-set executionpolicy remotesigned razreshit zapusk. картинка запуск скрипта powershell через gpo. картинка set executionpolicy remotesigned razreshit zapusk. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Чтобы запрос не появлялся, можно использовать параметр Force.

Set-ExecutionPolicy RemoteSigned –Force

Если вы установили значение политики PowerShell Execution Policy в Unrestricted, то при запуске удаленных скриптов из сетевых каталогов по UNC пути, скачанных из интернета файлов, все равно будет появляться предупреждение:

запуск скрипта powershell через gpo. run only scripts that you trust while scripts fro. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-run only scripts that you trust while scripts fro. картинка запуск скрипта powershell через gpo. картинка run only scripts that you trust while scripts fro. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Также следует различать различные области действия политик выполнения скриптов PowerShell (scopes):

Область применения политики можно указать с помощью параметр Scope командлета Set-ExecutionPolicy. Например:

Проверим текущие настройки ExecutionPolicy для всех областей:

запуск скрипта powershell через gpo. get executionpolicy scopes oblasti dejstviya. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-get executionpolicy scopes oblasti dejstviya. картинка запуск скрипта powershell через gpo. картинка get executionpolicy scopes oblasti dejstviya. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Значение политики выполнения, которые вы задаете с помощью командлета Set-ExecutionPolicy для областей CurrentUser и LocalMachine, хранятся в реестре. Например, выполните командлет:

Откройте ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell и проверьте значение REG_SZ параметра ExecutionPolicy. Оно изменилось на Restricted (допустимые значения параметра Restricted, AllSigned, RemoteSigned, Bypass, Unrestricted и Undefined).

запуск скрипта powershell через gpo. executionpolicy v reestre. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-executionpolicy v reestre. картинка запуск скрипта powershell через gpo. картинка executionpolicy v reestre. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Аналогичные настройки для области CurrentUser находятся в разделе реестра пользователя HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell.

Отметим, что чаще всего в корпоративной среде используется ExecutionPolicy со значением AllSigned на уровне LocalMachine. Это обеспечивает максимальный баланс между безопасностью и удобством. Для личного пользования на компьютере можно использовать RemoteSigned. Ну а Bypass политику лучше использовать только для запуска отдельных задач (например для запуска скриптов через GPO или заданий планировщика).

Настройка PowerShell Execution Policy с помощью групповых политик

Вы можете настроить политику выполнения PowerShel скриптов на серверах или компьютерах домена с помощью групповых политик.

После настройки политики выполнения через GPO вы не сможете изменить настройки политики выполнения скриптов вручную. При попытке изменить настройки Execution Policy на компьютере, на который применяется такая GPO, появится ошибка:

запуск скрипта powershell через gpo. set executionpolicy windows powershell updated y. запуск скрипта powershell через gpo фото. запуск скрипта powershell через gpo-set executionpolicy windows powershell updated y. картинка запуск скрипта powershell через gpo. картинка set executionpolicy windows powershell updated y. Инструкция представляет шпаргалку по настройке автозапуска сценария при выполнении входа в систему Windows (login).

Способы обхода политики PowerShell Execution

Есть несколько трюков, которые могут помочь вам, когда нужно запустить на компьютере PowerShell скрипт, не изменяя настройки политики выполнения. Например, я хочу запустить простой PS1 скрипт, который поверяет, что запущен с правами администратора.

Можно с помощью Get-Content получить содержимое скрипта и перенаправить его в стандартныq поток ввода консоли PS.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *