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
是的,这些似乎来自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
但是,以不同的方式使用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
答案 0 :(得分:0)
您可以:
Install-Module ... -AllowClobber
要覆盖此错误,可能与
结合使用-Scope CurrentUser
仅用于单个用户安装。
或者您可以install Powershell Core为其他模块创建单独的Powershell环境。