问题
I'm writing a script that periodically checks that certain services are running on remote workstations. I'm having a devil of a time getting an "SC \workst1 query" command working from one test machine to another. Both machines are running XP pro SP3. Neither is part of a domain. Both are in the same workgroup, and the administrator accounts have the same passwords.
I keep getting the "[SC] OpenSCManager FAILED 5: Access is denied" message, from either workstation to the other. I have tried using elevated privileges on both. Windows firewall software is turned off. There are no messages are showing up in the Event security logs. When (as administrator) I try going to "Computer Management" -> "connect to another computer" and access the remote services I get "Error 5 Access is denied".
I can set up a filesystem share between the two machines successfully, and "net use \workst1\IPC$ /user:Administrator" completes successfully, but the SC query still fails. I'm using IP addresses and not hostnames in these commands, but that doesn't help. I don't know what else to try. Thanks for the help.
回答1:
Try to run the commans as a Administrator
start-> (type cmd in search box), right click on cmd, Run as a administrator -> execute your command
回答2:
You must have administrative rights on the remote machine. Moreover you must access the drive before calling "sc". This can be achieved in command line using
net use \\remotemachine\admin$ <password> /user:<username>
admin$ is a hidden shared drive accessible to administrators that "sc" uses to control services.
回答3:
I was having the same issue today trying to check if a service is enabled remotely. I could solve the issue modifying the User Account Control for remote restrictions in windows:
To disable UAC remote restrictions, follow these steps:
- Click Start, click Run, type
regedit
, and then press ENTER. - Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- If the
LocalAccountTokenFilterPolicy
registry entry does not exist, follow these steps:
On theEdit
menu, point toNew
, and then clickDWORD Value
. TypeLocalAccountTokenFilterPolicy
, and then press ENTER. Right-clickLocalAccountTokenFilterPolicy
, and then clickModify
. In theValue
data box, type1
, and then click OK. - Exit Registry Editor.
More information about this solution in this site.
回答4:
Your user should be remote, from Manage and Local users and groups
回答5:
The UAC issue is obvious you have to pull down the lever for UAC setting Also while installing the services you can use the following command
SC create SERVICENAME DisplayName= "DISPLAYNAME" binPath= "PATH OF EXE" start= disabled type= share
来源:https://stackoverflow.com/questions/19730396/remote-sc-openscmanager-query-failed-5-access-denied