Модуль Powershell SqlPs не импортируется должным образом

У меня есть (почти чистая) сборка Windows Server 2008 R2 с установленным SQL Server 2012. У меня проблема с PowerShell (версия 3).

Я пытаюсь использовать командлет Invoke-Sqlcmd. Однако, когда я вызываю get it, я получаю сообщение о том, что «Invoke-Sqlcmd» не распознается как имя командлета, функции, файла сценария или работающей программы.

Это работает, если я запускаю Import-Module SqlPs -Verbose -Force (в обход политики безопасности). Однако это длится только до тех пор, пока вкладка открыта. Если я открою новую вкладку, попытаюсь запустить другой скрипт или повторно открыть Powershell ISE, мне придется заново импортировать модуль.

Есть идеи, почему это происходит?


person btecndcomp    schedule 19.02.2016    source источник
comment
Проверьте свою переменную $PSModuleAutoLoadingPreference: about_Modules.   -  person beatcracker    schedule 19.02.2016


Ответы (2)


Это скорее обходной путь, но вы можете добавить его в свой профиль.

"'Import-Module SqlPs -Verbose -Force'" > $profile

Очевидно, что если у вас есть файл профиля из предыдущего, вы не хотите делать это так, а вместо этого открываете его и добавляете через блокнот или что-то подобное.

Также обратите внимание, что Powershell и PowershellISE имеют разные профили, поэтому вам нужно будет добавить их в оба, если вы смешиваете.

person tajen    schedule 19.02.2016

Насколько я понимаю, загрузка модуля выполняется для каждого сеанса. Таким образом, поведение, которое вы видите, соответствует ожидаемому.

person Ben Thul    schedule 19.02.2016