Групповые политики и скрипты
Если предыдущие варианты не требовали доменной среды, то в этом случае потребуется домен. Поддерживаются скрипты при входе и выходе пользователя из системы, а также при ее включении и выключении. Поскольку каждый администратор Windows сталкивался с ними, я не буду подробно расписывать как ими пользоваться ― лишь напомню, где их искать.
Скрипты, выполняющиеся при старте и завершении системы.
Скрипты, выполняющиеся при входе и выходе пользователя из системы.
Скрипты, настраиваемые в пользовательском разделе, выполняются от имени пользователя, а в разделе компьютера ― под аккаунтом SYSTEM.
Алгоритм устранения проблем с GPO
Предположим, что у меня есть групповая политика, которая применяется на организационное подразделение «Client Computers». Политика называется «Управление UIPI». По какой-то причине пользователь жалуется, что она у него не применилась.
Из информации, об области действия групповой политики, первое на что нужно обратить свое внимание, это находится ли объект пользователя или компьютера по нужному пути. Сделать, это просто в оснастке «Управление групповой политикой» найдите вашу политику и посмотрите к каким OU она применяется, это видно на вкладке «Область (Scope)», ее еще называют областью действия политики
В моем случае, это путь root.pyatilistnik.org/Client Computers.
Так как Active Directory, это иерархическая структура, то одна OU можете быть часть дерева из других и сама включать в себя большое количество организационных подразделений. Поэтому если у вас есть вложенность, то просто зайдя в нужную OU вы можете сразу не найти нужный объект. В таком случае воспользуйтесь поиском по Active Directory. Например у меня есть рабочая станция с которой идут жалобы на применение объекта GPO. В поиске выбираем в поле «Найти» компьютеры и в имени указываем w10-cl01, после чего нажимаем «Найти». В результатах поиска вы получите выдачу. Щелкаем по нужному объекту и переходим в нем на вкладку «Объект», где смотрим «Каноническое имя объекта», по сути это его путь расположения в Active Directory. Сравниваем его с тем, что получили из области применения групповой политики и делаем вывод, попадает объект под действие или нет.
Далее убедитесь, что у вас элементарно включена связь объекта групповой политики с нужным организационным подразделением. Для этого в оснастке управления GPO, щелкните правым кликом по нужной политике и в контекстном меню проверьте, что установлена галка «Связь включена», ее так же можно проверить на вкладке «Область» в столбце «Связь задействована», должно стоять значение «да».
Следующим моментом необходимо проверить, что политика не отключена на определенный объект. Для этого перейдите на вкладку «Сведения» на нужной GPO. Нас интересует строка «Состояние GPO». По умолчанию там стоит значение «Включено», означающее, что политика будет пытаться примениться заданные в ней настройки к обоим типам объектов (Пользователю и компьютеру). Но может быть выставлено значение:
- Параметры конфигурации компьютера отключены (Computer configuration settings disabled)
- Параметры конфигурации пользователя отключены (User configuration settings disabled)
- Все параметры отключены (All setting disabled) — запретит применение политики для любого объекта
Сделано, это для ускорения применения политики к объекты. Согласитесь, что если у вас в GPO настроены изменения только для пользователя, то нет смысла проверять политику для компьютера. Поэтому системные администраторы могут отключать это, но могут и ошибиться, выключив не тот объект
Выше я вам писал, что структура OU иерархическая, а это означает, что политика прилинкованная с вышестоящего организационного подразделения применяется на нижестоящее. Но вот если у нижестоящей OU отключено наследование сверху, то он не сможет применить данную политику. Проверяется очень просто, найдите нужную вам OU, щелкните по ней правым кликом и удостоверьтесь, что не стоит пункт «Блокировать наследование».
Он кстати будет иметь характерный значок с восклицательным знаком. Данный механизм создан специально, чтобы изолировать данную OU от ненужных политик GPO.
Приступая к работе
Майкрософт
Name Used (GB) Free (GB) Provider Root ---- --------- --------- -------- ---- Alias Alias C 16.56 63.44 FileSystem C:\ cert Certificate \ D .11 53.92 FileSystem D:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable WSMan WSMan
Set-Location HKLM: # Или, если вы из людей подосёвее, набирайте cd HKLM:
SKC VC Name Property --- -- ---- -------- 2 0 BCD00000000 {} 4 0 HARDWARE {} 1 0 SAM {} Get-ChildItem : Requested registry access is not allowed. At line:1 char:3 + ls <<<< -force + CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACHINE\SECURITY:St ring) , SecurityException + FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.Power Shell.Commands.GetChildItemCommand 35 0 SOFTWARE {} 8 0 SYSTEM {}
Добавить редактор групповой политики в Windows Home Editions
Поскольку это была расширенная функция, Microsoft не включила ее в выпуски Windows и Windows. Но могут быть некоторые сценарии, в которых вы хотите изменить параметры политики в консоли управления Microsoft (MMC) из Home Edition Windows. В таких случаях вам понадобится использовать сторонний инструмент для этого. В этом сообщении мы поговорим об инструменте под названием « Policy Plus », который позволяет вносить изменения в параметры групповой политики даже из Домашних выпусков Windows 10/8/7.
Политика Plus Обзор
Политика Plus — это бесплатный инструмент с открытым исходным кодом, который позволяет редактировать объект локальной групповой политики в домашней редакции Windows. Но вы можете подумать, не была ли эта функция недоступна в домашней редакции, правильно ли использовать этот инструмент? Да, инструмент полностью соответствует лицензированию, и вы можете использовать его без каких-либо условий.
Редактировать объекты локальной групповой политики в Windows Home Editions
Если вы уже использовали редактор групповой политики, знающих административные шаблоны. Эти шаблоны на самом деле являются основой инструмента. Хотя некоторые из административных шаблонов доступны в Home Edition, вам нужно загрузить остальную часть из Интернета. Policy Plus поставляется с встроенной функциональностью для загрузки последнего пакета этих файлов из Microsoft. Все, что вам нужно сделать, — запустить инструмент, а затем перейти к « справке » и выбрать « Acquire AMDX Files ». Это загрузит полный набор определений политик из Microsoft.
Говоря об пользовательском интерфейсе, он специально разработан с учетом исходного редактора групповой политики. Интерфейс очень похож на оригинальный инструмент, и вы можете столкнуться с какими-либо проблемами, если знакомы с редактором групповых политик. Все доступные политики отображаются в левом столбце. Вы можете перемещаться по дереву и находить подходящую запись, которую вы хотите отредактировать.
Этот инструмент может легко просматривать и редактировать политики на основе реестра в локальных объектах групповой политики, объектах групповой политики для каждого пользователя, отдельных файлах POL, автономных пользователях пользователей реестра и в реальном времени.
Вы также можете использовать функцию поиска, чтобы найти определенную политику. Вы можете искать по идентификатору, разделам реестра или просто по тексту. Редактирование политики так же просто, нужно нажать кнопку «Открыть политику» и внести необходимые изменения. Подобно редактору групповой политики, Policy Plus также отображает описание политики и позволяет добавлять комментарии.
После внесения изменений в объект групповой политики вам необходимо перезагрузить компьютер, чтобы изменения вступили в силу.
Функции в двух словах:
- Работает и работает на всех выпусках Windows, а не только на Pro и Enterprise
- Совместим полностью с лицензированием (т. Е. Не пересаживает никакие компоненты в установках Windows)
- Просмотр и редактирование политик на основе реестра в локальные объекты групповой политики, объекты групповой политики для каждого пользователя, отдельные файлы POL, автономные пользовательские ульи реестра и резидентный реестр
- Перейдите к политикам с помощью идентификатора, текста или затронутых записей реестра
- Показать дополнительную техническую информацию об объектах (политиках, категориях, продукты)
- Предоставлять удобные способы совместного использования и импорта параметров политики.
Функция RefreshPolicyEx не работает в Home edition, поэтому перезагрузите компьютер, чтобы наблюдать за изменениями. Кроме того, вы можете создавать и редактировать объекты групповой политики для каждого пользователя, но их настройки игнорируются Windows. Итак, вам нужно отредактировать реестр самостоятельно, чтобы эти изменения произошли.
В целом, политика Plus — отличный инструмент. Он почти приносит полный редактор локальной групповой политики в Windows 10/8/7 Home Editions. Вы можете использовать этот инструмент свободно и даже скомпилировать исходный код с нуля. В этом случае могут возникнуть некоторые проблемы с этим инструментом, поскольку он все еще находится на стадии разработки, но вы можете сообщить о проблемах его разработчикам.
Посетите Github , чтобы загрузить Policy Plus для Windows.
Установщик GPEDIT — это еще один инструмент, который позволяет добавлять редактор групповой политики в редакции Windows Home.
Включить ведение журнала блоков сценариев PowerShell
Параметр политики включить ведение журнала блока сценариев PowerShell включает ведение журнала всех входных данных сценария PowerShell в журнал событий Microsoft-Windows-PowerShell/операционный. Если этот параметр политики включен, PowerShell Core будет записывать в журнал обработку команд, блоков скриптов, функций и сценариев, которые будут вызываться в интерактивном режиме или с помощью службы автоматизации.
Если этот параметр политики отключен, регистрация ввода сценариев PowerShell отключена. Если регистрация вызова блоков сценариев включена, PowerShell также регистрирует события при запуске или остановке вызова команд, блоков сценариев, функций или сценариев. Включение регистрации вызовов ведет к созданию большого количества журналов событий.
Редактор групповой политики
В Windows 7 Домашняя Базовая/Расширенная и Начальная редактор групповых политик просто отсутствует. Разработчики
позволяют использовать его только в профессиональных версиях Виндовс, например, в Windows 7 Максимальная. Если
вы не обладаете этой версией, то те же действия вам придется выполнять через изменения параметров реестра.
Давайте подробнее рассмотрим редактор.
Запуск редактора групповой политики
Переход к среде работы с параметрами и настройками осуществляется за несколько простых действий. Вам только
необходимо:
-
- Зажать клавиши Win + R, чтобы открыть «Выполнить».
-
- Напечатать в строке gpedit.msc и подтвердить действие,
нажав «ОК». Далее запустится новое окно.
- Напечатать в строке gpedit.msc и подтвердить действие,
Теперь можно приступать к работе в редакторе.
Работа в редакторе
Разделяется главное окно управления на две части. Слева располагается структурированные категории политик. Они в
свою очередь делятся еще на две различные группы – настройка компьютера и настройка пользователя.
В правой части отображается информация о выбранной политике из меню слева.
Из этого можно сделать вывод, что работа в редакторе осуществляется путем перемещения по категориям для поиска
необходимой настройки. Выберите, например, «Административные
шаблоны» в «Конфигурации пользователя» и перейдите в
папку «Меню «Пуск» и диспетчер задач». Теперь справа отобразятся параметры
и их состояния. Нажмите на любую строку, чтобы открыть ее описание.
Reviewing which GPOs Are Applied to a User or Computer
To get information about which GPOs are applied to a user or computer, you can generate a Resultant Set of Policy (RSoP) report using the Get-GPResultantSetOfPolicy cmdlet. The command below generates a report for the computer called “dc1” and writes the results to the c:\temp directory:
Get-GPResultantSetOfPolicy -Computer dc1 -ReportType HTML -Path c:\temp\dc1rsop.html
Figure 4. How to get information about which GPOs are applied to a user or computer
PowerShell cmdlets can be quite useful for managing Group Policy. However, configuring settings inside GPOs using PowerShell isn’t easy because Group Policy settings weren’t designed with text-based configuration in mind.
Russell Smith
IT consultant and author specializing in management and security technologies. Russell has more than 15 years of experience in IT, he has written a book on Windows security, and he coauthored a text for Microsoft’s Official Academic Course (MOAC) series.
Настройки для меню «Пуск» и панели задач
Групповая политика предлагает множество настроек для меню «Пуск» и панели задач, чтобы настроить их по своему усмотрению. Настройки идеально подходят как администраторам, так и обычным пользователям, которые хотят настроить меню «Пуск» и панель задач Windows.
Перейдите в указанное ниже место в редакторе групповой политики, и вы найдёте все настройки с объяснением того, что они делают.
Конфигурация пользователя → Административные шаблоны → Меню «Пуск» и панель задач
Настройки действительно просты для понимания, поэтому я не думаю, что мне придется объяснять каждую из них. Кроме того, Windows предлагает подробное описание для каждой настройки. Некоторые из вещей, которые вы можете сделать, включают: изменение функции кнопки питания в меню «Пуск», запрет пользователям закреплять программы на панели задач, ограничение возможностей поиска, скрытие области уведомлений, скрытие значка батареи, предотвращение изменений в настройках панели задач и меню «Пуск», запрещение пользователям использовать любые параметры питания (выключение, переход в спящий режим и т.д.), удаление параметра «Выполнить» из меню «Пуск» и множество других настроек.
Как запустить скрипт PowerShell с помощью ярлыка?
Осуществить такую задачу можно двумя способами:
- Создать bat/cmd файл, в котором прописать команду для запуска скрипта (с параметрами вы ознакомились выше)
- Создать ярлык на PowerShell, который можно найти в папке c:\Windows\System32\WindowsPowerShell\v<версия>\ и в свойствах ярлыка в поле «Объект» дописать необходимые параметры.
Таким образом, например, чтобы запустить скрипт powershell при входе пользователя, можно просто создать ярлык, как описано во 2-м пункте и поместить его в автозагрузку. Так же, создание ярлыка одним из способов выше позволит легко запустить скрипт от имени администратора или от имени любого другого пользователя как обычную программу.
Скриптовый язык PowerShell — довольно мощный инструмент для решения различных задач, но его можно использовать не только для хороших вещей, но и во вред, поэтому, пользуйтесь им с умом
Запуск скриптов в Windows Server 2012 R2 Windows 8.1 и выше
Это еще один подводный камень. По умолчанию, в версиях 2012 R2 и Windows 8.1 скрипты компьютера на запуск – имеют задержку на выполнение в 5 минут.
Чтобы это исправить необходимо скорректировать еще один пункт в политике безопасности.
Теперь необходимо создать Централизованное хранилище политик. На контроллере домена скопировать папку PolicyDefinitions целиком из %systemroot% в папку %systemroot%sysvoldomainpolicies
Затем скопировать содержимое из папки C:Program Files (x86)Microsoft Group PolicyWindows 8.1-Windows Server 2012 R2PolicyDefinitions в папку %systemroot%sysvoldomainpoliciesPolicyDefinitions В последствии эти шаблоны будут автоматически распространены и для других контроллеров домена. А вам необходимо только перезапустить оснастку редактора групповых политик.
Переходим к настройке: Конфигурация компьютера – Политики – Административные шаблоны – Групповая политика – Настроить задержку сценария входа
Включаем этот параметр и выставляем значением «0 мин». Таким образом мы полностью отключаем задержку сценария входа.
Теперь наши скрипты будут также успешно работать и в Windows 2012 R2 и Windows 8.1 при загрузке компьютера!
Продолжение:
Также вы можете посмотреть мои обращения в Microsoft Technet, где мне успешно помогали решать эти задачи. За что коллегам отдельная благодарность!
Переменные среды PowerShell
Функции PowerShell могут использовать переменные среды для хранения настроек пользователя.
Эти переменные работают подобно переменным предпочтений, но они наследуются дочерними сеансами сеансов, в которых они созданы. Дополнительные сведения о переменных предпочтений см. в разделе about_Preference_Variables.
Ниже перечислены переменные среды, в которых хранятся настройки.
-
PSExecutionPolicyPreference
Хранит политику выполнения, заданную для текущего сеанса. Эта переменная среды существует только в том случае, если задана политика выполнения для одного сеанса.
Это можно сделать двумя разными способами.-
Запустите сеанс из командной строки с помощью параметра ExecutionPolicy , чтобы задать политику выполнения для сеанса.
-
Используйте командлет . Используйте параметр Scope со значением «Process».
Подробнее см. в разделе about_Execution_Policies.
-
-
псмодулеаналисискачепас
PowerShell обеспечивает контроль над файлом, используемым для кэширования данных о модулях и их командлетах. Кэш считывается при запуске во время поиска команды и записывается в фоновом потоке после импорта модуля.
Расположение кэша по умолчанию:
- Windows PowerShell 5.1: .
- PowerShell 6,0 и более поздние версии:
- значение по умолчанию не Windows:
По умолчанию для кэша используется имя файла . Если установлено несколько экземпляров PowerShell, имя файла включает в себя шестнадцатеричный суффикс, чтобы для каждой установки существовало уникальное имя файла.
Примечание
Если обнаружение команд работает неправильно, например, в IntelliSense отображаются несуществующие команды, можно удалить файл кэша. Кэш создается повторно при следующем запуске PowerShell.
Чтобы изменить расположение кэша по умолчанию, задайте переменную среды перед запуском PowerShell. Изменения этой переменной среды влияют только на дочерние процессы. Значение должно быть полным путем (включая имя файла), на создание и запись файлов по которому у среды PowerShell есть разрешение.
Чтобы отключить файловый кэш, укажите в качестве этого значения недопустимое расположение, например:
Это задает путь к устройству NUL . PowerShell не удается выполнить запись в путь, но ошибка не возвращается. Вы можете увидеть ошибки, о которых сообщили с помощью трассировки:
-
псдисаблемодулеаналисискачеклеануп
При вызаписи кэша анализа модуля PowerShell проверяет наличие модулей, которые больше не существуют, чтобы избежать необязательного большого объема кэша. Иногда эти проверки нежелательны. в этом случае их можно отключить, задав для этого значения переменной среды значение .
Установка этой переменной среды вступает в силу немедленно в текущем процессе.
-
PSModulePath
Переменная среды содержит список расположений папок, в которых выполняется поиск модулей и ресурсов.
По умолчанию действующие расположения, назначенные, являются:
-
Расположения на уровне системы. Эти папки содержат модули, поставляемые с PowerShell. Модули хранятся в расположении. кроме того, это расположение, в котором устанавливаются модули управления Windows.
-
Модули, установленные пользователем: это модули, установленные пользователем.
имеет параметр области , который позволяет указать, установлен ли модуль для текущего пользователя или для всех пользователей. Дополнительные сведения см. в разделе Install-Module.- в Windows расположением определяемой пользователем области CurrentUser является папка. Областью ALLUSERS является расположение .
- в системах, отличных от Windows, расположением определенной пользователем области CurrentUser является папка. Областью ALLUSERS является расположение .
Кроме того, программы установки, устанавливающие модули в других каталогах, например каталог Program Files, могут добавлять свои расположения к значению .
Дополнительные сведения см. в разделе about_PSModulePath.
-
-
POWERSHELL_UPDATECHECK
Настроить уведомления об обновлениях можно с помощью переменной среды . Поддерживаются следующие значения.
- отключает функцию уведомления об обновлении
-
то же самое, что не определяет :
- В общедоступных выпусках выводятся уведомления об обновлениях для общедоступных выпусков.
- В предварительных выпусках и релизах-кандидатах выводятся уведомления об обновлениях для общедоступных и предварительных выпусков.
- уведомления об обновлениях только для выпусков долгосрочного обслуживания (LTS)
Дополнительные сведения см. в разделе about_Update_Notifications.
-
POWERSHELL_TELEMETRY_OPTOUT
Чтобы отказаться от телеметрии, задайте для переменной среды значение , или .
Дополнительные сведения см. в разделе about_Telemetry.
Запуск и остановка отладчика
Чтобы запустить отладчик, задайте одну или несколько точек останова. Затем запустите скрипт, команду или функцию, которые требуется отладить.
При достижении точки останова выполнение останавливается и управление передается отладчику.
Чтобы завершить работу отладчика, выполните сценарий, команду или функцию, пока она не будет завершена. Или введите или .
Команды отладчика
При использовании отладчика в консоли PowerShell используйте следующие команды для управления выполнением. в Windows PowerShell ISE используйте команды в меню отладка.
Примечание. сведения об использовании отладчика в других ведущих приложениях см. в документации по ведущему приложению.
, : Выполняет следующий оператор, а затем останавливается.
, : Выполняет следующий оператор, но пропускает функции и вызовы. Пропущенные операторы выполняются, но в них отладчик не останавливается.
(Разбейте все в ISE) на выполнение сценария в консоли PowerShell или Windows PowerShell интегрированной среде сценариев
обратите внимание, что + разрыв Ctrl в Windows PowerShell 2,0, 3,0 и 4,0 закрывает программу. Прерывать все работает как с локальными, так и с удаленными интерактивными сценариями.
, : Действия из текущей функции; на один уровень вверх при вложении
Если в основном тексте, он переходит к концу или следующей точке останова. Пропущенные операторы выполняются, но в них отладчик не останавливается.
, : Продолжит работу до завершения скрипта или до достижения следующей точки останова. Пропущенные операторы выполняются, но в них отладчик не останавливается.
, : Отображает часть скрипта, который исполняется. По умолчанию отображается текущая строка, пять предыдущих строк и 10 последующих строк.
Чтобы продолжить составление списка сценариев, нажмите клавишу ВВОД.
, : Отображает 16 строк сценария, начиная с номера строки, заданного параметром .
, : Отображает строки скрипта, начиная с номера строки, заданного параметром .
, , : Останавливает выполнение скрипта и завершает работу отладчика. Если выполняется отладка задания с помощью командлета, команда отсоединяет отладчик и позволяет продолжить выполнение задания.
, : Отображает текущий стек вызовов.
: Повторяет последнюю команду, если она была на шаге (-ов), Степовер (v) или List (l). В противном случае представляет действие отправки.
, : Отображает справку по командам отладчика.
Чтобы выйти из отладчика, можно использовать команду «прекратить» (q).
Начиная с PowerShell 5,0 можно выполнить команду Exit, чтобы выйти из вложенного сеанса отладки, запущенного с помощью команды или .
С помощью этих команд отладчика можно выполнять сценарий, останавливаться на определенном этапе, проверять значения переменных и состояния системы и продолжать выполнение сценария до тех пор, пока не будет выявлена проблема.
Примечание. при переходе к оператору с оператором перенаправления, например «>», отладчик PowerShell выполняет шаг над всеми остальными инструкциями в скрипте.
Отображение значений переменных скрипта
В отладчике можно также вводить команды, отображать значения переменных, использовать командлеты и выполнять сценарии в командной строке.
Можно отобразить текущее значение всех переменных в отлаживаемом скрипте, за исключением следующих автоматических переменных:
При попытке отобразить значение любой из этих переменных отображается значение переменной из внутреннего конвейера отладчика, а не переменной в сценарии.
Чтобы отобразить значения этих переменных для отлаживаемого скрипта, в скрипте присвойте значение автоматически изменяемой переменной новой переменной. Затем можно отобразить значение новой переменной.
Например,
В примере в этом разделе значение переменной переназначается следующим образом:
Parameters
-Comment
Includes a comment for the new GPO.
The comment string must be enclosed in double- or single-quotation marks and can contain 2,047 characters.
Use the comment to document the GPO and its implementation in your environment.
Or, if you insert keywords in the comment, you can use the keyword filter to find GPOs that have matching keywords.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Domain
Specifies the domain for this cmdlet.
You must specify the fully qualified domain name (FQDN) of the domain.
For the New-GPO cmdlet:
-
The new GPO is created in this domain.
-
If a Starter GPO is specified, it must exist in this domain.
If you do not specify the Domain parameter, then the domain of the user running the current session is used.
If the cmdlet is being run from a computer startup or shutdown script, the domain of the computer is used.
For more information, see the Notes section in the full help.
If you specify a domain that is different from the domain of the user running the current session (or the computer for a startup or shutdown script), then a trust must exist between that domain and the domain of the user, or computer.
You can also refer to the Domain by its built-in alias, domainname.
For more information, see about_Aliases.
Type: | String |
Aliases: | DomainName |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Specifies a display name for the new GPO.
If another GPO with the same display name exists in the domain an error occurs.
You can also refer to the Name parameter by its built-in alias, displayname.
For more information, see about_Aliases.
Type: | String |
Aliases: | DisplayName |
Position: | |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Server
Specifies the name of the domain controller that this cmdlet contacts to complete the operation.
You can specify either the fully qualified domain name (FQDN) or the host name.
If you do not specify the name by using the Server parameter, the primary domain controller (PDC) emulator is contacted.
You can also refer to the Server parameter by its built-in alias, dc.
For more information, see about_Aliases.
Type: | String |
Aliases: | DC |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StarterGpoGuid
Specifies a Starter GPO by its globally unique identifier (GUID).
The GUID uniquely identifies the Starter GPO.
If a Starter GPO is specified, the GPO is created with its settings.
You can also refer to the StarterGpoGuid parameter by its built-in alias, id.
For more information, see about_Aliases.
Type: | Guid |
Aliases: | Id |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-StarterGpoName
Specifies a Starter GPO by its display name.
The name can contain 255 characters.
If the name includes blank characters, enclose the name in double-quotation marks or single-quotation marks.
If a Starter GPO is specified, the GPO is created with its settings.
The display name is not guaranteed to be unique in the domain.
If another Starter GPO with the same display name exists in the domain, an error occurs.
You can use the StarterGpoGuid parameter to uniquely identify a Starter GPO.
You can also refer to the Name parameter by its built-in alias, displayname.
For more information, see about_Aliases.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs.
The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
GPO — Настройка политики выполнения PowerShell
Хотите узнать, как создать групповую политику для настройки политики выполнения Powershell? В этом учебнике мы покажем вам, как настроить политику выполнения Powershell с помощью GPO.
• Windows 2012 R2
• Windows 2016
• Windows 2019
• Windows 10
• Windows 7
Список оборудования
В следующем разделе представлен список оборудования, используемого для создания этого учебника.
Как Amazon Associate, я зарабатываю от квалификационных покупок.
На этой странице мы предлагаем быстрый доступ к списку учебников, связанных с Windows.
Учебник GPO — Настройка политики выполнения PowerShell
На контроллере домена откройте инструмент управления групповой политикой.
Создание новой групповой политики.
Введите имя для новой политики группы.
В нашем примере, новый GPO был назван: MY-GPO.
На экране управления групповой политикой расширьте папку под названием «Объекты групповой политики».
Нажмите правой кнопкой мыши на новый объект групповой политики и выберите опцию редактирования.
На экране редактора групповой политики расширьте папку конфигурации компьютера и найдите следующий элемент.
Copy to Clipboard
Computer Configuration > Policies > Administrative Templates > Windows Components > Windows PowerShell
Доступ к папке под названием Windows Powershell.
Включите опцию под названием Включите выполнение скрипта.
Выберите желаемую политику выполнения Powershell.
В нашем примере мы выбрали опцию, чтобы разрешить локальные скрипты и удаленные подписанные скрипты.
Чтобы сохранить конфигурацию групповой политики, необходимо закрыть редактор групповой политики.
Поздравляю! Вы закончили создание GPO.
Учебник GPO — Политика исполнения Powershell
На экране управления политикой Группы необходимо правильно нажать на желаемую Организационную группу и выбрать возможность связать существующий GPO.
В нашем примере мы собираемся связать групповую политику под названием MY-GPO с корнем домена.
После применения GPO вам нужно подождать 10 или 20 минут.
В течение этого времени GPO будет реплицироваться на другие контроллеры доменов.
На удаленном компьютере попробуйте изменить политику выполнения Powershell.
Copy to Clipboard
Set-ExecutionPolicy unrestricted -Force
Конфигурация GPO не позволит пользователю изменить политику выполнения PowerShell.
Copy to Clipboard
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of RemoteSigned. Type «Get-ExecutionPolicy -List» to view your execution policy settings. For more information please see «Get-Help Set-ExecutionPolicy».
At line:1 char:1
+ Set-ExecutionPolicy unrestricted -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (:) , SecurityException
+ FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
В нашем примере мы включили выполнение локальных скриптов Powershell на всех доменных компьютерах с помощью GPO.
2021-04-24T13:51:40-03:00
WMIC
Для управления системами Windows с помощью разных графических утилит часто используется WMI (Windows Management Instrumentation) ― реализация объектно-ориентированного стандарта управления WBEM. В качестве утилиты с графическим интерфейсом для работы с WMI можно использовать wbemtest.exe.
Для работы с WMI из консоли создана wmic.exe. Например, для проверки установленных обновлений вместо жутковатой конструкции из предыдущего примера можно использовать простую команду:
Использовать список компьютеров также можно командой /node:»@computers.txt».
Еще при помощи WMI можно запускать программы – синтаксис предельно прост:
К сожалению, в отличие от Psexec, получить вывод в консоли не получится ― придется выводить результаты команды в файл.
По умолчанию процесс на удаленной машине выполняется от имени пользователя, запустившего wmic. При необходимости логин и пароль можно задать явно.
Постановка задачи
Когда начинающий системный администратор превращается в матерого админа, он хочет везде все автоматизировать и везде экономить свое время, и это логично люди существа любящие комфорт и лень. Рабочая среда Active Directory позволяет, как все знаете через групповые политики настройку почти всех компонентов в системе, а что не может замещается средствами PowerShell, вот такой симбиоз
В нашу задачу входит научиться запускать при загрузке компьютера или при входе пользователя на компьютер или сервер, наш скрипт PowerShell, который реализует ту или иную задачу, это не важно, пусть например монтирует базы 1С
Использование групповая политика для управления политикой выполнения
Для управления политикой выполнения компьютеров предприятия можно использовать параметр групповая политика включить выполнение скрипта . Параметр групповая политика переопределяет политики выполнения, заданные в PowerShell во всех областях.
Включить параметры политики выполнения сценария следующим образом:
-
Если отключить выполнение скрипта, скрипты не будут выполняться. Это эквивалентно Restricted политике выполнения.
-
Если включить выполнение скрипта, можно выбрать политику выполнения. Параметры групповая политика эквивалентны следующим параметрам политики выполнения.
Групповая политика Политика выполнения Разрешить все скрипты Unrestricted Разрешить локальные скрипты и удаленные подписанные скрипты RemoteSigned Разрешить только подписанные скрипты AllSigned -
Если параметр включить выполнение скрипта не настроен, он не будет действовать. Политика выполнения, заданная в PowerShell, вступает в силу.
Файлы Повершеллексекутионполици. adm и Повершеллексекутионполици. ADMX добавляют политику выполнения сценария включения в узлы Конфигурация компьютера и Конфигурация пользователя в групповая политика Editor по следующим путям.
для Windows XP и Windows Server 2003:
для Windows Vista и более поздних версий Windows:
Политики, заданные в узле Конфигурация компьютера, имеют приоритет над политиками, заданными в узле Конфигурация пользователя.
Дополнительные сведения см. на веб-сайте about_Group_Policy_Settings.
Приоритет политики выполнения
При определении действующей политики выполнения для сеанса PowerShell оценивает политики выполнения в следующем порядке очередности.