Creazione di un servizio Windows mediante Sc.exe

Traduzione articoli Traduzione articoli
Identificativo articolo: 251192 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Per creare e avviare un servizio dalla riga di comando, Ŕ possibile utilizzare lo strumento SC (Sc.exe) incluso nel Resource Kit.

Strumenti quali Netsvc.exe e Instsrv.exe, con cui Ŕ possibile avviare un servizio in un computer remoto, non consentono tuttavia la creazione remota dei servizi.

NOTA: lo strumento Srvinstw.exe Ŕ la versione dell'interfaccia grafica utente utilizzata per creare servizi remoti. Srvinstw.exe non Ŕ uno strumento della riga di comando.

Informazioni

Ŕ possibile utilizzare Sc.exe per agevolare lo sviluppo dei servizi per Windows. Sc.exe, incluso nel Resource Kit, implementa chiamate a tutte le funzioni API (Application Programming Interface) per il controllo dei servizi Windows. Ŕ possibile impostare i parametri per queste funzioni specificandoli nella riga di comando. Sc.exe consente inoltre di visualizzare lo stato dei servizi e di recuperare i valori archiviati nei campi della struttura di stato. Lo strumento permette anche di specificare il nome di un computer remoto in modo da poter chiamare le funzioni API del servizio o visualizzare le strutture di stato del servizio nel computer remoto.

Con Sc.exe Ŕ inoltre possibile chiamare qualsiasi funzione API per il controllo del servizio e variare qualsiasi parametro dalla riga di comando. Rappresenta pertanto una soluzione per configurare agevolmente le informazioni dei servizi nel Registro di sistema e nel database di Gestione controllo servizi. Non Ŕ necessario configurare il servizio creando manualmente specifiche voci nel Registro di sistema e riavviando il computer per imporre a Gestione controllo servizi l'aggiornamento del relativo database.

In Sc.exe viene utilizzata la seguente sintassi:

Sintassi 1 (utilizzare per eseguire Sc.exe)
sc [nomeserver] comando nomeservizio [nomeopzione= valoreopzione...]
Sintassi 2 (utilizzare per visualizzare le informazioni della Guida, eccetto che per il comando query)
sc [comando]

Parametri

  • nomeserver
    Facoltativo. Consente di specificare il nome del server quando si intendono eseguire i comandi in un computer remoto. Il nome deve iniziare con due barre rovesciate (\), ad esempio \\server). Per eseguire Sc.exe nel computer locale, non fornire questo parametro.
  • comando
    Consente di specificare il comando sc. Per l'esecuzione di molti comandi sc Ŕ necessario disporre dei privilegi amministrativi per il computer specificato. Sc.exe supporta i seguenti comandi:
    Config
    Consente di modificare la configurazione di un servizio (persistente).

    Continue
    Consente di inviare una richiesta di controllo Continue a un servizio.

    Control
    Consente di inviare un controllo a un servizio.

    Create
    Consente di creare un servizio aggiungendolo al Registro di sistema.

    Delete
    Consente di eliminare un servizio dal Registro di sistema.

    EnumDepend
    Consente di enumerare le dipendenze del servizio.

    GetDisplayName
    Consente di ottenere la proprietÓ DisplayName di un servizio.

    GetKeyName
    Consente di ottenere la proprietÓ ServiceKeyName di un servizio.

    Interrogate
    Consente di inviare una richiesta di controllo Interrogate a un servizio.

    Pause
    Consente di inviare una richiesta di controllo Pause a un servizio.

    qc
    Consente di eseguire una query sulla configurazione del servizio. Per informazioni dettagliate, vedere la sezione di riferimento relativa a "SC QC".

    Query
    Consente di eseguire una query sullo stato del servizio o di enumerare lo stato relativo ai tipi di servizi. Per informazioni dettagliate, vedere la sezione di riferimento relativa a "SC QUERY".

    Start
    Consente di avviare un servizio.

    Stop
    Consente di inviare una richiesta di controllo Stop a un servizio.
  • nomeservizio
    Consente di specificare il nome assegnato alla chiave del servizio nel Registro di sistema. Tale nome Ŕ differente dal nome visualizzato, ossia quello che compare quando si utilizza il comando net start e lo strumento Servizi del Pannello di controllo. In Sc.exe il nome della chiave del servizio viene utilizzato come identificatore principale del servizio.
  • nomeopzione
    I parametri nomeopzione e valoreopzione consentono di specificare i nomi e i valori dei parametri di comando facoltativi. Tra il nomeopzione e il segno di uguale non vi sono spazi. Ŕ possibile fornire nessuna, una o pi¨ coppie nome/valore di parametri facoltativi.
  • valoreopzione
    Consente di specificare il valore del parametro denominato in nomeopzione. L'intervallo dei valori validi Ŕ spesso ristretto per ciascun nomeopzione. Per un elenco dei valori validi, richiedere la Guida in linea relativa allo specifico comando.
Per l'esecuzione di molti comandi Ŕ necessario disporre dei privilegi di amministratore. Verificare di essere connessi come amministratore del computer in cui viene eseguito lo sviluppo del servizio.

Il comando sc create crea una voce relativa al servizio nel Registro di sistema e nel database di Gestione controllo servizi.

Sintassi
sc [nomeserver] create nomeservizio [nomeopzione=valoreopzione...

Parametri

  • nomeserver
    Facoltativo. Consente di specificare il nome del server quando si intendono eseguire i comandi in un computer remoto. Il nome deve iniziare con due barre rovesciate (\), ad esempio \\server). Per eseguire Sc.exe nel computer locale, non fornire questo parametro.
  • nomeservizio
    Consente di specificare il nome assegnato alla chiave del servizio nel Registro di sistema. Tale nome Ŕ differente dal nome visualizzato, ossia quello che compare quando si utilizza net start e lo strumento Servizi del Pannello di controllo. In Sc.exe il nome della chiave del servizio viene utilizzato come identificatore principale del servizio.
  • nomeopzione
    I parametri nomeopzione e valoreopzione consentono di specificare i nomi e i valori dei parametri di comando facoltativi. Tra il nomeopzione e il segno di uguale non vi sono spazi. Ŕ possibile fornire nessuna, una o pi¨ coppie nome/valore di parametri facoltativi. Il comando sc query supporta i seguenti valori: nomeopzionevaloreopzione
    type=own, share, interact, kernel, filesys
    Tipo di servizio che si intende creare. Tra i valori di opzione sono inclusi i tipi utilizzati dai driver
    (il valore predefinito Ŕ share).

    start=boot, system, auto, demand, disabled
    Tipo di avvio del servizio. Tra i valori di opzione sono inclusi i tipi utilizzati dai driver
    (il valore predefinito Ŕ demand).

    error=normal, severe, critical, ignore
    GravitÓ dell'errore nel caso in cui il servizio non venga avviato all'avvio del sistema
    (il valore predefinito Ŕ normal).

    binPath=(stringa)
    Nome del percorso del file binario del servizio. Non vi Ŕ un valore predefinito per il parametro. Ŕ obbligatorio fornire la stringa.

    group=(stringa)
    Nome del gruppo di cui il servizio Ŕ membro. L'elenco dei gruppi Ŕ archiviato nella chiave ServiceGroupOrder del Registro di sistema
    (il valore predefinito Ŕ nothing).

    tag=(stringa)
    Se la stringa Ŕ impostata su "yes", con Sc.exe sarÓ possibile ottenere un TagId dalla chiamata a CreateService, ma il tag non verrÓ visualizzato
    (il valore predefinito Ŕ nothing).

    depend=(stringa separata da spazi)
    Nomi dei servizi o dei gruppi che devono essere avviati prima di questo servizio.

    obj=(stringa)
    Nome dell'account sotto cui il servizio viene eseguito. Per i driver, Ŕ il nome dell'oggetto driver di Windows
    (il valore predefinito Ŕ LocalSystem).

    DisplayName=(stringa)
    Stringa che pu˛ essere utilizzata dai programma di interfaccia utente per identificare il servizio.

    password=(stringa)
    Stringa di password. Necessaria se viene utilizzato un account diverso da LocalSystem.
valoreopzione
Consente di specificare il valore del parametro denominato in nomeopzione. Per un elenco dei valori supportati, vedere il riferimento relativo a nomeopzione. Quando deve essere immessa una stringa, l'utilizzo di virgolette che non racchiudono niente indica che Ŕ stata passata una stringa vuota.

NOTA: il comando sc create consente di eseguire le operazioni della funzione API CreateService.

Nell'esempio seguente viene creata una voce del Registro di sistema per il servizio denominato "NuovoServizio" nel computer denominato \\computer_remoto:
sc \\computer_remoto create nuovoservizio binpath= c:\nt\system32\nuovoserv.exe
Per impostazione predefinita, il servizio viene creato come servizio WIN32_SHARE_PROCESS con un tipo di avvio SERVICE_DEMAND_START. Non ha dipendenze e viene eseguito nel contesto di protezione LocalSystem.

Nell'esempio seguente il servizio viene creato nel computer locale come servizio ad avvio automatico eseguito in un proprio processo. Ha dipendenze dal gruppo TDI e dal servizio NetBIOS. Ŕ necessario racchiudere con le virgolette l'elenco delle dipendenze separate da spazi.
sc create nuovoservizio binpath= c:\nt\system32\nuovoserv.exe type= own start= auto depend= "+tdi netbios"
Per ulteriori informazioni su Sc.exe, vedere il documento Sc-dev.txt nel Resource Kit, in cui Ŕ riportata una descrizione pi¨ dettagliata dello strumento.

ProprietÓ

Identificativo articolo: 251192 - Ultima modifica: martedý 18 ottobre 2005 - Revisione: 3.0
Le informazioni in questo articolo si applicano a
  • Microsoft Windows NT Server 4.0 Terminal Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
Chiavi:á
kbinfo KB251192
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com