2012-05-28 9 views
2

Я работаю с Sharepoint, и мне нужна оснастка Sharepoint, присутствующая на моем консольном хосте. Когда я запускаю powershell из меню запуска Windows, я запускаю командуВ чем разница в том, как я запускаю консоль PowerShell?

Add-PSSnapin Microsoft.Sharepoint.Powershell 

оснастка добавлена ​​нормально, и все работает хорошо.

Кроме того, все нормально, когда я запускаю cmd.exe и нажимаю на него powershell.exe и нажмите enter. Поэтому я думаю, что в эту проблему не задействованы никакие ярлыки (но я не уверен на 100% :)).

Но когда я запускаю через PowerShell какого-то пусковое (я проверил Launchy и Enso), и я пытаюсь добавить те же оснастки, он терпит неудачу с этим сообщением об ошибке:

Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 2. 
At somefile.ps1:7 char:14 
+  Add-PSSnapin <<<< Microsoft.Sharepoint.Powershell 
+ CategoryInfo   : InvalidArgument:(Microsoft.Sharepoint.Powershell:String)  
[Add-PSSnapin], PSArgumentException 
+ FullyQualifiedErrorId : 
AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand 

В чем разница когда я запускаю powershell с помощью пусковой установки?

Я думаю, что это не проблема, связанная с sharepoint, а скорее силовая. не

(примечание: Я знаю о оболочки управления Sharepoint и вопрос не об этом)

ответ

9

Нет уверен 100%, но вы можете иметь проблемы с PowerShell 32 бит против PowerShell 64 бита.

Для примера, если ваш SnapIn имеет 64 бита, его можно использовать только с 64-разрядными PowerShell. Если Launchy и Enso - 32 бит, они запускают powerShell 32 бита, которые ищут 32-битный SnapIn. Это то же самое в другой стороне.

от А 64 бита обрабатывать, можно принудительно с помощью PowerShell 64 бит с помощью:

c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe 

от А 64 бита обработки, можно принудительно с помощью PowerShell 32 бита с помощью:

c:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exe 

Из 32-разрядного процесса вы можете принудительно использовать 64 бита PowerShell с использованием (Read this):

c:\windows\sysnative\WindowsPowerShell\v1.0\powershell.exe 
+0

А, хорошая идея, я проверю это! – jumbo

+1

Хорошо, это разница. Спасибо. У меня есть два варианта, когда я набираю 'powershell' - Windows Powershell и Windows Powershell (x86). Но powershell запускается как 32 бит независимо от того, какую версию я пытаюсь запустить. (Enso 32bit, я думаю.) Это нормальное поведение? Есть ли способ запустить 64-битную оболочку из 32-разрядной пусковой установки? – jumbo

+0

Я редактирую свой ответ. – JPBlanc

 Смежные вопросы

  • Нет связанных вопросов^_^