A ênfase desta questão está no segundo semestre.
Eu sei como extrair uma lista de todos os serviços e como filtrar seu estado. No entanto, o que não tenho certeza de como fazer é extrair a conta de usuário em que o serviço está definido como "executar como".
Como não tenho a opção de usar o PowerShell (infelizmente), estou procurando uma maneira nativa de CMD. Presumi que haveria uma maneira de usar o comando sc query, mas tudo o que lista é:
SERVICE_NAME
TYPE
STATE
WIN32_EXIT_CODE
SERVICE_EXIT_CODE
CHECKPOINT
WAIT_HINT
FYI - O sistema operacional é o Windows 2003 SP2 e eu preciso dessas informações para todos os serviços, por isso é um processo demorado, se necessário fazê-lo manualmente para cada um deles.
sc query
ewmic
?Você pode fazer isso em duas etapas:
sc \\localhost query | findstr SERVICE_NAME
sc \\localhost qc
+ SERVICE_NAME +| findstr SERVICE_START_NAME
Eu recomendaria um script em lote como este:
Isso fornece uma saída como esta:
Obviamente, você pode limpar ainda mais essa saída ou gravar em um arquivo CSV da maneira que desejar.
fonte
O CMD não possui uma maneira nativa de fazer isso. SC e NET são aplicativos integrados que acompanham o Windows, mas isso não significa que são nativos. A qualquer momento, um administrador pode removê-los e até o CMD é deixado no escuro.
O sc sdshow é o que fornecerá descritores de segurança, mas isso complicará as coisas se você não souber ler as strings SDDL.
A maneira mais simples é obter o Sysinternals PsService.exe do pacote Tools e usá-lo como psservice security [service]. Ele listará o SDDL em formato legível, incluindo nomes de contas.
fonte
C:\Windows\System32\sc.exe
todas as versões do Windows?Embora você não possa usar o PowerShell, ainda poderá usar o VBScript para obter as informações do WMI:
Aqui está um script VBS que lista todos os serviços e a conta que eles iniciam como:
Salve-o e execute-o com
cscript ScriptName.vbs
.objService.State
forneceria o estado atual do serviço (desde que você mencionou que deseja filtrar por ele).Mais informações sobre a classe Win32_Service .
fonte