Назад | Перейти на главную страницу

Развернуть сценарий Powershell и запустить его при завершении работы через групповую политику

У меня есть сценарий Powershell, который мне нужно развернуть на моем клиентском ПК, а затем запустить его при завершении работы.

Я знаю, что можно нарваться в Powershell Scripts при останове (это, кажется, у меня возникли проблемы тоже с этим), проблемы является сценарий использует «локальный» путь, такие как «$ ENV: LocalAppData» и «C: \ Windows \ system32 \ someprogram.exe ", поэтому я думаю, что мне нужно сначала скопировать его на клиентский компьютер, а затем запустить его при выключении из-за путей.

Во-первых, как правильно развернуть сценарий Powershell для запуска при выключении через групповую политику?

Так ли это надо делать?

Что касается локальных переменных среды или путей в сценарии PowerShell, не важно, где находится файл сценария, а где он выполняется.

Это означает, что вы просто должны быть уверены, что пути и переменные существуют на машине, на которой вы хотите выполнить сценарий. Затем Powershell будет использовать «свой» локальный C: \ Windows \ System32 \ someprogram.exe, а не тот, который находится на машине, где находится файл сценария.

РЕДАКТИРОВАТЬ: Конечно, клиентский компьютер, который хочет выполнить сценарий, должен каким-то образом добраться до файла, поэтому вы должны поместить его в общий сетевой ресурс с соответствующими разрешениями безопасности или, если вы используете GPO для выполнения, в общий ресурс sysvol.

РЕДАКТИРОВАТЬ2:

Теперь полный способ завершения работы сценария PowerShell, доставленного через GPO:

  • Если вы хотите использовать новый объект групповой политики, создайте его.
  • Создайте сценарий, который хотите доставить.
  • Откройте редактор групповой политики на одном из контроллеров домена и отредактируйте объект групповой политики, который вы хотите использовать для сценария выключения.
  • Перейдите в «Конфигурация компьютера - Политики - Параметры Windows - Сценарии (запуск / завершение работы) - Завершение работы».
  • Нажмите «Добавить» - «Обзор». Теперь вы видите общий путь к папке, в которую Microsoft хочет, чтобы вы поместили сценарий. Вы можете использовать этот путь или любой другой путь в Сети с соответствующими правами пользователя.
  • Скопируйте скрипт в желаемое место, лучше всего использовать путь, предопределенный Windows.
    • если вы хотите использовать этот предопределенный путь, вы должны знать, что путь к общему ресурсу, который вы видите, защищен от записи. Таким образом, вы должны использовать локальный путь sysvol. Просто замените \\yourdomain.local\SYSVOL\yourdomain.local по C:\Windows\SYSVOL\Domain
  • Теперь в GPO-Window вы можете выбрать сценарий, который хотите выполнить - здесь вы должны использовать общий путь, а не локальный!
  • во время тестирования также обратите внимание, что объект групповой политики сохраняется после его закрытия. Поэтому, если вы измените его и не закроете объект, изменения не повлияют!