PowerShell 内网不能直接安装SqlServer模块的处理办法
首先先将sqlserver.nupkg下载到本地,我是放到了C:\windows\system32目录下。
PowerShell Gallery
NuGet 包是一个 ZIP 存档,其中的额外文件包含有关包内容的信息。 某些浏览器(如 Internet Explorer)会自动将 .nupkg 文件扩展名替换为 .zip。 要展开包,请根据需要将 .nupkg 文件重命名为 .zip,然后将内容提取到本地文件夹。
再将sqlserver.nupkg的扩展名更改为.zip格式。为什么要这么做呢,原因是expand-archive仅支持.zip格式。解压代码如下:
Expand-Archive -Path 'C:\Windows\System32\sqlserver.zip' -DestinationPath 'C:\Windows\System32'
解压缩执行过程如下截图:
解压缩后,会有多个文件。
因为我们目录都设在c:\windows\system32下面,所以,解压后,还要import:
Import-Module -Name 'C:\Windows\System32\SqlServer'
最后执行验证,请get-module指令:
Get-Module -Name sqlserver
验证sqlserver已经安装成功:
这里需要特别注意的是,在代码中使用import-module sqlserver
如果有报错,可以更改为如下方式导入:
# 导入 SQL Server 模块
Import-Module -Name 'C:\Windows\System32\sqlserver'
小技巧:
取消阻止 Internet 下载的 NuGet 包 (.nupkg) 文件,可以使用:
Unblock-File -Path C:\Downloads\module.nupkg cmdlet