У вас, ребята, была такая проблема, когда при запуске 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 вызовут ошибку при попытке переопределить псевдоним.
Вы используете расширения сообщества 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