Есть ли способ заставить скрипты PowerShell запускаться в списке приложений, чтобы при установке из образа MDT можно было выбрать, какие скрипты нужно запускать?
Я могу нормально запускать сценарии как сценарии, но каждая попытка, которую я пробовал, сценарии не выполнялась.
Вот как я пытаюсь это сделать, но они не выполняются. (Я ссылаюсь на сценарий в разделе «Установка приложений в разделе« Последовательность задач ». Пока я пришел к выводу, что Microsoft не позволяет сценариям PowerShell работать таким образом без серьезного взлома»).
РЕДАКТИРОВАТЬ:
Итак, попробовав несколько способов и проведя исследования, я получил следующее:
Я пробую это:
powershell -noexit "& "'\\SERVER.com\ImageDeploymentShare$\Scripts\script_tes_2t.ps1'
Рабочий каталог:
.\%SCRIPTROOT%
Но я получаю следующее:
Я видел что-то подобное на сайте technet, но неужели это до крайности?
Filename RunPowerShell.cmd
Powershell -Command Set-ExecutionPolicy Unrestricted
Powershell.exe -file "%~dp0%1"
Powershell -Command Set-ExecutionPolicy AllSigned
Filename App1.ps1
Dir
Execute this with
[fulle_Path_if_needed\]RunPowerShell.cmd App1.ps1
Я не знаю насчет MDT, но запуск сценариев PowerShell в UNC из командной строки выглядит примерно так: powershell -ExecutionPolicy bypass -file \\path\to\file.ps1
.
Он работает из cmd (без каких-либо запросов безопасности):
в "команде тихой установки" вашего приложения:
powershell.exe -executionpolicy bypass -noprofile -noninteractive -file ".\[yourscriptfile].ps1"
Основная проблема заключается в том, что просто помещает файл ps1, поскольку команда - это политика выполнения, поскольку по умолчанию она ограничена. Даже при изменении политики выполнения на удаленную подпись скрипт не запустится, потому что это путь UNC.