I have had NOTHING but issues with Task Scheduler in Winblows 10. And like you I have used it with great success in the past with Windows XP and Windows 7. So, I now use a couple different ways of conducting task related functions. And they are as follows:
1) WhatInStartup WhatInStartup - Disable/delete programs at Windows startup
2) System Scheduler System Scheduler - schedule applications and reminders
Splinterware - Scheduler
WhatInStartup is nice to show what programs and whatnot are starting, but Autoruns does that job a lot better. However, Autoruns doesn't allow you to add a startup item. So that's where WhatInStartup shines. What I do is create a batch file to launch a program or whatever and have WhatInStartup launch it on Windows start.
Code:
start "" "C:\Program Files\some_program\some_program\widget.exe"
If the program requires Admin rights, then add all this crap to the top of the command:
Code:
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
So for example, flushing the DNS cache.
Code:
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
ipconfig /flushdns
Now with System Scheduler you can have things fire off on a schedule. In my case I have a couple police scanners connected to a laptop sitting here recording audio 24/7. I have System Scheduler fire off a backup via the FreeFileSync program for that audio once every hour to an external USB drive. I even save the audio to the cloud with the program S3 Browser which is for Amazon AWS S3. You could use a NAS and Syncthing too I guess...
So there you have it. I could never rely on Windows built-in programs to do things correctly. It's why I absolutely refuse to use things like RDP and instead use TightVNC over a reverse VPN with ZeroTier or whatever. RDP is hacker plagued and the ever popular TeamViwer is also hacker plauged. If anyone uses TeamViewer it's strongly advised to 2FA the account. And for that there's the Aegis App, Bitwarden or the KeepassOTP plug-in for Keepass...