Alterar método da classe Win32_BaseService
O método de classe ChangeWMI modifica um objeto de serviço derivado de Win32_BaseService. O parâmetro Win32_LoadOrderGroup representa um grupo de serviços do sistema que definem dependências de execução. Os serviços devem ser iniciados na ordem especificada pelo Grupo de Pedidos de Carga, pois os serviços dependem uns dos outros. Esses serviços dependentes exigem que os serviços anteriores funcionem corretamente.
Este tópico usa a sintaxe MOF (Managed Object Format). Para obter mais informações sobre como usar esse método, consulte Chamando um método.
Sintaxe
uint32 Change(
[in] string DisplayName,
[in] string PathName,
[in] uint8 ServiceType,
[in] uint8 ErrorControl,
[in] string StartMode,
[in] boolean DesktopInteract,
[in] string StartName,
[in] string StartPassword,
[in] string LoadOrderGroup,
[in] string LoadOrderGroupDependencies[],
[in] string ServiceDependencies[]
);
Parâmetros
-
DisplayName [in]
-
O nome de exibição de um serviço. Essa cadeia de caracteres tem um tamanho máximo de 256 caracteres. O nome é case preserved no gerenciador de controle de serviço. As comparações de DisplayName sempre diferenciam maiúsculas de minúsculas.
Restrições: aceita o mesmo valor que o parâmetro Name .
Exemplo: "Atdisk".
-
PathName [in]
-
O caminho totalmente qualificado para o arquivo executável que implementa um serviço.
Exemplo: "\SystemRoot\System32\drivers\afd.sys".
-
ServiceType [in]
-
Tipo de serviços fornecidos a processos que os chamam.
-
Driver kernel (1)
-
Driver do Sistema de Arquivos (2)
-
Adaptador (4)
-
Driver do Reconhecedor (8)
-
Processo Próprio (16)
-
Processo de compartilhamento (32)
-
(256)
-
Processo Interativo
ErrorControl [in]
Gravidade de um erro se esse serviço não for iniciado durante a inicialização. O valor indica a ação que o programa de inicialização tomará se ocorrer uma falha. O sistema registra todos os erros.
Ignorar (0)
O usuário não é notificado.
Normal (1)
Normal. O usuário é notificado.
Grave (2)
O sistema é reiniciado com a última boa configuração.
Crítico (3)
O sistema tenta reiniciar com uma configuração adequada.
StartMode [in]
Modo inicial do serviço base do Windows.
Inicialização inicial ("Inicialização")
Driver de dispositivo iniciado pelo carregador do sistema operacional.
Início do Sistema ("Sistema")
Driver de dispositivo iniciado pelo processo de inicialização do sistema operacional. Esse valor só é válido para serviços do driver.
Início Automático ("Automático")
Serviço a ser iniciado automaticamente pelo gerenciador de controle de serviço durante a inicialização do sistema.
Início da Demanda ("Manual")
Serviço a ser iniciado pelo gerenciador de controle de serviço quando um processo chama o método StartService .
Desabilitado ("Desabilitado")
Serviço que não pode ser iniciado.
DesktopInteract [in]
Se True, o serviço poderá criar ou se comunicar com uma janela na área de trabalho.
StartName [in]
Nome da conta em que o serviço é executado, que depende do tipo de serviço. O nome da conta pode estar na forma de DomainName\Username ou .\Username. Quando ele é executado, o processo de serviço é registrado usando um dos dois formulários anteriores. Se a conta pertencer ao domínio interno, .\Username poderá ser especificado. Se uma cadeia de caracteres vazia for especificada, o serviço será conectado como a conta LocalSystem. Para drivers de kernel ou de nível de sistema, StartName contém o nome do objeto do driver, por exemplo, \FileSystem\Rdr ou \Driver\Xns, que o sistema de entrada e saída (E/S) usa para carregar o driver do dispositivo. Se NULL for especificado, o driver será executado com um nome de objeto padrão que o sistema de E/S cria com base no nome do serviço, por exemplo, DWDOM\Administração.
Você também pode usar o formato UPN (Nome da Entidade de Usuário) para especificar o StartName, por exemplo, Username@DomainName.
StartPassword [in]
Senha para o nome da conta que o parâmetro StartName especifica. Especifique NULL quando você não alterar a senha. Especifique uma cadeia de caracteres vazia se o serviço não tiver uma senha.
Observação
Quando você altera um serviço do sistema local para a rede ou da rede para o sistema local, StartPassword deve ser uma cadeia de caracteres vazia ("") e não NULL.
LoadOrderGroup [in]
Nome do grupo ao qual ele está associado. Os grupos de ordem de carga estão contidos no registro do sistema e determinam a sequência em que os serviços são carregados em um sistema operacional. Se o ponteiro for NULL ou apontar para uma cadeia de caracteres vazia, o serviço não pertencerá a um grupo. As dependências entre grupos devem ser listadas no parâmetro LoadOrderGroupDependencies . Os serviços na lista de grupos de ordenação de carga são iniciados primeiro, seguidos por serviços em grupos que não estão na lista de grupos de ordenação de carga, seguidos por serviços que não pertencem a um grupo. O registro do sistema tem uma lista de grupos de ordenação de carga localizados em HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder.
LoadOrderGroupDependencies [in]
Lista de grupos de ordenação de carga que devem ser iniciados antes do início desse serviço. A matriz é duplamente terminada em nulo. Se o ponteiro for NULL ou se apontar para uma cadeia de caracteres vazia, o serviço não terá dependências. Os nomes de grupo devem ser prefixados pelo caractere SC_GROUP_IDENTIFIER (definido no arquivo Winsvc.h) para diferenciá-los dos nomes de serviço, pois serviços e grupos de serviços compartilham o mesmo namespace. A dependência em um grupo significa que esse serviço pode ser executado se pelo menos um membro do grupo estiver em execução após uma tentativa de iniciar todos os membros do grupo.
ServiceDependencies [in]
Lista que contém os nomes dos serviços que devem ser iniciados antes do início desse serviço. A matriz é duplamente terminada em nulo. Se o ponteiro for NULL ou apontar para uma cadeia de caracteres vazia, o serviço não terá dependências. A dependência de um serviço significa que esse serviço só poderá ser executado se o serviço do qual ele depende estiver em execução.
Valor retornado
Retorna um dos valores listados na lista a seguir ou um valor diferente para indicar um erro.
-
Êxito
-
0
A solicitação é aceita.
-
Sem suporte
-
1
A solicitação não terá suporte.
-
Acesso negado
-
2
O usuário não tem os privilégios de acesso necessários.
-
Serviços dependentes em execução
-
3
O serviço não pode ser interrompido, porque outros serviços em execução dependem dele.
-
Controle de Serviço Inválido
-
4
O código de controle solicitado não é válido ou é inaceitável para o serviço.
-
O serviço não pode aceitar o controle
-
5
O código de controle solicitado não pode ser enviado ao serviço porque a propriedade State no objeto Win32_BaseService é igual a 0, 1 ou 2.
-
Serviço Não Ativo
-
6
O serviço não foi iniciado.
-
Tempo limite da solicitação de serviço
-
7
O serviço não responde à solicitação inicial rapidamente.
-
Falha desconhecida
-
8
Processo interativo.
-
Caminho não encontrado
-
9
O caminho do diretório para o arquivo executável do serviço não foi encontrado.
-
Serviço já em execução
-
10
O serviço já está em execução.
-
Banco de Dados de Serviço Bloqueado
-
11
O banco de dados para adicionar um serviço novo está bloqueado.
-
Dependência de serviço excluída
-
12
Uma dependência da qual esse serviço depende é removida do sistema.
-
Falha na dependência do serviço
-
13
O serviço não encontra o serviço necessário de um serviço dependente.
-
Serviço Desabilitado
-
14
O serviço está desabilitado do sistema.
-
Falha no logon do serviço
-
15
O serviço não tem a autenticação correta para ser executado no sistema.
-
Serviço marcado para exclusão
-
16
Esse serviço está sendo removido do sistema.
-
Serviço Sem Thread
-
17
Não há nenhum thread de execução para o serviço.
-
Dependência circular de status
-
18
Há dependências circulares quando o serviço é iniciado.
-
Nome duplicado de status
-
19
Há um serviço em execução com o mesmo nome.
-
Nome inválido de status
-
20
Há caracteres inválidos no nome do serviço.
-
Parâmetro status inválido
-
21
Parâmetros inválidos foram passados para o serviço.
-
Conta de serviço inválida de status
-
22
A conta para esse serviço a ser executada em não é válida ou não tem as permissões para executar o serviço.
-
O Serviço de Status existe
-
23
O serviço existe no banco de dados de serviços disponível no sistema.
-
Serviço já pausado
-
24
O serviço está pausado atualmente no sistema.
-
Outros
-
25 4294967295
Comentários
Para alterar um serviço de uma rede para um sistema local, use os seguintes valores para os parâmetros StartName e StartPassword :
StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL
Para alterar um serviço de um sistema local para uma rede, use os seguintes valores para os parâmetros StartName e StartPassword :
StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista |
Servidor mínimo com suporte |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
Cabeçalho |
|
MOF |
|
DLL |
|