Powershell から .NET コンポーネントにアクセスする
-
09-06-2019 - |
質問
Powershell を使用していくつかのユーティリティを作成し、独自の .NET コンポーネントを活用して実際の作業を処理したいと考えています。これは、呼び出しを結び付ける小さなコンソール アプリを作成する代わりに使用します。私の質問は、これを迅速に進めるのに役立つドキュメントやチュートリアル資料の適切なソースをどこで見つけられるかということです。
解決
アセンブリを PowerShell セッションに読み込む場合は、リフレクションを使用してアセンブリを読み込むことができます。
[void][System.Reflection.Assembly]::LoadFrom(PathToYourAssembly)
アセンブリを読み込んだ後、静的メソッドを呼び出して、クラスの新しいインスタンスを作成できます。
良いチュートリアルが見つかります ここ.
EBGreen で紹介されている本はどちらも素晴らしいです。PowerShell Cookbook は非常にタスク指向であり、PowerShell in Action は言語、その焦点、使いやすさについて詳しく説明しています。『PowerShell in Action』は私のお気に入りの本の 1 つです。:)
他のヒント
Steven が投稿したリンクはその良い例です。広範なチュートリアルを知りません。どちらも Windows Powershell クックブック そして Windows Powershell の動作 このテーマに関する良い章がある。また、社内アセンブリが GAC に読み込まれていない場合に備えて、System.Reflection.Assembly クラスの ::LoadFromFile メソッドを確認してください。
使用できます []
または使用します add-type -AssemblyName "System.example"
たとえばアセンブリを使用するには、次を使用します。
[system.drawing]::class ...