是否可以在 Windows 10 上同时安装 SQLPS 和 SqlServer PowerShell 模块?

lit*_*lit 6 sql-server powershell

C:>$PSVersionTable.PSVersion.ToString() 5.1.18362.145

当我使用时Install-Module -Name SqlServer,它报告:

C:>Install-Module -Name SqlServer
PackageManagement\Install-Package : The following commands are already available on this system:'Decode-SqlName,Encode-SqlName,SQLSERVER:,Add-SqlAvailabilityData
base,Add-SqlAvailabilityGroupListenerStaticIp,Add-SqlFirewallRule,Backup-SqlDatabase,ConvertFrom-EncodedSqlName,ConvertTo-EncodedSqlName,Convert-UrnToPath,Disabl
e-SqlAlwaysOn,Enable-SqlAlwaysOn,Get-SqlCredential,Get-SqlDatabase,Get-SqlInstance,Get-SqlSmartAdmin,Invoke-PolicyEvaluation,Invoke-Sqlcmd,Join-SqlAvailabilityGr
Run Code Online (Sandbox Code Playgroud)

是的,这些似乎来自 SQLPS 模块。是否不可能有两 (2) 个模块具有相同的导出名称?

更新:

好的,-AllowClobber 确实避免了错误消息。但现在我似乎可以从 和 获取SqlServer命令SQLPS

C:>获取命令-Sql

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           Decode-SqlName                                     21.1.18121 SqlServer
Alias           Decode-SqlName                                     14.0       SQLPS
Alias           Encode-SqlName                                     21.1.18121 SqlServer
Alias           Encode-SqlName                                     14.0       SQLPS
Cmdlet          Add-SqlAvailabilityDatabase                        21.1.18121 SqlServer
Cmdlet          Add-SqlAvailabilityDatabase                        14.0       SQLPS
Run Code Online (Sandbox Code Playgroud)

但是,Get-Command以不同的方式使用,仅显示来自SqlServer模块的命令。

C:>Get-Command Get-Sqli*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-SqlInstance                                    21.1.18121 SqlServer
Cmdlet          Get-SqlInstance                                    14.0       SQLPS


C:>Get-Command Get-SqlInstance

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-SqlInstance                                    21.1.18121 SqlServer
Run Code Online (Sandbox Code Playgroud)

Dav*_*oft 2

你可以:

Install-Module ... -AllowClobber
Run Code Online (Sandbox Code Playgroud)

要覆盖此错误,可能与

-Scope CurrentUser
Run Code Online (Sandbox Code Playgroud)

仅为单个用户安装。

或者您可以安装 Powershell Core为其他模块创建单独的 powershell 环境。