Wie lege ich Druckerberechtigungen mit PowerShell oder einem anderen Skript fest?

Wie lege ich Druckerberechtigungen mit PowerShell oder einem anderen Skript fest?

Ich muss die Druckerberechtigungen in einem Skript aktualisieren, also dasselbe tun, was ich manuell folgendermaßen tun würde:

  1. OffenGeräte und DruckerApplet
  2. Doppelklicken Sie auf den Standarddrucker (öffnen Sie seine Warteschlange).
  3. Gehe zuDrucker -> Eigenschaften
  4. Gehen Sie im Eigenschaftendialog zuSicherheitTab
  5. Berechtigungen ändern fürAlle(z. B. überprüfenDokumente verwaltenBerechtigungen)

Wie geht das? In PowerShell kann ich beispielsweise Folgendes tun:

Get-WmiObject -class win32_printer -filter Default=True

um den Standarddrucker zu bekommen und es gibt dann Methoden getSecurityDescriptor()und setSecurityDescriptor()zum Beispiel diesen Befehl:

(Get-WmiObject -class win32_printer -filter Default=True).getsecuritydescriptor().Descriptor

gibt null zurück, also bin ich nicht sicher, ob ich es richtig mache.

Hat jemand ein funktionierendes Beispiel zum Festlegen von Druckerberechtigungen? Bin ich auf dem richtigen Weg oder sollte ich etwas ganz anderes als WMI verwenden? Danke.

Antwort1

Ich kenne PowerShell nicht, ich habe Druckerberechtigungen nur direkt mit .NET und WMI eingerichtet, und das kann kompliziert werden, da die Berechtigungen aus denSicherheitsdeskriptor, das über eineBeschreibungEigentum, das über eineDACLEigenschaft, die eine oder mehrereWin32_ACEObjekte, von denen jedes enthältAccessMask, AceFlags und Trustreedie einWin32_TrusteeObjekt, das angibt, für wen die Berechtigung gilt.

Es gibt möglicherweise ein PowerShell-Addon, das die oben genannten Einstellungen vereinfacht. Alternativ können Sie sich auch dasSetACL-Befehlszeilentooldie Sie von PowerShell aus aufrufen können.

verwandte Informationen