Я собираю 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 "& 'c:\path with\spaces\script.ps1'"
Вы должны сделать это с помощью сценария запуска в GPO.