Powershell SqlPs模块无法正确导入

时间:2016-02-19 09:45:43

标签: sql-server powershell import-module invoke-sqlcmd

我安装了SQL Server 2012的(非常干净的)Windows Server 2008 R2 Build。我遇到了PowerShell(第3版)的问题。

我正在尝试使用Invoke-Sqlcmd cmdlet。然而,当我打电话给它时,我收到一条消息说“Invoke-Sqlcmd'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。

如果我运行Import-Module SqlPs -Verbose -Force(绕过安全策略),它会起作用。然而,只要标签打开,它就会持续。如果我打开一个新选项卡,尝试运行另一个脚本或重新打开Powershell ISE我必须重新导入该模块。

为什么会发生这种情况?

2 个答案:

答案 0 :(得分:1)

这更像是一种解决方法,但您可以将其添加到您的个人资料中。

"'Import-Module SqlPs -Verbose -Force'" > $profile

显然,如果您之前有一个配置文件,您不希望这样做,而是打开它并通过记事本或类似方式添加它。

另请注意,Powershell和PowershellISE具有不同的配置文件,因此如果您混合使用,则需要将它们添加到两者中。

答案 1 :(得分:0)

根据我的理解,模块加载是基于每个会话完成的。所以你所看到的行为就是所期待的。