4

PowerShell と C# を使用して Windows Server 2012 システムに新しい機能をインストールしようとしています。Install-WindowsFeatureコマンドレットを呼び出そうとすると、次のエラーが返されます。

「Install-WindowsFeature」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません...

C# を使用して他のコマンドレットを呼び出すことができ、他の新しいコマンドレットもいくつか呼び出すことができます。とGet-CommandInstall-WindowsFeature、はリストされていませんがRemove-WindowsFeatureGet-WindowsFeatures他に約 980 あります。

C# プログラムからこのコマンドレットを呼び出すことができないのに、PowerShell に移動すると問題なく呼び出されるのはなぜですか?

runspace = RunspaceFactory.CreateRunspace();
runspace.Open();

Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript("Install-WindowsFeature");
Collection<PSObject> output = pipeline.Invoke();
4

2 に答える 2

1

コードで Install-WindowsFeature の代わりに次のコマンドを試してください。

Invoke-Expression "Powershell -Command {Import-Module ServerManager ; Install-WindowsFeature XXXX}"

于 2012-10-29T02:31:20.837 に答える
1

x64でコンパイルしてみてください。Visual Studio で、メニューの [プロジェクト] → [プロパティ] → [ビルド] - [プラットフォーム ターゲット= x64] に移動します。

于 2014-03-27T22:20:02.570 に答える