Modificare il metodo della classe Win32_BaseService
Il metodo ChangeWMI class modifica un oggetto servizio derivato da Win32_BaseService. Il parametro Win32_LoadOrderGroup rappresenta un gruppo di servizi di sistema che definiscono le dipendenze di esecuzione. I servizi devono essere avviati nell'ordine specificato dal gruppo di ordini di carico, perché i servizi dipendono l'uno dall'altro. Questi servizi dipendenti richiedono che i servizi precedenti funzionino correttamente.
In questo argomento viene utilizzata la sintassi MOF (Managed Object Format). Per altre informazioni sull'uso di questo metodo, vedere Chiamata di un metodo.
Sintassi
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[]
);
Parametri
-
DisplayName [in]
-
Nome visualizzato per un servizio. La lunghezza massima della stringa è di 256 caratteri. Il nome viene mantenuto nel gestore di controllo del servizio. I confronti di DisplayName non fanno sempre distinzione tra maiuscole e minuscole.
Vincoli: accetta lo stesso valore del parametro Name .
Esempio: "Atdisk".
-
PathName [in]
-
Percorso completo del file eseguibile che implementa un servizio.
Esempio: "\SystemRoot\System32\drivers\afd.sys".
-
ServiceType [in]
-
Tipo di servizi forniti ai processi che li chiamano.
-
Driver kernel (1)
-
Driver del file system (2)
-
Adattatore (4)
-
Driver Recognizer (8)
-
Processo personale (16)
-
Processo di condivisione (32)
-
(256)
-
Processo interattivo
ErrorControl [in]
Gravità di un errore se questo servizio non viene avviato durante l'avvio. Il valore indica l'azione eseguita dal programma di avvio in caso di errore. Il sistema registra tutti gli errori.
Ignora (0)
L'utente non viene notificato.
Normale (1)
Normale. L'utente viene notificato.
Grave (2)
Il sistema viene riavviato con l'ultima configurazione valida.
Critico (3)
Il sistema tenta un riavvio con una configurazione valida.
StartMode [in]
Modalità di avvio del servizio di base di Windows.
Avvio di avvio ("Avvio ")
Driver di dispositivo avviato dal caricatore del sistema operativo.
Avvio sistema ("Sistema")
Driver di dispositivo avviato dal processo di inizializzazione del sistema operativo. Questo valore è valido solo per i servizi del driver.
Avvio automatico ("automatico")
Servizio da avviare automaticamente dal gestore di controllo del servizio durante l'avvio del sistema.
Inizio richiesta ("Manuale")
Servizio da avviare da Gestione controllo servizi quando un processo chiama il metodo StartService .
Disabilitato ("Disabilitato ")
Servizio che non può essere avviato.
DesktopInteract [in]
Se True, il servizio può creare o comunicare con una finestra sul desktop.
StartName [in]
Nome dell'account in cui viene eseguito il servizio, che dipende dal tipo di servizio. Il nome dell'account può essere nel formato DomainName\Username o .\Username. Quando viene eseguito, il processo del servizio viene registrato usando uno dei due moduli precedenti. Se l'account appartiene al dominio predefinito, è possibile specificare .\Username. Se viene specificata una stringa vuota, il servizio viene connesso come account LocalSystem. Per i driver a livello di sistema o kernel, StartName contiene il nome dell'oggetto driver, ad esempio \FileSystem\Rdr o \Driver\Xns, che il sistema di input e output (I/O) usa per caricare il driver di dispositivo. Se viene specificato NULL, il driver viene eseguito con un nome di oggetto predefinito creato dal sistema di I/O in base al nome del servizio, ad esempio DWDOM\Amministrazione.
È anche possibile usare il formato nome dell'entità utente (UPN) per specificare startName, ad esempio Username@DomainName.
StartPassword [in]
Password per il nome dell'account specificato dal parametro StartName . Specificare NULL quando non si modifica la password. Specificare una stringa vuota se il servizio non dispone di una password.
Nota
Quando si modifica un servizio dal sistema locale alla rete o dalla rete al sistema locale, StartPassword deve essere una stringa vuota ("") e non NULL.
LoadOrderGroup [in]
Nome del gruppo a cui è associato. I gruppi di ordini di carico sono contenuti nel Registro di sistema e determinano la sequenza che i servizi vengono caricati in un sistema operativo. Se il puntatore è NULL o punta a una stringa vuota, il servizio non appartiene a un gruppo. Le dipendenze tra i gruppi devono essere elencate nel parametro LoadOrderGroupDependencies . I servizi nell'elenco dei gruppi di ordinamento del carico vengono avviati per primi, seguiti dai servizi nei gruppi non inclusi nell'elenco dei gruppi di ordinamento del carico, seguiti da servizi che non appartengono a un gruppo. Il Registro di sistema include un elenco di gruppi di ordinamento di carico disponibili in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder.
LoadOrderGroupDependencies [in]
Elenco di gruppi di ordinamento di carico che devono essere avviati prima dell'avvio del servizio. La matrice è con terminazione null doppia. Se il puntatore è NULL o se punta a una stringa vuota, il servizio non ha dipendenze. I nomi di gruppo devono essere preceduti dal carattere SC_GROUP_IDENTIFIER (definito nel file Winsvc.h) per distinguerli dai nomi dei servizi, perché i servizi e i gruppi di servizi condividono lo stesso spazio dei nomi. La dipendenza da un gruppo significa che questo servizio può essere eseguito se almeno un membro del gruppo è in esecuzione dopo un tentativo di avviare tutti i membri del gruppo.
ServiceDependencies [in]
Elenco contenente i nomi dei servizi che devono essere avviati prima dell'avvio del servizio. La matrice è con terminazione null doppia. Se il puntatore è NULL o punta a una stringa vuota, il servizio non ha dipendenze. La dipendenza da un servizio significa che questo servizio può essere eseguito solo se il servizio da cui dipende è in esecuzione.
Valore restituito
Restituisce uno dei valori elencati nell'elenco seguente o un valore diverso per indicare un errore.
-
Success
-
0
La richiesta viene accettata.
-
Non supportato
-
1
La richiesta non è supportata.
-
Accesso negato
-
2
L'utente non dispone dei privilegi di accesso necessari.
-
Servizi dipendenti in esecuzione
-
3
Impossibile arrestare il servizio perché altri servizi in esecuzione dipendono dal servizio.
-
Controllo del servizio non valido
-
4
Il codice di controllo richiesto non è valido o non è accettabile per il servizio.
-
Il servizio non può accettare il controllo
-
5
Impossibile inviare il codice di controllo richiesto al servizio perché la proprietà State nell'oggetto Win32_BaseService è uguale a 0, 1 o 2.
-
Servizio non attivo
-
6
Il servizio non è stato avviato.
-
Timeout della richiesta di servizio
-
7
Il servizio non risponde rapidamente alla richiesta iniziale.
-
Errore sconosciuto
-
8
Processo interattivo.
-
Percorso non trovato
-
9
Il percorso della directory del file eseguibile del servizio non viene trovato.
-
Servizio già in esecuzione
-
10
Il servizio è già in esecuzione.
-
Database di servizio bloccato
-
11
Il database a cui aggiungere il nuovo servizio è bloccato.
-
Dipendenza del servizio eliminata
-
12
Una dipendenza per cui questo servizio si basa su viene rimosso dal sistema.
-
Errore di dipendenza del servizio
-
13
Il servizio non trova il servizio necessario da un servizio dipendente.
-
Servizio disabilitato
-
14
Il servizio è disabilitato dal sistema.
-
Accesso al servizio non riuscito
-
15
Il servizio non dispone delle credenziali di autenticazione corrette per l'esecuzione nel sistema.
-
Servizio contrassegnato per l'eliminazione
-
16
Questo servizio viene rimosso dal sistema.
-
Nessun thread del servizio
-
17
Nessun thread di esecuzione per il servizio.
-
Dipendenza circolare dello stato
-
18
All'avvio del servizio sono state rilevate dipendenze circolari.
-
Nome duplicato stato
-
19
È presente un servizio in esecuzione con lo stesso nome.
-
Nome non valido dello stato
-
20
Esistono caratteri non validi nel nome del servizio.
-
Parametro stato non valido
-
21
I parametri non validi sono stati passati al servizio.
-
Account del servizio non valido stato
-
22
L'account per l'esecuzione di questo servizio in non è valido o non dispone delle autorizzazioni per l'esecuzione del servizio.
-
Il servizio stato esiste
-
23
Il servizio esiste già nel database dei servizi disponibili dal sistema.
-
Servizio già sospeso
-
24
Il servizio è attualmente sospeso nel sistema.
-
Altri
-
25 4294967295
Commenti
Per modificare un servizio da una rete a un sistema locale, usare i valori seguenti per i parametri StartName e StartPassword :
StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL
Per modificare un servizio da un sistema locale a una rete, usare i valori seguenti per i parametri StartName e StartPassword :
StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Spazio dei nomi |
Radice\CIMV2 |
Intestazione |
|
MOF |
|
DLL |
|