【发布时间】:2018-11-02 17:51:49
【问题描述】:
我正在尝试在 C# 中的 Powershell 中执行 SQL 查询。我已经通过 ActiveDirectory cmdlet 成功地做到了这一点,并希望更进一步。
我的第一个问题是,虽然以下格式适用于 ActiveDirectory(和 ISE),但它在 C# 中失败:
using (PowerShell pS = PowerShell.Create())
{
pS.AddCommand("import-module");
pS.AddArgument("sqlps");
pS.Invoke();
}
我早就将安全设置为无限制,但我得到的错误是:
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,它不会显示任何内容。
这是怎么回事?
【问题讨论】:
标签: c# powershell sqlps