1
PowerShell スナップインがインストールされているかどうかを知ることができる方法があるかどうかを知りたいと思います。どのPowerShellスナップインがインストールされているかをプログラムで判断する方法
私はWMIやPowerShellスクリプトを書いてC#にリストを返すなどと言ってもいいでしょうが、どこかで行う方法があります。
ありがとうございました。
PowerShell スナップインがインストールされているかどうかを知ることができる方法があるかどうかを知りたいと思います。どのPowerShellスナップインがインストールされているかをプログラムで判断する方法
私はWMIやPowerShellスクリプトを書いてC#にリストを返すなどと言ってもいいでしょうが、どこかで行う方法があります。
ありがとうございました。
私は、これはそれを行うための最適な方法であるのかはわからないが、実行空間の構成例えば、デフォルトを見てみましょう:
手そうYMMVでコンパイルusing System.Linq;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
var cmdlets = Runspace.DefaultRunspace.RunspaceConfiguration.Cmdlets;
var snapins = (from cmdlet in cmdlets
select new { cmdlet.PSSnapin.Name }).Distinct();
。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns
それとも、C#コードからGet-PSSnapin -Registered
を呼び出し、返されたPSSnapInInfoオブジェクトを処理することができます:
は、このレジストリキーの内容を列挙し、代わりにロードされたの、SNAPINSがインストールされている参照してください。
こんにちはキース、 私はそれをテストします。おかげさまで ボブ。 –
キース、残念ながらそれは動作しません。このスクリプトは、固定されていると、ランスペースを開いたときにランスペースにロードされている現在のスパンのみを表示します。 PowerShellの一部であるものを効果的にインストールします。 努力をいただきありがとうございます。 ボブ。 –
ああ、その場合は、regkeyの内容を列挙するだけです。HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ PowerShellSnapIns –