2016-05-16 6 views
2

Ich arbeite an einer Überwachungs-App, die auf einem VM ausgeführt wird und ich möchte, dass meine Kollegen es ohne Verbindung auf dem VM verwenden können. Es funktioniert gut, aber ich habe ein Problem.Starten Sie einen Dienst von einer Webanwendung mit Administratorrechten und übergeben Sie eine Batchdatei

Eines meiner Ziele ist das Starten/Stoppen von Diensten mit einer Batch-Datei oder einer cmd-Datei (mit Class Runtime in meinem Rücken). Das Problem ist, dass ich dafür die Administratorrechte benötige. Alle Methoden, die ich gefunden habe (als Runas oder einige Batch-Dateien), funktionieren nur, wenn sich der Benutzer auf der VM befindet und das Passwort eingibt oder auf "Möchtest du diese Anwendung als Administrator ausführen" klickst. Ich möchte den Aufgabenplaner nicht verwenden, um cmd immer als Admin zu starten. Ich weiß bereits, dass Sie Software als "Sanur" verwenden können, aber ich bevorzuge es nicht.

Die einzige Möglichkeit, es funktioniert zu machen, ist die App als Admin zu starten und es funktioniert gut (ich verwende den "net Start/Stop" -Befehl). Aber ich würde gerne alle diese App starten lassen (falls ich nicht hier bin). Es ist kein Problem, das Login/Passwort in die Datei zu schreiben.

Gibt es eine Möglichkeit, dies zu tun?

Die vm läuft auf Windows 7.

Vielen Dank im Voraus.

Antwort

1

Sie müssen nicht Administrator sein, um einen Dienst zu starten und zu stoppen, Sie brauchen nur die Berechtigung. Mit Windows 7 Professional können Sie dies über den integrierten Gruppenrichtlinieneditor tun.

Mit Windows 7 Home gibt es keinen Richtlinieneditor.

Ich benutze ein Werkzeug SetACL genannt, dies zu tun, z:

setacl -on "service-name" -ot srv -actn ace -ace "n:betrand;p:start_stop" 

Wo "service-name" den Namen des Dienstes ist, und betrand ist der Benutzer, die Sie zulassen möchten beginnen und beenden Sie den Dienst.

Eine vollständige Liste der Optionen ist auf der Website verfügbar:

Eine weitere Möglichkeit das SubInACL Tool direkt von Microsoft.

+0

Vielen Dank für Ihre Antwort, aber wie Sie sagen, kann ich den integrierten Gruppenrichtlinieneditor nicht verwenden. Am Ende muss ich ein externes Werkzeug einsetzen, um meine Ziele zu erreichen, oder? Ich sollte in meiner Frage genauer sein, aber ich habe keine Rechte, Werkzeuge oder Software zu importieren (deshalb versuche ich nur eine Batch-Datei zu verwenden). Ich schätze deine Antwort sehr, danke. –

+0

@ Y.Bertrand: 'setacl.exe' erfordert keine Installation. Sie laden es einfach herunter, führen es aus und weisen die Privilegien zu. –

+0

'@ a_horse_with_no_name' Wie bereits erwähnt, habe ich keine Rechte, irgendwelche Werkzeuge zu benutzen. Ich arbeite an einem geschlossenen Netzwerk und kann keine neuen Tools hinzufügen. Es ist eine sehr strenge Bedingung von uns. Deshalb möchte ich nur ein Skript verwenden, das ich schreiben kann. Aber danke für die Tipps. –

Verwandte Themen