Я пытаюсь использовать модуль SqlServer PowerShell, доступный в галерее PowerShell.
После установки либо в -Scope CurrentUser
либо в сеансе администратора выполнение Import-Module SqlServer
приводит к тому, что в сеанс импортируются только три команды:
PS C:\Users\nreiling> Get-Command -Module SqlServer
CommandType Name Version Source
----------- ---- ------- ------
Alias Decode-SqlName 21.0.17262 sqlserver
Alias Encode-SqlName 21.0.17262 sqlserver
Function SQLSERVER: 21.0.17262 sqlserver
Это несмотря на то, что делает (Get-Module -Name SqlServer -ListAvailable)[0].ExportedCommands.Values
перечисляют все команды, которые должны быть включены:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Add-RoleMember 21.0.17262 SqlServer
Cmdlet Add-SqlAvailabilityDatabase 21.0.17262 SqlServer
Cmdlet Add-SqlAvailabilityGroupListenerStaticIp 21.0.17262 SqlServer
Cmdlet Add-SqlAzureAuthenticationContext 21.0.17262 SqlServer
Cmdlet Add-SqlColumnEncryptionKeyValue 21.0.17262 SqlServer
Cmdlet Add-SqlFirewallRule 21.0.17262 SqlServer
Cmdlet Add-SqlLogin 21.0.17262 SqlServer
Cmdlet Backup-ASDatabase 21.0.17262 SqlServer
Cmdlet Backup-SqlDatabase 21.0.17262 SqlServer
...
Cmdlet Test-SqlSmartAdmin 21.0.17262 SqlServer
Cmdlet Write-SqlTableData 21.0.17262 SqlServer
Function SQLSERVER: 21.0.17262 SqlServer
Alias Decode-SqlName 21.0.17262 SqlServer
Alias Encode-SqlName 21.0.17262 SqlServer
Я попытался установить более старую версию модуля SqlServer, а также попробовал другую учетную запись пользователя на моем компьютере. Множество перезагрузок, новых сессий PS и т.д. Запуск Import-Module
в режиме verbose/debug не выдает никаких ошибок, он просто импортирует только функцию и псевдонимы; ни один из командлетов. Проблемным фактором, похоже, является именно эта система Windows, то есть Windows 10 Pro 1803.
Стоит также отметить, что я пытаюсь использовать этот модуль только потому, что модуль sqlps, который поставляется вместе с SQL Server Management Studio, перестал работать на этом компьютере. Я не знаю, почему это было так; моё предположение касалось обновления Windows или SSMS, но чтобы добраться до точки, где, по крайней мере, модуль SqlServer устанавливается без ошибок и предупреждений о клобберинге, я удалил этот модуль из моего $ PSModulePath. Еще одна вещь, которая, казалось бы, сломалась одновременно, заключалась в том, что мой список доверенных хостов WSMan был сброшен (пустым), что вызвало проблемы с удаленным удалением PowerShell, которые я решил ранее (эта машина не присоединена к домену).
Как, черт возьми, я могу решить эту проблему?