Partilhar via


Método GetSecurityDescriptor da classe Win32_Service (Provedores WMI CIMWin32)

O método GetSecurityDescriptor retorna o descritor de segurança que controla o acesso ao serviço. O descritor é retornado como uma instância de Win32_SecurityDescriptor.

Sintaxe

uint32 GetSecurityDescriptor(
  [out] Win32_SecurityDescriptor Descriptor
);

Parâmetros

Descritor [out]

O descritor de segurança associado ao serviço.

Retornar valor

Retorna um dos valores relacionados na seguinte lista ou um valor diferente para indicar um erro. Para obter códigos de erro adicionais, consulte Constantes de erro do WMI ou WbemErrorEnum. Para obter valores HRESULT gerais, consulte Códigos de erro do sistema.

Êxito

0

A solicitação foi aceita.

1

A solicitação não terá suporte.

Acesso negado

2

O usuário não tinha o acesso necessário.

3

O serviço não pode ser interrompido, porque outros serviços em execução dependem dele.

4

O código de controle pedido não é válido ou é inaceitável para o serviço.

5

O código de controle solicitado não pode ser enviado ao serviço porque o estado do serviço (propriedade Win32_BaseService.State) é igual a 0, 1 ou 2.

6

O serviço não foi iniciado.

7

O serviço não respondeu à solicitação de início em um tempo oportuno.

Falha desconhecida

8

Falha desconhecida ao iniciar o serviço.

Privilégio ausente

9

O caminho do diretório para o arquivo executável do serviço não foi encontrado.

10

O serviço já está em execução.

11

O banco de dados para adicionar um serviço novo está bloqueado.

12

Uma dependência da qual esse sistema depende foi removida do sistema.

13

O serviço não localizou o serviço necessário em um serviço dependente.

14

O serviço foi desabilitado do sistema.

15

O serviço não tem a autenticação correta para ser executado no sistema.

16

Este serviço está sendo removido do sistema.

17

O serviço não tem thread de execução.

18

O serviço tem dependências circulares quando é iniciado.

19

Há um serviço em execução com o mesmo nome.

20

O nome do serviço tem caracteres inválidos.

Parâmetro inválido

21

Parâmetros inválidos foram passados ao serviço.

22

A conta com a qual este serviço é executado é inválido ou não tem permissões para execute o serviço.

23

O serviço existe no banco de dados de serviços disponível no sistema.

24

O serviço está pausado atualmente no sistema.

Outras

22 4294967295

Comentários

A instância Win32_SecurityDescriptor representa um tipo de dados SECURITY_DESCRIPTOR_CONTROL e contém uma DACL (lista de controle de acesso discricionário) e uma SACL (lista de controle de acesso do sistema). Para obter mais informações, consulte Listas de controle de acesso.

Se o SeSecurityPrivilege não for concedido ou habilitado ao obter um descritor de segurança, somente a DACL será retornada no descritor de segurança retornado. Para obter mais informações, consulte Constantes de privilégio e Executar operações privilegiadas.

Exemplos

Ao recuperar um descritor de segurança no VBScript, certifique-se da “Segurança” e execute como administrador, conforme mostrado no snippet de código a seguir. Caso contrário, seu código pode gerar um erro de permissões.

Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate, (Security)}!\\" & strComputer & "\root\cimv2")

Da mesma forma, em VB.NET, certifique-se de definir “EnablePrivileges = True” e execute o aplicativo como administrador.

Scope = New ManagementScope([String].Format("\\{0}\root\CIMV2", ComputerName), Nothing)
Scope.Options.EnablePrivileges = True

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Confira também

Win32_Service

Constantes de privilégio

Objetos de descritor de segurança do WMI

Alterar a segurança do acesso em objetos protegíveis

Controle de Conta de Usuário e o WMI