В чем разница в том, как я запускаю консоль powershell?
Я работаю с Sharepoint,и мне нужно, чтобы оснастка Sharepoint присутствовала на моем хосте консоли. Когда я запускаю powershell из меню Пуск Windows, я запускаю команду
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 с помощью launcher?
Я думаю, что это не проблема, связанная с sharepoint, а скорее проблема powershell.
(примечание: Я знаю о командной консоли Sharepoint, и вопрос не об этом)
1 ответ:
Не уверен на 100%, но у вас могут возникнуть проблемы с 32 битами PowerShell по сравнению с 64 битами PowerShell.
Например, если SnapIn имеет 64 бита, его можно использовать только с 64 битами PowerShell. Если Launchy и Enso - 32 бита, они запускают powerShell 32 бита, которые ищут 32-битную привязку. То же самое и с другой стороны.
Из 64-битного процесса можно принудительно использовать 64-битный PowerShell, используя :
c:\windows\system32\WindowsPowerShell\v1.0\powershell.exeИз 64-битного процесса , Вы может принудительно использовать PowerShell 32 бита с помощью:
c:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exeИз 32-битного процесса Вы можете принудительно использовать PowerShell 64-битный процесс, используя (Read this):
c:\windows\sysnative\WindowsPowerShell\v1.0\powershell.exe
Comments