Невозможно запланировать задачу с помощью schtasks.exe в сценарии SetupComplete.cmd в Windows 10 - PullRequest
0 голосов
/ 03 июня 2019

У меня есть требование для автоматизации развертывания Windows 10 для моего клиента. Я использую функцию SetupComplete.cmd для подключения к Corp Wi-Fi и установки MSI. Существуют некоторые установки EXE, которые я не могу запустить без вывода сообщений, поэтому я намерен скопировать установочные файлы на локальный диск и установить запланированное задание, используя команду schtasks.exe, для запуска сценария при следующем входе в систему для завершения Остальные установки.

Сценарий успешно подключается к Wi-Fi, устанавливает MSI и копирует файлы на локальный диск. Однако запланированное задание не настроено.

Если я запустил сценарий SetupComplete.cmd на компьютере после входа пользователя в систему, все функции, включая создание запланированной задачи, будут успешно завершены.

Я указал точный путь к папке для schtasks (windir / system32) и побежал оттуда. Работает при запуске вручную, а не из setupcomplete.cmd.

Я попытался скопировать schtasks.exe на установочный носитель и вызвать с него программу (если exe не был записан во время выполнения скрипта, в чем я сомневаюсь)

Я поставил задачу в качестве последнего шага и включил режим ожидания на 20 секунд до ее выполнения.

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

Я удалил все остальные команды из своего скрипта SetupComplete и запустил его с помощью только команды schtasks.exe, на случай, если она не будет хорошо работать с другими командами, и это все равно не сработало. Я видел другие форумы, использующие schtasks.exe в своих сценариях SetupCmplete для решения некоторых требований, поэтому кажется, что он может работать при правильном использовании.

Мне известно, что сценарий на этом этапе запускается под системной учетной записью, но не могу найти упоминаний о том, что он не может работать с этими разрешениями.

@echo off
set LOGFILE= D:\test\batch.log
call :LOG > %LOGFILE%
exit /B

:LOG

netsh wlan add profile filename="D:\Blah.xml"

netsh wlan connect name=An interface="WiFi"

reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d D:\bkgrnd\blah.bmp /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

REM         ***MSI INSTALLS***
msiexec.exe /i "D:\MSI\3t.msi" /quiet /norestart /L*V "D:\MSI\logs\3TLog.log"
msiexec.exe /i "D:\MSI\Chrome.msi" /quiet /norestart /L*V "D:\MSI\logs\ChromeLog.log"
msiexec.exe /i "D:\MSI\FireFox.msi" /quiet /norestart /L*V "D:\MSI\logs\FFLog.log"
msiexec.exe /i "D:\MSI\node.msi" /quiet /norestart /L*V "D:\MSI\logs\nodeLog.log"
msiexec.exe /i "D:\MSI\Slack.msi" /quiet /norestart /L*V "D:\MSI\logs\SlackLog.log"
msiexec.exe /i "D:\MSI\fs-windows-agent-2.5.0.msi" /quiet /norestart /L*V "D:\MSI\logs\FreshService.log"

REM Copy install files and create scheduled task to complete installs of BD and CB
mkdir C:\FinalInstalls
mkdir C:\FinalInstalls\BD
mkdir C:\FinalInstalls\CB
xcopy "D:\EXE\setupdownloader_[astring].exe" C:\FinalInstalls\BD
xcopy D:\EXE\CB\Setup.exe C:\FinalInstalls\CB
xcopy D:\EXE\CB\settings.ini C:\FinalInstalls\CB
xcopy D:\finalinstalls.cmd C:\FinalInstalls
schtasks /create /tn "FinalInstalls" /tr "cmd.exe /k C:\FinalInstalls\finalinstalls.cmd" /sc ONLOGON /RL HIGHEST 

Я ожидаю, что задача отобразится в планировщике задач, как и при запуске вручную. Я не могу придумать другого пути, и это, похоже, сработало для других людей. Любая помощь будет очень ценится:)

Спасибо!

...