Druckerberechtigungen mit SetAcl ändern
Hallo zusammen.
Ich habe ein kleines Problem zu bewältigen.
Folgendes:
Ich muss auf verschiedenen Druckservern für einen User,den es nicht in einer anderen Gruppe gibt,das Recht vollzugriff auf read beschränken.Das sieht ungefähr so aus:
D:\path\setacl.exe –on \\abagbm033a.ubm.hallormunicipal.biz\dk-jt-hp500 -ot printer -actn ubm –act « n :useromain\username ;p :read »
soweit so gut,aber dieser User befindet sich auf verschieden Druckservern mit ca 300 Druckern.Ich habe von jedem Server eine Exelliste mit Druckernamen.
Mein Problem besteht darin,ich möchte nicht 300 Drucker einzeln ändern,sonder die Exellisten mit einbinden.Leider habe ich zur zeit keinen Plan,wie ich das anstellen soll.
Ich hoffe ,das mir einer helfen kann.
Ich habe ein kleines Problem zu bewältigen.
Folgendes:
Ich muss auf verschiedenen Druckservern für einen User,den es nicht in einer anderen Gruppe gibt,das Recht vollzugriff auf read beschränken.Das sieht ungefähr so aus:
D:\path\setacl.exe –on \\abagbm033a.ubm.hallormunicipal.biz\dk-jt-hp500 -ot printer -actn ubm –act « n :useromain\username ;p :read »
soweit so gut,aber dieser User befindet sich auf verschieden Druckservern mit ca 300 Druckern.Ich habe von jedem Server eine Exelliste mit Druckernamen.
Mein Problem besteht darin,ich möchte nicht 300 Drucker einzeln ändern,sonder die Exellisten mit einbinden.Leider habe ich zur zeit keinen Plan,wie ich das anstellen soll.
Ich hoffe ,das mir einer helfen kann.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160570
Url: https://administrator.de/forum/druckerberechtigungen-mit-setacl-aendern-160570.html
Ausgedruckt am: 21.05.2025 um 15:05 Uhr
6 Kommentare
Neuester Kommentar
Hallo diddi100 und willkommen imForum!
Im einfachsten Fall speicherst Du die Excel-Datei im CSV-Format und gehst die entstandene Liste per Batch durch - unter der Annahme, dass Servername und Druckername in getrennten Spalten stehen, (ungetestet) etwa so:
In dieser Fassung werden die einzelnen Befehle (wegen des enthaltenen "
Grüße
bastla
Im einfachsten Fall speicherst Du die Excel-Datei im CSV-Format und gehst die entstandene Liste per Batch durch - unter der Annahme, dass Servername und Druckername in getrennten Spalten stehen, (ungetestet) etwa so:
@echo off & setlocal
set "Liste=D:\Druckerliste.csv"
for /f "usebackq tokens=1-2 delims=;" %%i in ("%Liste%") do echo D:\path\setacl.exe –on "\\%%i\%%j" -ot printer -actn ubm –act « n :useromain\username ;p :read »
pause
echo
") nur (zum Testen) angezeigt - wenn das Ergebnis vernünftig aussieht, einfach dieses "echo
" entfernen ...Grüße
bastla

moin,
hast du meinen Rat also befolgt
Ps:
Du kannst das doch probieren - wie Bastla geschrieben hat - solange das echo da drin steht - zeigt der nur an und du mußt nur deine gewünschte Zeile - von der du weißt - dass die funktionaniert - mit dem "echo" Zeilen von bastla optisch vergleichen.
Gruß & gute Besserung
hast du meinen Rat also befolgt
Ps:
Du kannst das doch probieren - wie Bastla geschrieben hat - solange das echo da drin steht - zeigt der nur an und du mußt nur deine gewünschte Zeile - von der du weißt - dass die funktionaniert - mit dem "echo" Zeilen von bastla optisch vergleichen.
Gruß & gute Besserung
Hallo diddi100!
Eigentlich war ich davon ausgegangen, dass alle Einträge sich in einer einzigen Excel- (und dann CSV)-Datei befänden - wenn dem nicht so ist, aber zumindest der Satzaufbau stimmt (1. Spalte Servername, 2. Spalte Druckername) und es einen gemeinsamen Namensbestandteil (zB "Druckerliste") gibt, könntest Du das entweder mit einer weiteren Schleife über die CSV-Dateien hinweg erledigen, oder einfacher mit:
Grüße
bastla
Eigentlich war ich davon ausgegangen, dass alle Einträge sich in einer einzigen Excel- (und dann CSV)-Datei befänden - wenn dem nicht so ist, aber zumindest der Satzaufbau stimmt (1. Spalte Servername, 2. Spalte Druckername) und es einen gemeinsamen Namensbestandteil (zB "Druckerliste") gibt, könntest Du das entweder mit einer weiteren Schleife über die CSV-Dateien hinweg erledigen, oder einfacher mit:
@echo off & setlocal
set "Listen=D:\Druckerliste*.csv"
for /f "usebackq tokens=1-2 delims=;" %%i in ('type "%Listen%" 2^>nul') do echo D:\path\setacl.exe –on "\\%%i\%%j" -ot printer -actn ubm –act « n :useromain\username ;p :read »
pause
bastla