廃止されたSIDを削除しようとしています(アカウントが削除されたようです)。
サーバー(win2003)とクライアント(win7)で以下を実行しようとしました。
icacls c:\path /remove *S-1-5-21-1883347182-1220252494-433279356-1095 /T
しかし、私は常に出力を取得します
Successfully processed 0 files; Failed processing 0 files
何もせずに。どうすればそれを機能させることができますか?
更新:
AccessEnum を使用してSIDを取得しました。これは、icaclsが「アカウント名とセキュリティIDの間のマッピングが行われなかった」としか表示しないためです。しかし、sidは表示されません。
AccessEnumからの出力は次のとおりです。
"Path" "Read" "Write" "Deny"
"c:\path" "Administrators, S-1-5-21-1883347182-1220252494-433279356-1095, ..." "Administrators, S-1-5-21-1883347182-1220252494-433279356-1095, ..." ""
別の人への私の提案 同様の質問
「おそらくあなたはSUBINACLを探しています。それをダウンロードしてください ここ
subinacl.exe/help/cleandeletedsidsfromは以下を提供します:
/ cleandeletedsidsfrom = domain [= dacl | sacl | owner | primarygroup | all]
domainNameから削除された(無効な)Sidを含むすべてのACEを削除します。セキュリティ記述子のどの部分をスキャンするかを指定できます(デフォルト=すべて)所有者が削除された場合、新しい所有者はAdministratorsグループになります。プライマリグループが削除されると、新しいプライマリグループはユーザーグループになります。これは/ fileまたは/ shareまたは/ subdirectoriesで使用できるようです必要に応じて
icacls
の_/save
_および_/restore
_関数を使用する最もポータブルで実際に最も簡単な方法を見つけました。
_icacls C:\ /save D:\creds.txt /T
_
次に、Vimまたはその他の_gred/sed/awk
_と同等のファイルを操作します。これにより、SIDを削除したり、SIDを置き換えたりすることができます。ファイルの処理が終了したら、
_icacls C:\ /restore D:\creds.new.txt /T
_
そのこと。他のプログラムをダウンロードする必要はありません。さらに別の非標準のコマンドライン構文を学ぶ必要はありません。ダミーファイルを作成し、GUIなどを使用してACLを希望どおりに作成し、_/save
_を使用して結果のACE文字列がどのように表示されるかを確認し、そのACE文字列をコピーして_creds.new.txt
_。
SetACL :で簡単に行うことができます。
SetACL -on C:\Path -ot file -actn trustee -trst
"n1:S-1-5-21-1883347182-1220252494-433279356-1095;s1:y;ta:remtrst;w:dacl"