Модуль PowerShell SqlServer импортирует только функции и псевдонимы, но не командлеты

Я пытаюсь использовать модуль 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, которые я решил ранее (эта машина не присоединена к домену).

Как, черт возьми, я могу решить эту проблему?

1 ответ

Решение

Источником проблемы является неправильная установка.Net 4.7.2, которая иногда происходит при установке 1803 Windows 10 Update.

Единственный способ, который мне удалось решить, - это установить Windows 10 Repair Install. Это переустанавливает все основные файлы ОС и конфигурации, но не удаляет ваши Приложения или данные. Но вы все равно должны сделать резервную копию важных документов, прежде чем делать это.

Другие нашли успех с:

Возможно, вы захотите попробовать эти шаги, прежде чем делать ремонтную установку Windows. Они не работают для моей ситуации.

Другие вопросы по тегам