4

私はPSを初めて使用するため、一部の用語が間違っている可能性があります。

30人の開発者/DBAのチームにカスタムPowerShell環境(スナップイン)を展開する場合。これを行うための最良の方法は何ですか...週に1回新しい機能を展開する予定がある場合はどうなりますか?PowerShell 2.0はこの点で役立ちますか?

前提:
PowerShell(v1またはv2)をインストールするチームの全員に問題はありません

更新:以下のv2に関するJeffreySnoverの回答も参照してください。

4

3 に答える 3

4

それはあなたがしようとしている機能の変更の種類にある程度依存します。私たちの環境では、かなり標準的なPSインストールを展開してから、サーバー上の共有フォルダーからスクリプトを実行するために、全員のプロファイルに1行を追加します。次に、そのスクリプトで、すべての人に適用したいカスタマイズを行うことができます。

マシン固有のMSプロファイル(%Windir%のプロファイル)に行を追加します。これは意図的な選択でした。これは、ユーザーが基本的に本番ボックスでのみ取得できるようにするためです。そうすれば、何かを書くときに、テストボックスにすばやくログインしてスクリプトを実行し、これらのカスタマイズに依存することなくスクリプトが展開されることを確認できます。

現在、カスタマイズはかなりありふれたものです。ほとんどの場合、追加された関数とエイリアスがいくつかあります。また、PowerShell専用にC#で記述したロガーがあるため、同じネットワークフォルダーにある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)
于 2009-02-09T16:00:47.533 に答える
4

これが、PowerShell V2 に MODULE サポートを追加した理由です。これは、関数のセットを xcopy デプロイする最も簡単なメカニズムです。モジュールのドキュメントは、現時点ではかなり軽いですが、1 ~ 2 か月でさらに良くなるはずです。

実験!楽しみ!従事!

Jeffrey Snover [MSFT] Windows 管理パートナー アーキテクト

于 2009-02-22T00:40:04.313 に答える
1

スナップインの新しいバージョンを毎週展開している場合、バージョンを切り替えてもおそらくその部分は役に立ちません。ただし、新しいプラットフォームで開発することになり、それに伴う拡張機能の利点が得られます。

すでに示唆されているように、いくつかのスクリプトは、それらのスクリプトを正しく維持し、新しいビルドを作成し続けること以外に何もしなくてよいという点まで、展開の苦痛を和らげることができます。

于 2009-02-09T16:14:17.940 に答える