PowerShell SqlModule поврежден - PullRequest
0 голосов
/ 04 мая 2018

Я установил SqlServer по расписанию с командой Install-Module -Name SqlServer -Repository PSGallery -Verbose. PS говорит, что это было успешно.

Но когда я запускаю import-module, я вижу только 3 элемента, импортированных из этого модуля:

PS >import-module sqlserver -erroraction stop -verbose
VERBOSE: Loading module from path 'C:\Program 
Files\WindowsPowerShell\Modules\sqlserver\21.0.17240\sqlserver.psd1'.
VERBOSE: Populating RepositorySourceLocation property for module sqlserver.
VERBOSE: Loading module from path 'C:\Program 
Files\WindowsPowerShell\Modules\sqlserver\21.0.17240\SqlServer.psm1'.
VERBOSE: Exporting function 'SQLSERVER:'.
VERBOSE: Exporting alias 'Encode-SqlName'.
VERBOSE: Exporting alias 'Decode-SqlName'.
VERBOSE: Importing function 'SQLSERVER:'.
VERBOSE: Importing alias 'Decode-SqlName'.
VERBOSE: Importing alias 'Encode-SqlName'.

Вопрос: как получить все команды (например, Invoike-Sqlcmd и другие) из SqlServer, работающие?

PS Версия

Name                           Value                                                                                                                                                                                                 
----                           -----                                                                                                                                                                                                 
PSVersion                      5.1.16299.251                                                                                                                                                                                         
PSEdition                      Desktop                                                                                                                                                                                               
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                                                                               
BuildVersion                   10.0.16299.251                                                                                                                                                                                        
CLRVersion                     4.0.30319.42000                                                                                                                                                                                       
WSManStackVersion              3.0                                                                                                                                                                                                   
PSRemotingProtocolVersion      2.3                                                                                                                                                                                                   
SerializationVersion           1.1.0.1                                                                                                                                                                                               

UPDATE:

Запуск Get-Command -Module SqlServer | Measure дает даже после принудительной переустановки с Install-Module SqlServer -Force:

PS H:\> Get-Command -Module SqlServer | Measure

Count    : 3
Average  :
Sum      :
Maximum  :
Minimum  :
Property :

Проверен журнал событий. Найдена куча Information записей при импорте модуля SqlServer следующим образом:

Context Information: 
    DetailSequence=1
    DetailTotal=1

    SequenceNumber=17

    UserId=DOMAIN/User
    HostName=ConsoleHost
    HostVersion=5.1.16299.251
    HostId=GUID
    HostApplication=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    EngineVersion=5.1.16299.251
    RunspaceId=GUID
    PipelineId=6
    ScriptName=C:\Program Files\WindowsPowerShell\Modules\SqlServer\21.0.17240\SqlServer.psm1
    CommandLine=        Add-Type -Path $binaryPath


Details: 
CommandInvocation(Add-Type): "Add-Type"
ParameterBinding(Add-Type): name="Path"; value="C:\Program Files\WindowsPowerShell\Modules\SqlServer\21.0.17240\Microsoft.SqlServer.Dmf.dll"

1 Ответ

0 голосов
/ 07 мая 2018

Хм. Хорошо, сделай это ...

  1. Найдите все ваши различные папки модуля - вы можете использовать следующее для этого:

    $ ENV: PSModulePath.Split ( ';')

  2. Удаление папки «sqlserver» из каждого каталога, если он существует.

  3. Повторно импортировать модуль.

    Install-Module -Name SqlServer -AllowClobber

Шаги-1 и -2 убедитесь, что нигде не скрыты искажения SqlServer. Шаг-3 дает нам новый импульс модуля.

Единственное, о чем я могу думать. Может быть, где-то установлен искаженный модуль. Он не перезаписывается при переустановке, но случайно загружается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...