Gibt es eine Möglichkeit, Standardbenutzern den Neustart (Beenden / Starten) des Druckerspoolers zu ermöglichen?

5

Aus irgendeinem Grund können mehrere Laptops in unserem WLAN-Netzwerk nicht mehr auf einem Gerät drucken, das an einen Server im Netzwerk angeschlossen ist. Das Neustarten des Druckerspoolers auf jedem Laptop behebt das Problem. Zum Neustarten des Windows-Druckerspoolerdiensts (entweder services.mscüber oder über den net start/stopBefehl) sind jedoch Administratorrechte erforderlich.

Gibt es eine Möglichkeit, Standardbenutzern den Neustart ihres lokalen Druckerspoolerdienstes zu ermöglichen, ohne dass dafür Berechtigungen oder Administratorrechte erforderlich sind? Zum Beispiel über eine Richtlinienänderung?

Sean e
quelle
Versuchen Sie die lokale Sicherheitsrichtlinie von secpol.msc. Ich glaube, sie haben die Verknüpfung in Win7 / Vista geändert, aber ich bin mir sicher, dass es nicht leicht sein wird, sie zu finden
dc5553
Mit dem Befehl sc können Sie die Berechtigungen für einen Dienst ändern. Ich glaube die optionen sind sdshow und sdset. Die SDDL-Syntax ist hier dokumentiert: msdn.microsoft.com/en-us/library/windows/desktop/…
Harry Johnston
sc sdshow spoolerZeigt die Serviceberechtigungen an. Die SDDL-Syntax muss entschlüsselt werden, um Änderungen vorzunehmen.
Sean und

Antworten:

12

Ich habe Methode 3 unter Gewähren von Benutzerrechten zum Verwalten von Diensten in Windows 2000 verwendet .

  1. Laden Sie die Datei SubInACL.exe herunter und installieren Sie sie
  2. Lauf "C:\Program Files\Windows Resource Kits\Tools\subinacl" /service Spooler /grant=<username>=TO

SubInACL funktioniert unter Windows 7.

Der TGrant-Parameter ist für den start serviceZugriff und der OParameter für den stop serviceZugriff.

Jetzt <username>können:

  • laufen sc stop Spoolerundsc start Spooler
  • laufen net stop "Print Spooler"undnet start "Print Spooler"
  • Verwenden Sie den RestartKnopf auf dem Print SpoolerGegenstand inservices.msc
Sean e
quelle
1
Genial. Als Administrator habe ich immer und immer wieder auf den PC eines Benutzers übertragen, um dies zu tun. Aber nicht mehr, danke!
ThisClark
Whoops ... als ich dies für den Dienst MySQL ausprobierte, bekam ich "MySQL - OpenService Error: 5 Access is denied"
Mike Nagetier
Das funktioniert nicht. Es macht keinen Unterschied. Standardbenutzer bekommen immer noch System error 5 has occurredund Access is denied. Ich verwende allerdings Windows 10.
Gary S.
1
Ich habe es vereinfacht, indem ich der Gruppe "Jeder" Zugriff gewährt habe, und es hat hervorragend funktioniert, auch unter Windows 10. Hinweis: Binden Sie die Anführungszeichen nicht ein.
AnthonyVO
0

Ein alter Blogeintrag hat die richtige Lösung (siehe "Allen authentifizierten Benutzern erlauben, den Dienst neu zu starten"). Führen Sie an einer Eingabeaufforderung mit erhöhten Rechten Folgendes aus:

sc sdset Spooler "D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;LCRPWP;;;AU)(A;;CCLCSWLOCRRC;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY) S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

Ersetzen Sie Spoolerdurch den Namen des Dienstes, den Benutzer zum Neustart benötigen. Verwenden Sie den Rest der Zeile genau so, wie er ist. Ich weiß nicht was es bedeutet, aber es funktioniert. :-)

Nach einigen Sekunden sehen Sie folgende Antwort:

[SC] SetServiceObjectSecurity SUCCESS

Jetzt können alle authentifizierten Benutzer den Dienst neu starten.

Gary S.
quelle