Недавно я присоединился к команде Windows на своем предприятии и, имея опыт работы с разработчиками (Java, .NET и Web в целом), довольно быстро заинтересовался PowerShell. Я вижу его значение по сравнению с простыми старыми пакетными файлами, VB, ... вот почему я хотел бы продвигать его использование и постепенно подталкивать людей отдавать предпочтение его остальным, если нет причин не делать этого.
Развертывание PowerShell кажется довольно простым, поскольку мы можем легко утвердить соответствующие исправления в WSUS и настроить политику выполнения через GPO для интегрированных серверов AD.
На самом деле мои вопросы касаются распространения и использования модулей PowerShell и PowerShell (например, PCSX, PowerShellPack, home made, ...).
Для тех из вас, кто уже развернул PowerShell на своем предприятии:
Есть ли у вас какой-то стандартный пакет для PowerShell с набором модулей, которые вы развертываете на каждом сервере? Если да, то как развернуть новые версии установленных модулей?
Вы разместили центральный репозиторий PowerShell, где хранятся все ваши модули PowerShell? Если да, доступен ли этот репозиторий глобально или вы также вторичные репозитории, которые вы синхронизируете?
Я довольно привык к таким инструментам, как Maven, Ivy и другим программам управления зависимостями, поэтому я немного разочарован тем, что PowerShell может предложить в этом отношении.
Я нашел очень хорошую статью на эту тему и, вероятно, пойдет по тому же пути, что и соответствует моим требованиям.
Вы используете WinRM? Вы подключаетесь напрямую с рабочих станций или у вас есть центральные серверы управления? Вы ограничивали доступ к WinRM для этих серверов управления?
Используете ли вы WinRM в неуправляемой среде (серверы не в домене AD)? Как вы настраиваете WinRM?
У нас есть сетевая зона, в которой серверы не являются частью домена AD, поэтому я не могу полагаться на аутентификацию Kerberos для WinRM.
Во всем мире, каков ваш опыт, довольны ли вы результатами?
Edit:
Что касается вопроса 2, мы решили создать центральное хранилище.
Идея будет состоять в том, чтобы иметь основной репозиторий, который будет находиться под контролем версий (GIT) и к которому мы будем единственными, кто будет иметь доступ для записи.
Из этого репозитория мы будем копировать модули, используя rsync-подобный инструмент (в нашем случае это будет robocopy), в другие вторичные репозитории (которые будут только для чтения). Клиентам будут доступны только эти репозитории (нам просто нужно обновить PSModulePath на этих клиентах, чтобы они могли получить доступ к репозиторию).
Мы также подготовим наши выпуски, поэтому в репозитории будет доступно несколько версий: Разработка, Интеграция и Производство.