Назад | Перейти на главную страницу

Не удается запустить SQL Server PowerShell

У вас, ребята, была такая проблема, когда при запуске PowerShell из SQL Server выдается исключение, подобное приведенному ниже?

Не удается разрешить псевдоним «cd», поскольку он относится к термину «Microsoft.PowerShell.Manag ement \ Set-Location», который не распознается как командлет, функция, действующая программа или файл сценария. Проверьте срок и попробуйте еще раз. В строке: 1 символ: 140 + & {[System.Console] :: Title = 'SQL Server Powershell'; Convert-UrnToPath 'Server [@Name =' 'AIMLESS' '] / Database [@Name =' 'AdventureWorks2008' ']' | cd <<<<}


Я не могу использовать некоторые распространенные псевдонимы, например pwd, cdи т.д .. даже если get-alias очищает показывает, что cd является set-location и pwd является get-location.

[ОБНОВИТЬ] Псевдоним также не может быть установлен

Я почти уверен, что наткнулся на это несколько месяцев назад, но не могу найти его после быстрого поиска. Я считаю, что GAC пользователя каким-то образом был поврежден / запутан.

Вы можете начать обычный сеанс PowerShell?

Как вы обновляли версии .NET?

Для меня это определенно звучит как проблема с профилем. Я нашел статью (а), в которой рассказывается об аналогичной проблеме, вызванной одновременной установкой бета-версии Powershell версии 1.

Я бы просмотрел каждый файл в профильная цепочка чтобы увидеть, какой из них переназначает эти псевдонимы на вас. Затем вы можете переименовать файл профиля, чтобы проверить, не в этом ли проблема. Я не совсем уверен, как вы запускаете Powershell, но если SQL Server запускает Powershell, вам нужно будет посмотреть профиль его учетной записи.

Это должно сработать ...

notepad '$env:windir\system32\WindowsPowerShell\v1.0\profile.ps1'
notepad '$env:windir\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1'
notepad '$env:UserProfile\My Documents\WindowsPowerShell\profile.ps1'
notepad '$env:UserProfile\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'

(а) Возможные ошибки Profile.msh:

Если вы загрузите файл profile.msh и ранее установили более раннюю версию Monad, то при запуске вы можете увидеть серию ошибок, например:

set-alias: параметр AllScope не может быть удален из псевдонима cat. В C: \ Documents and Settings \ All Users \ Documents \ msh \ profile.msh: 9 char: 10 + set-alias <<<< cat get-content

Чтобы исправить это, либо удалите файл с именем («C: \ Documents and Settings \ All Users \ Documents \ msh \ profile.msh» в этом примере), либо удалите из него все строки «set-alias». Псевдонимы, определенные в profile.msh в более ранних версиях Monad, теперь определяются внутри Monad перед запуском профиля; поэтому определения в profile.msh вызовут ошибку при попытке переопределить псевдоним.

http://www.latenighthacking.com/archives/reference/PowerShellDocumentationPack_rc1/Windows%20PowerShell%20RC1%20release%20notes.htm

Вы используете расширения сообщества PowerShell? К сожалению, они используют файл profile.ps1 по умолчанию вместо Microsoft.PowerShell_profile.ps1. ЕСЛИ это так, все, что вам нужно сделать, это переименовать свой Profile.ps1 в Microsoft.PowerShell_profile.ps1. SQLPS не будет загружать профиль Microsoft.PowerShell_profile.ps1, только профиль не зависящий от хоста profile.ps1. Здесь есть рабочий элемент

http://www.codeplex.com/Pscx/WorkItem/View.aspx?WorkItemId=18417