PowerShellでプリンタのセキュリティ設定を変更したいのですが、
「Add-AccessControlEntry」が動作しません。
どのように記述すれば動作するのかご教示ください。
<やりたい事詳細>
プリンタプロパティの「セキュリティ」タブで「Everyone」が「印刷:許可」のみ設定
された状態になっています。
この状態から、「このプリンターの管理」と「ドキュメントの管理」の権限を追加したいのです。
※他のアクセス権はそのまま残したい。
<記述内容>
#対象プリンタの指定
$S = "RICOH RPCS Basic Color"
$SFilter = "name='" + $S + "'"
$SPrinter = gwmi win32_printer -filter $SFilter
#セキュリティ情報を取得
$ace = $SPrinter.GetSecurityDescriptor
#'Everyone'のセキュリティ設定を追加
$ace | Add-AccessControlEntry -Principal Everyone -PrinterRights ManagePrinters # 983052
$ace | Add-AccessControlEntry -Principal Everyone -PrinterRights ManageDocuments # 983088
$ace | Set-SecurityDescriptor
<実行結果>
Add-AccessControlEntry : 用語 'Add-AccessControlEntry' は、コマンドレット、関数、スクリプト ファイル、または操作可能な
プログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しい
ことを確認してから、再試行してください。
発生場所 C:\Users\******\Desktop\printer_ace_add.ps1:10 文字:8
- $ace | Add-AccessControlEntry -Principal Everyone -PrinterRights Mana ...
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Add-AccessControlEntry:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Add-AccessControlEntry : 用語 'Add-AccessControlEntry' は、コマンドレット、関数、スクリプト ファイル、または操作可能な
プログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しい
ことを確認してから、再試行してください。
発生場所 C:\Users\******\Desktop\printer_ace_add.ps1:11 文字:8
- $ace | Add-AccessControlEntry -Principal Everyone -PrinterRights Mana ...
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Add-AccessControlEntry:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Set-SecurityDescriptor : 用語 'Set-SecurityDescriptor' は、コマンドレット、関数、スクリプト ファイル、または操作可能な
プログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しい
ことを確認してから、再試行してください。
発生場所 C:\Users\******\Desktop\printer_ace_add.ps1:12 文字:8
- $ace | Set-SecurityDescriptor
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Set-SecurityDescriptor:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
<実行環境のバージョン>
Windows7
PowerShell2.0
<参考にしたサイト>
https://gallery.technet.microsoft.com/scriptcenter/PowerShellAccessControl-d3be7b83#content
マイクロソフト コミュニティは一般ユーザー向けのフォーラムなので Msdn フォーラム が適当かと