3

Я пытаюсь использовать модуль 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 ответ1

3

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .