Método SetSecurityDescriptor da classe Win32_Service (Serviços de Área de Trabalho Remota)
O método SetSecurityDescriptor grava uma versão atualizada do descritor de segurança que controla o acesso ao serviço.
Sintaxe
uint32 SetSecurityDescriptor(
[in] Win32_SecurityDescriptor Descriptor
);
Parâmetros
-
Descritor [in]
-
O descritor de segurança associado ao serviço.
Valor retornado
Retorna um dos valores listados na lista a seguir ou um valor diferente para indicar um erro. Para obter códigos de erro adicionais, consulte Constantes de erro WMI ou WbemErrorEnum. Para obter valores gerais de HRESULT , consulte Códigos de erro do sistema.
-
0
-
A solicitação foi aceita.
-
1
-
A solicitação não terá suporte.
-
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 (Win32_BaseService. Propriedade 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.
-
8
-
Falha desconhecida ao iniciar o serviço.
-
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 em que esse serviço 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
-
Esse 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
-
Um serviço está em execução com o mesmo nome.
-
20
-
O nome do serviço tem caracteres inválidos.
-
21
-
Parâmetros inválidos foram passados para o serviço.
-
22
-
A conta sob a qual esse serviço é executado é inválida ou não tem as permissões para executar 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.
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égios e Execução de operações privilegiadas.
Você pode atualizar o DACL e o SACL na instância Win32_SecurityDescriptor ao chamar esse método, mas também pode atualizar apenas a DACL ou apenas o SACL.
Os valores a seguir em SECURITY_DESCRIPTOR_CONTROL determinar se o DACL, o SACL ou ambos são atualizados.
SE_DACL_PRESENT
Indica que a DACL deve ser atualizada. Se isso não estiver definido, o WMI preservará o valor original da DACL.
SE_SACL_PRESENT
Indica que o SACL deve ser atualizado. Se isso não estiver definido, o WMI preservará o valor original do SACL. Para atualizar o SACL, a conta deve ter o privilégio SeSecurityPrivilege habilitado. Para scripts, o nome do privilégio é SeSecurityPrivilege. Para obter mais informações, consulte Constantes de privilégios.
Se o administrador do grupo e as propriedades de administrador proprietário não forem NULL, eles serão atualizados. Caso contrário, o WMI preservará os valores originais. Para obter mais informações, consulte Objetos do Descritor de Segurança do WMI.
Quando um novo SACL é NULL em uma chamada desse método, o SACL do descritor de segurança no objeto protegível de destino é deixado inalterado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista |
Servidor mínimo com suporte |
Windows Server 2008 |
Namespace |
Root\CIMv2\TerminalServices |
MOF |
|
DLL |
|