質問
Add-Type
新しい.NETタイプ1としてC#、VB、JavaScript、dllなどのプログラミング言語の追加をサポートしており、拡張性が非常に高いです。
ただし、型は削除できず、同じセッション ウィンドウにロードされると、操作を繰り返しても、 .NETAdd-Type
型が既に存在するというエラーがスローされるだけであることに注意してください。
解決
StackOverflow
質問2のx0nの回答を参照すると、ロードされた型はセッションが閉じられるまで登録解除されません。Charlie KilianとStart-Automating は、この型を巧みに使用してJob
追加のスレッドを開始し、新しい型を使用して実行終了後に自動的にログアウトします。コードは以下のように表示されます:
Start-Job -ScriptBlock {
Add-Type -path 'my.dll'
$myObj = New-Object My.MyTestClassName
$result = $myObj.TestMethod
$result
} | Receive-Job -Wait -AutoRemoveJob