Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Start & shut down windows services

Îåêßíçóå áðü ôï ìÝëïò rantanplan. Τελευταία δημοσίευση από το μέλος rantanplan στις 26-05-2009, 15:39. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  25-05-2009, 09:40 50929

    Start & shut down windows services

    Καλημέρα παιδιά.
    Μήπως θα μπορούσατε να μου πείτε πως θα μπορούσα να έχω πρόσβαση στα services του υπολογιστή; (σε VB .ΝΕΤ 2008 )

    Θα ήθελα πχ με το πάτημα ενός κουμπιού να σταματάω κάποιο service, με το πάτημα κάποιου άλλου να το ξεκινάω κ.ο.κ

    Ευχαριστώ πολύ

    Keep programming.....
  •  25-05-2009, 10:22 50930 σε απάντηση της 50929

    Απ: Start & shut down windows services

    Αυτό που χρειάζεσαι είναι ένας ServiceController. Υπάρχει και σε Control στο ToolBox αλλά καλύτερα  κατευθείαν στον κώδικα.

    Επίσης για ένα πολύ απλό παράδειγμα με ένα απλό googling παίρνεις κάτι σαν αυτό





    Manos
  •  25-05-2009, 10:23 50931 σε απάντηση της 50929

    Απ: Start & shut down windows services

    Καλημερα

    μπορεις ευκολα αν γνωριζεις το ονομα του service ελπιζω το παρακατω παραδειγμα να σου δωσει την λυση.Smile

    Imports System.Threading
    Imports System.ServiceProcess
    
    'dilonoume kapou ta services mas, sinithos stin arxi arxi
        Dim MyService001 As New ServiceController("MyExactServiceName")
    
    'meta opou xriazete leme to service auto na stamatisei!
    MyService001.stop()
    thread.sleep(3000) 'edo stamato gia 3 deutera giati os gnosto ta services otan stamatoun den stamatoun ameson pernei 1-3 deutera min tixon patiseis to koumpi na xekinisei xana edo den exei pliros stamatisei.
    
    MyService001.refresh 'refresh to status tou service
    MyService001.status.tostring 'sou epistrefei tin katastasei tou service ekinei tin stigmi se keimeno
    
    'kai apla gia na to xanaxekinisoyme
    MyService001.Start()


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  25-05-2009, 10:32 50932 σε απάντηση της 50931

    Απ: Start & shut down windows services

    Παιδιά σας ευχαριστώ πολύ θα το κοιτάξω και θα σας πω. Να σημειώσω (το ξέχασα να το αναφέρω!!) θα ηθέλα απο το pc μου ουσιαστικά να σταματάω ένα service που βρίσκεται στον server στον οποίο έχω πρόσβαση απο το pc μου.

    Πώς θα αναφερθώ στον server γα να σταματήσω το service εκεί;

    Ευχαριστώ

    Keep programming.....
  •  25-05-2009, 10:46 50934 σε απάντηση της 50932

    Απ: Start & shut down windows services

    ServiceController.MachineName

    Μεγάλη προσοχή στο security

    Manos
  •  25-05-2009, 11:04 50935 σε απάντηση της 50930

    Απ: Start & shut down windows services

    Θα παίξεις πάλι με τον ServiceController όπως σου λέει ο Μάνος. Αν κοιτάξεις τα properties του ServiceController, θα δεις ότι υπάρχει και το MachineName property. Εκεί βάζεις το όνομα του server σου, χωρίς backslash. Αν όμως θέλεις να ελέγξεις το service με κώδικα, χρησιμοποιείς τον αντίστοιχο constructor ο οποίος δέχεται τόσο το όνομα του service όσο και του μηχανήματος , πχ.

    Dim controller As ServiceController = New ServiceController("MyService","MyServer")

    Προσοχή όμως! Το να ξεκινάς/σταματάς services απαιτεί ειδικά permissions, τόσο από τον κώδικα σου όσο και από τον χρήστη που τον εκτελεί! Διαφορετικά ο server θα αρνηθεί όχι μόνο να σταματήσει/ξεκινήσει το service αλλά και να σου πει σε τί κατάσταση είναι. Επίσης, θα πρέπει και η εφαρμογή σου να έχει τα κατάλληλα code-access permissions.

    Τα code access permissions που απαιτούνται περιγράφονται στο documentation των μεθόδων Start, Stop . Τα permission του χρήστη ορίζονται από τον administrator του server ή του domain σου μέσω Group Policy.

    Ρίξε μία ματιά στο documentation της ServiceController (πάς επάνω στην κλάση μέσα στον κώδικα σου και πατάς F1) αλλά και στο κεφάλαιο Monitoring Windows Services. Για παράδειγμα, όλοι οι τρόποι να δημιουργήσεις ένα ServiceController περιγράφονται στο How To: Create ServiceController Component Instances.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  25-05-2009, 11:06 50936 σε απάντηση της 50934

    Απ: Start & shut down windows services

    Φτου, με πρόλαβε ο Μάνος! Αλλά εγώ γράφω πιο γρήγορα Stick out tongue

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  26-05-2009, 15:04 50989 σε απάντηση της 50929

    Απ: Start & shut down windows services

    Παναγιώτης Καναβός:

    Μία desktop εφαρμογή χρησιμοποιεί πάντα τα credentials του χρήστη που την εκτελεί. Αν παίρνεις access denied είναι γιατί όντως η εφαρμογή δεν έχει δικαίωμα να διαβάσει το συγκεκριμένο αρχείο.

    Από εκεί και πέρα, τί σχέση έχει ο παραπάνω κώδικας με το service? Και γιατί χρησιμοποιείς IP αντί για τα ονόματα των server? Πώς εκτελείται ο παραπάνω κώδικας? Τον εκτελείς στο debugger? Εκτελείς το τελικό exe? Κάτι άλλο?




    Και πως μπορώ να έχω access;;;
    Όταν χτυπάω απο το pc μου έχω πρόσβαση κανονικά.
    Το service βασικά το έχω χρησιμοποιήσει σε άλλη function και δούλεψε κανονικά.
    Εκτελώ το τελικό exe.

    Keep programming.....
  •  26-05-2009, 15:16 50990 σε απάντηση της 50989

    Απ: Start & shut down windows services

    Αφού η ερώτηση είναι άσχετη με την αρχική θα πρέπει να κάνεις νέο post, διαφορετικά απλά μπερδεύεις όποιον προσπαθήσει να σε βοηθήσει.

    Κανονικά η εφαρμογή δεν πρέπει να έχει κανένα πρόβλημα. Για να έχεις πρόβλημα σημαίνει ότι κάτι περίεργο συμβαίνει. Και ακόμα δεν μου είπες γιατί χρησιμοποιείς IP και όχι τα ονόματα των server!

    Αν την εκτελείς εσύ, στο PC σου, έχοντας κάνει login στο PC με το ίδιο domain account με το οποίο έχεις πρόσβαση στο server, η εφαρμογή δεν έχει λόγο να κτυπήσει. Αν όμως το PC σου ή οι server δεν είναι στο domain, ή αν χρησιμοποιείς local accounts για να διαβάσεις τα συγκεκριμένα folders, λογικό είναι η εφαρμογή να μην δουλέψει γιατί το ένα μηχάνημα δεν αναγνωρίζει τα accounts του άλλου μηχανήματος.

    Αν είσαι σίγουρος ότι δεν έχεις κάνει κάτι τέτοιο περίεργο, θα πρέπει να χρησιμοποιήσεις το Procmon για να δεις γιατί κτυπάει η εφαρμογή. Το ProcMon καταγράφει κάθε πρόσβαση (Read, Write, Delete κλπ) στο σκληρό και στο registry καθώς και το αποτέλεσμα. Θα πρέπει καταρχήν να περιορίσεις τα events που δείχνει μόνο στα File Events και μετά να τρέξεις την εφαρμογή σου. Εκτέλεσε τον κώδικα που δημιουργεί το πρόβλημα, κάνε pause το ProcMon και μετά ψάξε για το ACCESS DENIED που αντιστοιχεί στην εφαρμογή σου.
    To event του ProcMon θα σου εμφανίσει διάφορα στοιχεία, μεταξύ των οποίων και με ποιό account προσπάθησε η εφαρμογή σου να διαβάσει το αρχείο.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  26-05-2009, 15:39 50991 σε απάντηση της 50990

    Απ: Start & shut down windows services

    Παναγιώτης Καναβός:

    Αφού η ερώτηση είναι άσχετη με την αρχική θα πρέπει να κάνεις νέο post, διαφορετικά απλά μπερδεύεις όποιον προσπαθήσει να σε βοηθήσει.

    Κανονικά η εφαρμογή δεν πρέπει να έχει κανένα πρόβλημα. Για να έχεις πρόβλημα σημαίνει ότι κάτι περίεργο συμβαίνει. Και ακόμα δεν μου είπες γιατί χρησιμοποιείς IP και όχι τα ονόματα των server!

    Αν την εκτελείς εσύ, στο PC σου, έχοντας κάνει login στο PC με το ίδιο domain account με το οποίο έχεις πρόσβαση στο server, η εφαρμογή δεν έχει λόγο να κτυπήσει. Αν όμως το PC σου ή οι server δεν είναι στο domain, ή αν χρησιμοποιείς local accounts για να διαβάσεις τα συγκεκριμένα folders, λογικό είναι η εφαρμογή να μην δουλέψει γιατί το ένα μηχάνημα δεν αναγνωρίζει τα accounts του άλλου μηχανήματος.

    Αν είσαι σίγουρος ότι δεν έχεις κάνει κάτι τέτοιο περίεργο, θα πρέπει να χρησιμοποιήσεις το Procmon για να δεις γιατί κτυπάει η εφαρμογή. Το ProcMon καταγράφει κάθε πρόσβαση (Read, Write, Delete κλπ) στο σκληρό και στο registry καθώς και το αποτέλεσμα. Θα πρέπει καταρχήν να περιορίσεις τα events που δείχνει μόνο στα File Events και μετά να τρέξεις την εφαρμογή σου. Εκτέλεσε τον κώδικα που δημιουργεί το πρόβλημα, κάνε pause το ProcMon και μετά ψάξε για το ACCESS DENIED που αντιστοιχεί στην εφαρμογή σου.
    To event του ProcMon θα σου εμφανίσει διάφορα στοιχεία, μεταξύ των οποίων και με ποιό account προσπάθησε η εφαρμογή σου να διαβάσει το αρχείο.



    Έχεις δίκαιο αλλα είπα να συνεχίσω το post μια που αφορούσε την ίδια εφαρμογή.
    Λοιπόν δεν έχω κάποιο ιδιαίτερο λόγο που χρησιμοποιώ IP.
    Βασικά κάνω login στο pc μου από όπου τρέχω την εφαρμογή με διαφορετικό domain account απο αυτό που κάνω στον server.
    Μπορώ με κάποιον τρόπο να δω τα συγκεκριμένα folders του server με το δικό μου  account?
    Και μια άλλη ερώτηση: Γιατί απο το run βλέπω κανονικά τα folder ενώ το applicaion που έφτιαξα δεν τα βλέπει;;

    Keep programming.....
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems