最近、社内の Windows チームに参加し、開発者としてのバックグラウンド (Java、.NET、Web 全般) を持っていたため、すぐに PowerShell に興味を持ちました。単純な古いバッチ ファイルや VB よりも価値があることがわかります。そのため、私はその使用を促進し、そうしない理由がない限り、少しずつ他のものよりも優先するよう人々に働きかけたいと考えています。
WSUS で関連するパッチを簡単に承認し、AD 統合サーバーの GPO を介して実行ポリシーを構成できるため、PowerShell の展開は非常に簡単に思えます。
実際、私の質問は、PowerShell および PowerShell モジュール (例: PCSX、PowerShellPack、自家製など) の配布と使用に関するものです。
社内に PowerShell を既に展開している場合:
各サーバーに展開する一連のモジュールを含む PowerShell 用の標準パッケージはありますか? その場合、インストールされたモジュールの新しいバージョンをどのようにデプロイしますか?
すべての PowerShell モジュールを格納する中央の PowerShell リポジトリを配置しましたか? もしそうなら、そのリポジトリはグローバルにアクセスできますか、それとも同期するセカンダリ リポジトリもありますか?
私は Maven、Ivy、およびその他の依存関係管理ソフトウェアなどのツールにかなり慣れているため、この点で PowerShell が提供するものには少しがっかりしています。
このテーマについて非常に優れた記事を見つけました。私の要件に対応しているため、おそらく同じ道をたどることになるでしょう。
WinRM を使用していますか? ワークステーションから直接接続していますか、それとも中央管理サーバーを持っていますか? WinRM へのアクセスをそれらの管理サーバーに制限しましたか?
管理されていない環境 (AD ドメインにないサーバー) で WinRM を使用していますか? WinRM をどのように構成しますか?
サーバーが AD ドメインの一部ではないネットワーク ゾーンがあるため、WinRM の Kerberos 認証に頼ることはできません。
全体的に、あなたの経験は何ですか、結果に満足していますか?
編集: 質問 2 に関しては、中央リポジトリを配置することにしました。
アイデアは、バージョン管理 (GIT) の下にあり、私たちだけが書き込みアクセスできるメイン リポジトリを持つことです。
そのリポジトリから、rsync のようなツール (この場合は robocopy) を使用してモジュールを他のセカンダリ リポジトリ (読み取り専用コピー) にコピーします。クライアントがアクセスできるのは、これらのリポジトリのみです (これらのクライアントで PSModulePath を更新して、リポジトリにアクセスできることを確認する必要があります)。
また、リリースを段階的に行うため、リポジトリには、開発、統合、および運用の複数のバージョンが利用可能になります。