Τρόπος δημιουργίας μιας υπηρεσίας των Windows χρησιμοποιώντας το Sc.exe

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 251192 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Για να κάνετε απομακρυσμένη δημιουργία και εκκίνηση μιας υπηρεσίας από τη γραμμή εντολών, μπορείτε να χρησιμοποιήσετε το εργαλείο SC (Sc.exe) που περιλαμβάνεται στο Resource Kit.

Αν και μπορείτε να χρησιμοποιήσετε τα εργαλεία Netsvc.exe και Instsrv.exe για να εκκινήσετε μια υπηρεσία σε έναν απομακρυσμένο υπολογιστή, τα εργαλεία αυτά δεν σας δίνουν τη δυνατότητα απομακρυσμένης δημιουργίας μιας υπηρεσίας.

ΣΗΜΕΙΩΣΗ: Το εργαλείο Srvinstw.exe είναι η έκδοση περιβάλλοντος εργασίας χρήστη με γραφικά (GUI) που χρησιμοποιείται για τη δημιουργία απομακρυσμένων υπηρεσιών. Το Srvinstw.exe δεν είναι εργαλείο γραμμής εντολών.

Περισσότερες πληροφορίες

Μπορείτε να χρησιμοποιήσετε το Sc.exe για να αναπτύξετε υπηρεσίες για τα Windows. Το Sc.exe, το οποίο παρέχεται στο Resource Kit, υλοποιεί κλήσεις προς όλες τις συναρτήσεις διασύνδεσης προγραμματισμού εφαρμογών (API) για τον έλεγχο υπηρεσιών των Windows. Μπορείτε να ορίσετε τις παραμέτρους αυτών των συναρτήσεων καθορίζοντάς τες στη γραμμή εντολών. Το Sc.exe εμφανίζει επίσης την κατάσταση της υπηρεσίας και ανακτά τις τιμές που είναι αποθηκευμένες στα πεδία δομής κατάστασης. Το εργαλείο σάς δίνει επίσης τη δυνατότητα να καθορίσετε το όνομα ενός απομακρυσμένου υπολογιστή έτσι ώστε να μπορείτε να καλείτε τις συναρτήσεις υπηρεσίας API ή να προβάλετε τις δομές κατάστασης υπηρεσιών στον απομακρυσμένο υπολογιστή.

Το Sc.exe σάς επιτρέπει επίσης να καλείτε οποιαδήποτε από τις συναρτήσεις API ελέγχου υπηρεσιών και να μεταβάλλετε οποιαδήποτε από τις παραμέτρους από τη γραμμή εντολών. Το πλεονέκτημα είναι ότι παρέχει έναν πρακτικό τρόπο για τη δημιουργία ή τη ρύθμιση των παραμέτρων των πληροφοριών υπηρεσίας στο μητρώο και στη βάση δεδομένων του Service Control Manager. Δεν χρειάζεται να ρυθμίσετε τις παραμέτρους της υπηρεσίας δημιουργώντας καταχωρήσεις στο μητρώο με μη αυτόματο τρόπο και, στη συνέχεια, κάνοντας επανεκκίνηση του υπολογιστή για να αναγκάσετε την υπηρεσία Service Control Manager να ενημερώσει τη βάση δεδομένων της.

Το Sc.exe χρησιμοποιεί την ακόλουθη σύνταξη:

Syntax1 (χρησιμοποιήστε το Syntax1 για την εκτέλεση του Sc.exe)
sc [Servername] Command Servicename [Optionname= Optionvalue...]
Syntax2 (χρησιμοποιήστε το Syntax2 για να εμφανίσετε πληροφορίες βοήθειας, με εξαίρεση αυτές για την εντολή query)
sc [Command]

Parameters

  • Servername
    Αυτή η επιλογή είναι προαιρετική. Καθορίζει το όνομα του διακομιστή όταν θέλετε να εκτελέσετε τις εντολές σε έναν απομακρυσμένο υπολογιστή. Το όνομα πρέπει να ξεκινά με δύο χαρακτήρες ανάστροφης καθέτου (\) (για παράδειγμα, \\ο_διακομιστής_μου). Για να εκτελέσετε το Sc.exe στον τοπικό υπολογιστή, μην χρησιμοποιείτε αυτήν την παράμετρο.
  • Εντολή
    Καθορίζει την εντολή sc. Σημειώστε ότι πολλές από τις εντολές sc απαιτούν δικαιώματα διαχείρισης στον καθορισμένο υπολογιστή. Το Sc.exe υποστηρίζει τις ακόλουθες εντολές:
    Config
    Αλλάζει τη ρύθμιση παραμέτρων μιας υπηρεσίας (συνεχής).

    Continue
    Αποστέλλει μια αίτηση ελέγχου Continue σε μια υπηρεσία.

    Control
    Αποστέλλει ένα στοιχείο ελέγχου σε μια υπηρεσία.

    Create
    Δημιουργεί μια υπηρεσία (την προσθέτει στο μητρώο).

    Delete
    Διαγράφει μια υπηρεσία (από το μητρώο).

    EnumDepend
    Απαριθμεί τις εξαρτήσεις υπηρεσιών.

    GetDisplayName
    Αποκτά το DisplayName μιας υπηρεσίας.

    GetKeyName
    Αποκτά το ServiceKeyName μιας υπηρεσίας.

    Interrogate
    Αποστέλλει μια αίτηση ελέγχου Interrogate σε μια υπηρεσία.

    Pause
    Αποστέλλει μια αίτηση ελέγχου Pause σε μια υπηρεσία.

    qc
    Ζητά τη ρύθμιση παραμέτρων της υπηρεσίας. Για λεπτομερείς πληροφορίες, ανατρέξτε στην ενότητα αναφορών "SC QC".

    Query
    Ζητά την κατάσταση μιας υπηρεσίας ή απαριθμεί την κατάσταση για τύπους υπηρεσιών. Για λεπτομερείς πληροφορίες, ανατρέξτε στην ενότητα αναφορών "SC QUERY".

    Start
    Εκκινεί μια υπηρεσία

    Stop
    Αποστέλλει μια αίτηση Stop σε μια υπηρεσία.
  • Servicename
    Καθορίζει το όνομα που έχει δοθεί στο κλειδί υπηρεσίας στο μητρώο. Σημειώστε ότι αυτή η εντολή είναι διαφορετική από το εμφανιζόμενο όνομα (το οποίο είναι αυτό που βλέπετε με την εντολή net start και το εργαλείο Services από τον Πίνακα Ελέγχου (Control Panel). Το Sc.exe χρησιμοποιεί το όνομα του κλειδιού υπηρεσίας ως πρωτεύον αναγνωριστικό της υπηρεσίας.
  • Optionname
    Οι παράμετροι Optionname και Optionvalue σας δίνουν τη δυνατότητα να καθορίζετε τα ονόματα και τις τιμές προαιρετικών παραμέτρων εντολών. Σημειώστε ότι δεν υπάρχει κενό μεταξύ της παραμέτρου Optionname και του συμβόλου ισότητας. Μπορείτε να ορίσετε κανένα, ένα ή περισσότερα ζεύγη ονομάτων και τιμών παραμέτρων.
  • Optionvalue
    Καθορίζει την τιμή μιας παραμέτρου που ονομάστηκε από την παράμετρο Optionname. Η περιοχή έγκυρων τιμών είναι συχνά περιορισμένη για κάθε Optionname. Για να προβάλετε μια λίστα διαθέσιμων τιμών, ζητήστε βοήθεια για κάθε εντολή.
Πολλές από τις εντολές απαιτούν δικαιώματα διαχειριστή. Βεβαιωθείτε ότι έχετε δικαιώματα διαχειριστή στον υπολογιστή όπου πραγματοποιείται η ανάπτυξη.

Η εντολή sc create δημιουργεί μια καταχώρηση για την υπηρεσία στο μητρώο και στη βάση δεδομένων της υπηρεσίας Service Control Manager.

Σύνταξη
sc [Servername] create Servicename [Optionname=Optionvalue...

Parameters

  • Servername
    Αυτή η επιλογή είναι προαιρετική. Καθορίζει το όνομα του διακομιστή όταν θέλετε να εκτελέσετε τις εντολές σε έναν απομακρυσμένο υπολογιστή. Το όνομα πρέπει να ξεκινά με δύο χαρακτήρες ανάστροφης καθέτου (για παράδειγμα, \\ο_διακομιστής_μου). Για να εκτελέσετε την εντολή SC στον τοπικό διακομιστή, μην χρησιμοποιήσετε αυτήν την παράμετρο.
  • Servicename
    Καθορίζει το όνομα που έχει δοθεί στο κλειδί υπηρεσίας στο μητρώο. Σημειώστε ότι το όνομα αυτό είναι διαφορετικό από το εμφανιζόμενο όνομα, το οποίο είναι αυτό που βλέπετε με την εντολή net start και το εργαλείο Services από τον Πίνακα Ελέγχου (Control Panel). Το Sc.exe χρησιμοποιεί το όνομα του κλειδιού υπηρεσίας ως πρωτεύον αναγνωριστικό της υπηρεσίας.
  • Optionname
    Οι παράμετροι Optionname και Optionvalue σας δίνουν τη δυνατότητα να καθορίζετε τα ονόματα και τις τιμές προαιρετικών παραμέτρων. Σημειώστε ότι δεν υπάρχει κενό μεταξύ της παραμέτρου Optionname και του συμβόλου ισότητας. Μπορείτε να ορίσετε κανένα, ένα ή περισσότερα ζεύγη ονομάτων και τιμών παραμέτρων. Η εντολή sc query υποστηρίζει τις ακόλουθες τιμές:OptionnameOptionvalue
    type=own, share, interact, kernel, filesys
    Τύπος υπηρεσίας που θέλετε να δημιουργήσετε. Οι παράμετροι Optionvalues περιλαμβάνουν τύπους που χρησιμοποιούνται από προγράμματα οδήγησης.
    (default = share)

    start=boot, system, auto, demand, disabled
    Τύπος εκκίνησης για την υπηρεσία. Οι προαιρετικές τιμές περιλαμβάνουν τύπους που χρησιμοποιούνται από προγράμματα οδήγησης.
    (default = demand)

    error=normal, severe, critical, ignore
    Σοβαρότητα σφάλματος στην περίπτωση που η υπηρεσία δεν ξεκινά στη διάρκεια της εκκίνησης.
    (default = normal)

    binPath=(συμβολοσειρά)
    Όνομα διαδρομής προς το δυαδικό αρχείο της υπηρεσίας. Δεν υπάρχει προεπιλογή για αυτήν την παράμετρο. Αυτή η συμβολοσειρά πρέπει να χρησιμοποιηθεί.

    group=(συμβολοσειρά)
    Όνομα ομάδας της οποίας είναι μέλος αυτή η υπηρεσία. Η λίστα ομάδων που είναι αποθηκευμένες στο μητρώο, στην περιοχή ServiceGroupOrder.
    (default = nothing)

    tag=(συμβολοσειρά)
    Εάν αυτή η συμβολοσειρά έχει οριστεί σε "yes," το Sc.exe αποκτά ένα TagId από την κλήση CreateService, ωστόσο, το Sc.exe δεν εμφανίζει την ετικέτα.
    (default = nothing)

    depend=(συμβολοσειρά διαχωρισμένη με κενό διάστημα)
    Ονόματα υπηρεσιών ή ομάδων που πρέπει να εκκινηθούν πριν από αυτήν την υπηρεσία.

    obj=(συμβολοσειρά)
    Όνομα του λογαριασμού στον οποίο εκτελείται η υπηρεσία. Για τα προγράμματα οδήγησης, αυτό είναι το όνομα αντικειμένου του προγράμματος οδήγησης των Windows.
    (default = LocalSystem)

    DisplayName=(συμβολοσειρά)
    Μια συμβολοσειρά που μπορεί να χρησιμοποιηθεί από προγράμματα περιβάλλοντος εργασίας χρήστη για την αναγνώριση της υπηρεσίας.

    password=(συμβολοσειρά)
    Μια συμβολοσειρά κωδικού πρόσβασης. Απαιτείται όταν χρησιμοποιείται ένας λογαριασμός διαφορετικός από τον LocalSystem.
Optionvalue
Καθορίζει την τιμή μιας παραμέτρου που ονομάστηκε από την παράμετρο Optionname. Ανατρέξτε στην αναφορά Optionname για να προβάλετε μια λίστα υποστηριζόμενων τιμών. Όταν πρόκειται να εισαχθεί μια συμβολοσειρά, η χρήση κενών εισαγωγικών σημαίνει ότι υπάρχει μέσα μια κενή συμβολοσειρά.

ΣΗΜΕΙΩΣΗ: Η εντολή sc create εκτελεί τις λειτουργίες της συνάρτησης API CreateService.

Το ακόλουθο παράδειγμα δημιουργεί μια καταχώρηση μητρώου για την υπηρεσία που ονομάζεται "NewService" στον υπολογιστή που ονομάζεται \\remotecomputer:
sc \\remotecomputer create newservice binpath= c:\nt\system32\newserv.exe
Αυτή η υπηρεσία δημιουργείται ως WIN32_SHARE_PROCESS με τύπο εκκίνησης SERVICE_DEMAND_START από προεπιλογή. Δεν έχει καμία εξάρτηση και εκτελείται στο περιβάλλον ασφαλείας LocalSystem.

Το ακόλουθο παράδειγμα δημιουργεί την υπηρεσία στον τοπικό υπολογιστή ως υπηρεσία αυτόματης εκκίνησης, η οποία εκτελείται με τη δική της διαδικασία. Έχει εξαρτήσεις στην ομάδα TDI και στην υπηρεσία NetBIOS. Σημειώστε ότι πρέπει να προσθέσετε εισαγωγικά γύρω από τη λίστα εξαρτήσεων που είναι διαχωρισμένες με κενά διαστήματα.
sc create newservice binpath= c:\nt\system32\newserv.exe type= own start= auto depend= "+tdi netbios"
Για περισσότερες λεπτομέρειες σχετικά με το εργαλείο Sc.exe, ανατρέξτε στο έγγραφο Sc-dev.txt του Resource Kit. Αυτό το έγγραφο περιγράφει το Sc.exe με περισσότερες λεπτομέρειες.

Ιδιότητες

Αναγν. άρθρου: 251192 - Τελευταία αναθεώρηση: Δευτέρα, 7 Αυγούστου 2006 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • 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
Λέξεις-κλειδιά: 
kbinfo KB251192

Αποστολή σχολίων

 

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