I got similar problem with Jenkins-service: I was able to safe-shutdown Jenkins service via Jenkins cli-interface (while Jenkins was running), but was not able to start it again from command-line afterwards. The joke is: it doesn't work even with same user-account as configured for Jenkins-service to be used for automatic service startup on Windows start. Even more: when I was logging-in as administrator account - I was able to start/stop Jenkins-service via Services tab of Task-Manager, but was not able to do same from command-line without running it "As administrator". On other hand I don't like to add the user, who should start Jenkins, to administrators group. Also, in my case I can't ask user to accept the UAC message because my tasks are running as automation-scripts and should not make any user-interaction.
I was trying different possible solutions for long time (e.g. Scheduler with highest access rights, different commands/interfaces like usage of PowerShell, net, sc, jenkins.exe, cli interface of Jenkins, java, etc.), but nothing helps until I found a quite new article from Microsoft:
https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/grant-users-rights-manage-services
I've used the way with "Security Templates" described there. It has allowed me to add for concrete user the required rights to start & stop concrete service. Then it was possible to start/stop Jenkins from this user-account from command line without need to add user to administrators neither to run the terminal as administrator.
Additional hints regarding steps described in the article named above:
When "opening" a database - it means actually "create a new" database (it will be used as temporary storage). Correspondingly select your suitable name for the database-file and just click on "Open".
When you will be asked to import existing security template -> usually you can find them at following location:
%SystemRoot%\Security\Templates
Check the subfolder "policies" there.
Note: the imported template will be used as a "base" by storing of current PC configuration (during analysis phase) and later (when applying your changed back to PC) - will be also applied. Correspondingly - don't select template with many defined rules (if don't like to get them applied to your PC). If you don't have suitable template - you might need to create own simple template (and import it later by steps described in the article). See the description of how to create own template here:
https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/define-security-templates-using-security-templates-snap-in