スクリプトでプリンターのアクセス許可を更新する必要があります。つまり、手動で行うのと同じ方法で行います。
どうやってするか?たとえば、PowerShellでは次のことができます
_Get-WmiObject -class win32_printer -filter Default=True
_
デフォルトのプリンタを取得するには、メソッドgetSecurityDescriptor()
とsetSecurityDescriptor()
がありますが、たとえば次のコマンドを使用します。
_(Get-WmiObject -class win32_printer -filter Default=True).getsecuritydescriptor().Descriptor
_
nullを返すので、正しい方法で行っているかどうかわかりません。
プリンターの権限を設定するための実用的な例はありますか?私は正しい道を進んでいますか、それともWMI以外のものを完全に使用する必要がありますか?ありがとう。
PowerShellを知りません。NETとWMIを使用して直接プリンターのアクセス許可を取得しただけですが、アクセス許可はSecurityDescriptor、Descriptorプロパティ、[〜#〜] dacl [〜#〜] プロパティ。1つ以上のWin32_ACEオブジェクトが含まれ、各オブジェクトにはが含まれます。 AccessMask、AceFlags、およびTrustreeは、Win32_Trusteeオブジェクトであり、アクセス許可の適用先が含まれています。
上記の設定を簡素化するPowerShellアドオンがあるかもしれません。あるいは、PowerShellから呼び出すことができる SetACLコマンドラインツール を見てください。