Aus irgendeinem Grund können mehrere Laptops in unserem WLAN-Netzwerk häufig 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. Allerdings erfordert der Neustart des Windows-Druckspoolerdienstes (über services.msc
oder über den net start/stop
Befehl) Administratorrechte.
Gibt es eine Möglichkeit, Standardbenutzern den Neustart ihres lokalen Druckerspoolerdienstes zu ermöglichen, ohne dass erhöhte Rechte oder Administratorrechte erforderlich sind? Beispielsweise über eine Richtlinienänderung?
Antwort1
Ich habe Methode 3 verwendet.So erteilen Sie Benutzern Rechte zum Verwalten von Diensten in Windows 2000.
- Herunterladen und installierenSubInACL.exe
- laufen
"C:\Program Files\Windows Resource Kits\Tools\subinacl" /service Spooler /grant=<username>=TO
SubInACL
funktioniert unter Windows 7.
Der T
Grant-Parameter dient start service
dem Zugriff und der O
Parameter ist stop service
der Zugriff.
Jetzt <username>
können:
- laufen
sc stop Spooler
undsc start Spooler
- laufen
net stop "Print Spooler"
undnet start "Print Spooler"
- verwenden Sie die
Restart
Schaltfläche auf demPrint Spooler
Element inservices.msc
Antwort2
Versuchen Sie: SetACL: Windows ACL-Verwaltung http://sourceforge.net/projects/setacl/
SetACL + GUI = SetACL Studio http://helgeklein.com/setacl-studio/
Antwort3
Ein alter Blogeintraghat die richtige Lösung (schauen Sie unter „Allen authentifizierten Benutzern erlauben, den Dienst neu zu starten“). Führen Sie Folgendes einmal in einer Eingabeaufforderung mit erhöhten Rechten 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 es Spooler
durch den Namen des Dienstes, den die Benutzer neu starten müssen. 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 diese Antwort:
[SC] SetServiceObjectSecurity SUCCESS
Jetzt können alle authentifizierten Benutzer den Dienst neu starten.
Antwort4
Überprüfen und dokumentieren Sie zunächst die vorhandenen Standardberechtigungen.
Geben Sie in einer Eingabeaufforderung mit erhöhten Rechten Folgendes ein:
sc.exe sdshow spooler
Ergebnisse:
D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRSDRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
Schlüssel zum Lesen der Ausgabe:
D: — Diskretionäre ACL (DACL)
S: — Systemzugriffskontrollliste (SACL)
Der erste Buchstabe bedeutet: erlauben (A) oder verweigern (D)
Der nächste Symbolsatz stellt zuweisbare Berechtigungen dar:
CC — SERVICE_QUERY_CONFIG (Diensteinstellungen anfordern)
LC — SERVICE_QUERY_STATUS (Dienststatusabfrage)
SW — SERVICE_ENUMERATE_DEPENDENTS
LO — SERVICE_INTERROGATE
CR — SERVICE_USER_DEFINED_CONTROL
RC — READ_CONTROL
RP — SERVICE_START
WP — SERVICE_STOP
DT — SERVICE_PAUSE_CONTINUE
Die Liste der Treuhänder ist lang, aber wir suchen nach authentifizierten Benutzern (AU), die in der ersten Klammer enthalten sind.
Das Hinzufügen von RP-, WP- und DT-Berechtigungen für authentifizierte Benutzer (AU) sollte funktionieren:
(A;;CCLCSWLOCRRCRPWPDT;;;AU)
So legen Sie diese Berechtigungen fest: erneut über eine Eingabeaufforderung mit erhöhten Rechten:
sc.exe sdset spooler "D:(A;;CCLCSWLOCRRCRPWPDT;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
So setzen Sie die Berechtigungen auf die Standardwerte zurück und entziehen authentifizierten Benutzern dadurch die Möglichkeit, den Spooler-Dienst zu starten/stoppen/anzuhalten/fortzusetzen:
sc.exe sdset spooler "D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
Ein Großteil des Verdienstes gebührt dem IT Connect der University of Washington anhttps://itconnect.uw.edu/wares/msinf/other-help/understanding-sddl-syntax/