C# 内の Powershell 内から SQL クエリを実行しようとしています。私は ActiveDirectory コマンドレットを使用してこれを行うことに成功しており、さらに一歩進めたいと考えていました。
私の最初の問題は、次の形式が ActiveDirectory (および ISE) で動作する一方で、C# では失敗することです。
using (PowerShell pS = PowerShell.Create())
{
pS.AddCommand("import-module");
pS.AddArgument("sqlps");
pS.Invoke();
}
セキュリティを Unrestricted に設定してからずっと経ちましたが、次のようなエラーが表示されます。
CmdletInvocationException が処理されませんでした
このシステムではスクリプトの実行が無効になっているため、ファイル C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\sqlps\Sqlps.ps1 を読み込めません。詳細については、 http: //go.microsoft.com/fwlink/ ?LinkID=135170 で about_Execution_Policies を参照してください。
ただし、このように実行するとエラーは発生しませんが、後で「Get-Module -all」を呼び出してもモジュールの兆候は示されません。
using (PowerShell pS = PowerShell.Create())
{
pS.AddScript("Import-Module sqlps");
pS.Invoke();
}
その後、ActiveDirectory モジュールをインポートして Get-Module を呼び出しても、何も表示されません。
何が起きてる?