Как продвигать настройку профиля PowerShell в масштабах предприятия? - PullRequest
2 голосов
/ 31 марта 2011

Как я объяснил в моем другом вопросе , я занят установкой репозитория модулей PowerShell на своем предприятии.

Я планирую создать главный репозиторий (r /w доступ к ограниченной группе людей) и подчиненные репозитории (доступ только для чтения для всех).Мне нужно несколько репозиториев, потому что клиенты находятся в разных зонах безопасности, и я не могу иметь центральное местоположение, доступное для всех клиентов.

По этой причине мне нужно настроить профиль клиентов PowerShell, чтобы они моглиукажите правильный репозиторий, чтобы найти модули.Для этой цели я хотел бы определить переменную среды $ PowerShellRepositoryPath.

Кроме того, профиль необходимо настроить, чтобы он мог выполнить сценарий, расположенный в хранилище (таким образом, на который указывает $ PowerShellRepositoryPath), когда PowerShellзапускается (моя цель здесь - автоматически добавлять последние версии модулей в PSModulePath клиентов при запуске).

У нас смешанная среда с членами домена и автономными серверами в разных сетевых зонах.

Как бы вы поступили?Можно ли передать эту переменную и профиль через объект групповой политики для членов домена?Будет ли вариант настройки переменной $ Profile через GPO?

А как насчет автономных серверов?

Редактировать: Я думаю, что для создания переменной среды я просто буду использовать объект групповой политики для ее создания и использовать его в PowerShell через $env:variableName.В ситуациях, не связанных с доменом, мне, вероятно, придется использовать скрипт ..

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

Ну, если вы собираетесь изменить путь к модулям, в хранилище будет файл (скажем, current.txt) с именем текущего модуля (или текущего пути к файлу, в зависимости от того, что вы меняете). ) в этом. Затем попросите скрипт $ profile прочитать содержимое этого файла и установить переменную на основе содержимого. Таким образом, вам не нужно облажаться при обновлении скриптов профиля, просто обновите файл current.txt центрального репозитория, указав путь (или частичный путь, часть, которая изменяется, или имя файла или что-то еще), и когда он реплицируется на клиентские репозитории, все профили powershell обновляются последними модулями при выполнении сценария профиля.

Из любопытства почему бы просто не перезаписать файлы модуля в клиентских репозиториях последней версией? Если бы вы сделали это таким образом, все клиенты всегда имели бы самые последние версии, и вам не пришлось бы обновлять сценарии $ profile.

В качестве альтернативы вы всегда можете написать другой скрипт для замены скрипта $ profile на всех машинах. Я думаю, что первый предложенный мной маршрут - это самый чистый способ сделать то, что вы делаете.

Что касается GPO, я не верю, что вы можете сделать это. Не определен объект групповой политики для управления содержимым сценария профиля. Я бы сказал, что вы могли бы сделать это с помощью специального файла ADM, но путь к сценарию профиля не контролируется реестром, поэтому не стоит идти туда.

1 голос
/ 31 марта 2011

Я не уверен, что нужно пускать $ profile через GPO.Но я бы просто поместил скрипт входа в систему, который копирует скрипт профиля из сетевого расположения на основе членства пользователя в группе / безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...