0

我有一个安装了 SQL Server 2012 的(非常干净的)Windows Server 2008 R2 Build。我在使用 PowerShell(版本 3)时遇到问题。

我正在尝试使用 Invoke-Sqlcmd cmdlet。但是,当我调用 get it 时,我收到一条消息,指出“Invoke-Sqlcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。

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

任何想法为什么会发生这种情况?

4

2 回答 2

1

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

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

显然,如果您有以前的配置文件,您不想那样做,而是打开它并通过记事本或类似工具添加它。

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

于 2016-02-19T18:57:36.783 回答
0

据我了解,模块加载是在每个会话的基础上完成的。所以你看到的行为是预期的。

于 2016-02-19T16:54:38.377 回答