PowerShell - распределенное решение - PullRequest
4 голосов
/ 09 февраля 2009

Я новичок в PS, поэтому я могу неправильно понять некоторые термины.

Если вы хотите развернуть пользовательскую среду PowerShell (оснастку) для команды из 30 разработчиков / администраторов баз данных. Как лучше всего это сделать ... если вы собираетесь внедрять новые функции раз в неделю? Помогает ли PowerShell 2.0 в этом отношении?

Предположение:
В команде нет проблем с установкой PowerShell (v1 или v2)

Обновление : Также см. Ответ Джеффри Сновера о v2 ниже.

Ответы [ 3 ]

4 голосов
/ 22 февраля 2009

Вот почему мы добавили поддержку MODULE в PowerShell V2 - это самый простой механизм развертывания наборов функций xcopy. На данный момент документация по модулю довольно легкая, но через месяц или два она станет намного лучше.

Эксперимент! Наслаждайтесь! Engage!

Джеффри Сновер [MSFT] Архитектор Windows Management Partner

4 голосов
/ 09 февраля 2009

В определенной степени это будет зависеть от того, какие функциональные изменения вы намерены сделать. Для нашей среды мы запускаем довольно стандартную установку PS, а затем добавляем одну строку в профиль каждого, чтобы запустить скрипт из общей папки на сервере. Затем в этом сценарии я могу выполнить любую настройку, которую хочу применить ко всем.

Мы добавляем строку в профиль MS для конкретной машины (в% Windir%), это был намеренный выбор. Мы делаем это таким образом, чтобы пользователи по существу получали это только на своих производственных коробках. Таким образом, когда они что-то пишут, они могут быстро войти в тестовую коробку и запустить скрипт, чтобы убедиться, что скрипт будет развернут без каких-либо зависимостей от этих настроек.

В настоящее время настройки довольно обыденны. В основном только некоторые добавленные функции и псевдонимы. У меня также есть регистратор, который я написал в C # специально для powershell, поэтому он загружает его из библиотеки DLL, которая находится в той же сетевой папке.

Поскольку я так много играю со своим окружением, у меня есть это в моем профиле:)

$ProfileDir = ([System.IO.Directory]::GetParent($profile)).FullName
$localMSProfile = "$PShome\Microsoft.Powershell_profile.ps1"
$localAllProfile = "$PShome\profile.ps1"
$userAllProfile = "$ProfileDir\profile.ps1"
$userMSProfile = "$ProfileDir\Microsoft.Powershell_profile.ps1"
$allProfiles = ($localAllProfile, $localMSProfile, $userAllProfile, $userMSProfile)
1 голос
/ 09 февраля 2009

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

Как уже предлагалось, некоторые сценарии могут облегчить развертывание до такой степени, что вам не нужно ничего делать, кроме как правильно поддерживать эти сценарии и продолжать создавать новые сборки.

...