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:> get-команда -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