#powershell
#powershell
Вопрос:
Я столкнулся с проблемой со сценарием PowerShell. Я хочу добавить приложение Microsoft Store с помощью команды PowerShell:
Add-Appxpackage -path C:Tempwhiteboard.appx
Команда работает нормально, но только для 1 пользователя, а не для всех. Она должна быть установлена для всех. Как это можно сделать?
Ответ №1:
Как уже упоминалось @WafflesAndCustard, проблема выполнения сценария заключается в политике выполнения. https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
Выполнение PowerShell-Script идет другим путем, о котором вы, вероятно, могли подумать… PS-User-Policy имеет приоритет над PS-Computer-Policy, но Local- (gpedit) и Domain-Policies (gpmc) переопределяют все и имеют окончательный приоритет (политики домена имеют наивысший приоритет)
По умолчанию -> выполнение сценария PowerShell не разрешено.
Если вы хотите использовать свой скрипт для всех пользователей, без предварительного определения политики PS-executionpolicy, вам следует использовать встроенную команду, например
powershell.exe -ExecutionPolicy ByPass -Script ....
НО, и это действительно ВАЖНО, когда дело доходит до безопасности:
Пожалуйста, не используйте временную папку, так как это обычная папка, в которую может писать каждый!
Например. пользователь / программа может поместить вредоносный исполняемый файл в эту папку с тем же именем, и ваша задача (или что-то еще) выполнит его с высокими привилегиями.