私はかなりの数の解決策を見てきましたが、私の問題に対処するものはありません。「DSInternals」というカスタム PowerShell モジュールを C# DLL にインポートしようとしています。
https://github.com/MichaelGrafnetter/DSInternals
私のコードはすべて問題ないように見えますが、利用可能なモジュールを取得しようとすると、モジュールがロードされません。
ストリームは次のように応答します
「Get-ADReplAccount」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから再試行してください。
このコードのどこが間違っているのでしょうか?
InitialSessionState init = InitialSessionState.CreateDefault();
init.ImportPSModule(new string[] { @"D:\\DSInternals\\dsinternals.psd1" }); //location of the module files
Runspace runspace = RunspaceFactory.CreateRunspace(init);
runspace.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
ps.Commands.AddCommand("Get-ADReplAccount"); //this command is un-recognized
foreach (PSObject result in ps.Invoke())
{
Console.WriteLine(result); //this always returns null
}