У меня есть пользователь, который используется для запуска сценариев Powershell, запускаемых планировщиком задач Windows на сервере Windows 2012RC2. Сценарии используют специальные оснастки, которые добавляются в начале сценария.
Сценарии не работают, и когда я вручную попытался найти основную причину проблемы, запустив Powershell на сервере от имени указанного пользователя, я обнаружил, что пользователь не может добавить оснастку:
asnp <snap-in>
+ asnp <snap-in>
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (<snap-in>:String) [Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
Он отлично работает, если я запускаю ту же команду в Powershell в качестве администратора.
Как разрешить пользователю добавлять оснастки в Powershell на сервере?
Похоже, оснастка недоступна для пользователя либо потому, что она не была установлена правильно, либо потому, что она была размещена в месте, доступном только администраторам (или только администратору).
Посмотри Вот в качестве отправной точки, а затем попробуйте использовать get-pssnapin -registered
проверить, действительно ли оснастка зарегистрирована и доступна; попробуйте выполнить команду как администратор, так и как проблемный пользователь.
Смотрите также Вот о регистрации оснасток.