Назад | Перейти на главную страницу

Как запустить PowerShell с формой Windows при входе в систему / запуске?

Я собираю PowerShell (работающий в Windows 7), который выполняет некоторые задачи настройки после изображения.

Он использует формы Windows для получения пользовательского ввода, а затем должен запускать различные задачи в зависимости от их выбора.

Это выполняется до того, как компьютер окажется в домене, поэтому сценарии входа в систему бесполезны.

Я пробовал добавить powershell c:\scripts\myscript.ps1 к hklm\software\microsoft\windows\currentversion\run но он не работает.

Я также добавил его как запланированную задачу запуска (и входа в систему) с «высшим уровнем привилегий» и запускаемой как администратор компьютера.

Когда он запускается как задача запуска, он запускает первый бит сценария (он создает файл журнала, поэтому я могу это видеть), но форма окна не отображается. Вместо этого он ведет себя так, как если бы пользователь нажал кнопку «Отмена» в форме. Запланированная задача сообщает об ошибке: 0x41301. Небольшой поиск в Google показывает, что это означает, что скрипт все еще работает?

Есть ли у кого-нибудь предложения о том, как лучше всего этого добиться?

Спасибо,

Бен

Использовать

powershell -File c:\scripts\myscript.ps1

вместо.

Как сказал Гойикс, вы должны использовать оператор & - Call, чтобы передать ему путь с пробелами.

powershell.exe -Command "& 'c:\path with space\script1.ps1' arg1" 

Powershell.exe - передача аргументов команды с пробелами

PowerShell.exe не принимает имя сценария в качестве аргумента командной строки. Вы должны указать ему источник этого скрипта для его запуска:

PowerShell.exe "& 'c:\path with\spaces\script.ps1'"

Вы должны сделать это с помощью сценария запуска в GPO.