我安装了SQL Server 2012的(非常干净的)Windows Server 2008 R2 Build。我遇到了PowerShell(第3版)的问题。
我正在尝试使用Invoke-Sqlcmd cmdlet。然而,当我打电话给它时,我收到一条消息说“Invoke-Sqlcmd'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。
如果我运行Import-Module SqlPs -Verbose -Force(绕过安全策略),它会起作用。然而,只要标签打开,它就会持续。如果我打开一个新选项卡,尝试运行另一个脚本或重新打开Powershell ISE我必须重新导入该模块。
为什么会发生这种情况?
答案 0 :(得分:1)
这更像是一种解决方法,但您可以将其添加到您的个人资料中。
"'Import-Module SqlPs -Verbose -Force'" > $profile
显然,如果您之前有一个配置文件,您不希望这样做,而是打开它并通过记事本或类似方式添加它。
另请注意,Powershell和PowershellISE具有不同的配置文件,因此如果您混合使用,则需要将它们添加到两者中。
答案 1 :(得分:0)
根据我的理解,模块加载是基于每个会话完成的。所以你所看到的行为就是所期待的。