Sql server 导入模块:指定的模块';SqlServer';未加载,因为在任何模块目录中找不到有效的模块文件

Sql server 导入模块:指定的模块';SqlServer';未加载,因为在任何模块目录中找不到有效的模块文件,sql-server,powershell,module,Sql Server,Powershell,Module,你好 我正在编写一个脚本来获取Sql作业历史记录,需要使用“SqlServer”模块。它已安装,但由于上面的错误消息,我无法导入它。当我到达模块路径时,文件夹“SqlServer”存在并且不是空的。别把问题放在这里 提前谢谢 我刚刚在SQL Server 2017(Windows Server 2016)上遇到了这个问题,并在过程中发现了您的问题。然后,我启动了我们较旧的SQL Server 2014(Windows Server 2012)计算机,发现了同样的问题。这里有几个选项,每个人都可以

你好

我正在编写一个脚本来获取Sql作业历史记录,需要使用“SqlServer”模块。它已安装,但由于上面的错误消息,我无法导入它。当我到达模块路径时,文件夹“SqlServer”存在并且不是空的。别把问题放在这里


提前谢谢

我刚刚在SQL Server 2017(Windows Server 2016)上遇到了这个问题,并在过程中发现了您的问题。然后,我启动了我们较旧的SQL Server 2014(Windows Server 2012)计算机,发现了同样的问题。这里有几个选项,每个人都可以尝试节省一些时间(因为我意识到这个问题有点老了,我假设OP已经找到了解决方案):

1)在powershell命令运行时:
安装模块-名称SqlServer
(您可能需要-AllowClobber参数)

这里的问题是,模块安装到2012和2016服务器上的以下路径:

C:\Program Files\WindowsPowerShell\Modules\SqlServer(而不是Microsoft SQL
服务器\120\Tools\PowerShell\Modules)

2)另一个选项是通过更改脚本来尝试
SQLPS
模块:

导入模块-名称SqlServer

致:

导入模块-名称SQLPS

您将在Microsoft SQL Server目录结构中找到
SQLPS
,如下所示:

C:\Program Files (x86)\Microsoft SQL Server\120\Tools\PowerShell\Modules
我的脚本现在可以与这两个SQL模块一起使用,但在这一点上,使用SQLPS的输出实际上看起来更好


您是否将它实际查找的文件与文件夹中的文件进行了比较?另外,检查确切的路径,确保那里没有额外的\或类似的内容。是的,已经检查了$env:PSModulePath变量。在那里什么也没找到。还第二次添加了路径,以确保它将通过此文件夹。还是不行。如何检查它正在查找的文件?我的意思是,它没有在错误消息中显示文件名,因此如何知道powershell正在查找哪个文件?powershell/sql/operating system的哪个版本?PSVersion 5.0.10586.117;Microsoft SQL Server Management Studio 12.0.5571.0;SQL Server 2014;操作系统服务器2012