none
SIDをコマンドを使用して削除したい RRS feed

  • 質問

  • Windows server2003上でローカルグループにユーザーを登録しています。
    ユーザのドメインコントローラーは別サーバであり、ユーザーがドメインから削除されると、
    Windows server2003のサーバ上のローカルグループにはユーザーIDでは無く、SIDが表示された状態になってしまいます。
    このSIDはゴミなので削除したいのですが、コマンド等で削除する方法は無いでしょうか。
    現状は、グループをGUIで表示し、SIDを選択し削除しています。
    net localgroupコマンドでグループに属すユーザー一覧を出力してみましたが、SIDは出力されませんでした。
    グループが1000個近くあり、GUI操作ではかなり大変で何か良い方法があればと思い、投稿致しました。
     
    一つのグループに所属させる事のできるユーザー数の上限はどのくらいでしょうか。
    上限まで余裕があればSIDの削除作業をとりあえず行わなくてもゴミデータが残るだけなので良いかとも思っています。
    また、Windows server 2008にすれば対処できるのであれば更改までは何も対処しないのもありだとも思っているのすが。。
     
    ご教示よろしくお願いいたします。
    2011年9月15日 1:31

回答

  • チャブーンです。

    解決できないSIDをつかって、アクセス許可の削除を行う場合subinaclを使います。使い方などは、したのページに載っていますね。

    http://www.atmarkit.co.jp/fwin2k/win2ktips/1339rmacl/rmacl.html

    • 回答としてマーク 服部清次 2011年10月3日 1:18
    2011年9月17日 12:18
    モデレータ
  • チャブーンです。
    大変申し訳ありません。SIDで登録されたアクセス許可、ということではなく、SIDで登録されたユーザーアカウントのメンバー情報を削除したい、ということですね。であれば、subinaclは使えません。
    この場合ですが、プログラミング(ADSIやバッチファイル)で対応することになるのでは。ちょっと検索したところ、参考になる情報がありました。
    http://www.mombu.com/microsoft/scripting-vb-script/t-remove-account-from-administrators-by-sid-131238.html
    http://www.windowsitpro.com/article/tips/jsi-tip-10050-how-can-i-remove-all-invalid-members-of-all-local-administrators-groups-in-my-domain-
    2011年12月25日 1:46
    モデレータ

すべての返信

  • チャブーンです。

    解決できないSIDをつかって、アクセス許可の削除を行う場合subinaclを使います。使い方などは、したのページに載っていますね。

    http://www.atmarkit.co.jp/fwin2k/win2ktips/1339rmacl/rmacl.html

    • 回答としてマーク 服部清次 2011年10月3日 1:18
    2011年9月17日 12:18
    モデレータ
  • subinaclコマンドを実行してみたところ、認識されませんでした。

    別途インストールする必要があるようですね。

    インストール可能か調べてみます。

    ありがとうございます。

    2011年9月20日 14:50
  • こんにちは。
    フォーラム オペレーターの田中夢です。
     
    > チャブーン さん、
    いつもとても参考になる情報をご提供いただき、ありがとうございます。
     
    > Schneepall さん、
    今回、チャブーン さんの投稿が参考になるのではないかと思われましたので、勝手ながら私のほうで[回答としてマーク]とさせていただきました。

     
    また、既にご存知かもしれませんが、Subinacl コマンドは、下記の場所からダウンロードすることが可能ですので、ご活用いただければと思います。
    ・SubInACL (SubInACL.exe)
    http://www.microsoft.com/download/en/details.aspx?id=23510

     
    こちらの情報が参考になれば、幸いです。
    ---------------------------------------------------------------------
    日本マイクロソフト株式会社 フォーラム オペレーター 田中夢

    2011年10月3日 1:13
  • subinaclをインストールして、実行してみましたが、以下のようなエラーが出てうまく処理ができていないようです。

    権限はadmin権限のユーザーで実行しています。

    何か解決する方法はありませんでしょうか。

    ご教示お願いいたします。

    --エラー内容--

    SeDebugPrivilege : アクセスが拒否されました。

    WARNING :Unable to set SeDebugPrivilege privilege. This privilege may be required.

    - QueryObjectSecurity Error : 1332 アカウント名とセキュリティ ID の間のマッピングは実行されませんでした。

     

    2011年10月18日 14:17
  • チャブーンです。

    このメッセージUnable to set SeDebugPrivilege privilege. は(必要な)SeDebugPrivilege特権がない、という意味です。特権とはOSの特定機能についてのアクセス許可の一種となり、ローカルセキュリティポリシーかntrightsコマンドで設定します。ローカルセキュリティポリシーでは設定できない項目もあるのでntrightsコマンドを使った方がいいでしょう。コマンドについては、こういうページを見てみてください。

    http://support.microsoft.com/kb/315276/ja 


    リモートに対して実行している、という場合は、リモート先のアカウントにも特権が必要になります。リモート先のマシン上でntrightsコマンドを実行すれば簡単でしょう。
    2011年10月22日 7:42
    モデレータ
  • ありがとうございます。

    権限を付与し、エラーはでなくなりました。

    ただ、subinaclコマンドではSIDを削除する方法が見つから無い状態です。

    権限はローカルグループ単位で付与しているため、ローカルグループ単位でしか判別できないようでローカルグループに属しているSIDまでは

    コマンドを使ってもわかりませんでした。

    2011年12月22日 1:10
  • チャブーンです。
    大変申し訳ありません。SIDで登録されたアクセス許可、ということではなく、SIDで登録されたユーザーアカウントのメンバー情報を削除したい、ということですね。であれば、subinaclは使えません。
    この場合ですが、プログラミング(ADSIやバッチファイル)で対応することになるのでは。ちょっと検索したところ、参考になる情報がありました。
    http://www.mombu.com/microsoft/scripting-vb-script/t-remove-account-from-administrators-by-sid-131238.html
    http://www.windowsitpro.com/article/tips/jsi-tip-10050-how-can-i-remove-all-invalid-members-of-all-local-administrators-groups-in-my-domain-
    2011年12月25日 1:46
    モデレータ
  • ありがとうございます。

    上記参考サイト拝見しました。

    なるほど、VBSでできそうですね。やってみたいと思います!

    2012年1月21日 15:46