Onlyに変更する場合です。先日紹介したオブジェクトACEのプロパティAccessMaskへ適切な値を設定し、setSecurityDescriptorを実行します。具体的には、こんな感じ。if参照権限の適切な値を設定した後で、そのオブジェクトに対してsetSecurityDescriptorを実行するのがポイントですね。コレが実行されるまで、参照権限は変更されません。アカウントを新規追加して、その参照権限を変更する方法ですが...コードを交えながら解説する前に、その手順について説明します。以下の手順を辿ることになります。対象アカウントのSIDを取得する。新規Trusteeオブジェクトを作成し、適切なプロパティを設定する。新規ACEオブジェクトを作成し、適切なプロパティを設定する。ACEオブジェクトをDACLへ追加する。setSecurityDescriptorを実行する。一見すると、今までやってきたことで大丈夫、最後にsetSecurityDescriptorを実行すれば良いだけだと思うのですが、違うのです。何がポイントかと言うと、ACEは配列で、resizeしてなければならない。DACLは配列であるが、動的配列ではない。適切なサイズの配列を作成する。既存のACE、DACLを新規ACEと共に、1の配列へコピーする。2の配列を既存のDACLと置き換える。言う手順を踏まなければなりません。技術的には全然不可能ではなく、サンプルも非常にシンプルではあるものの、深みに陥りやすい個所だと思います。参考文献のサンプルでは、この処理のために次の手順を踏んでいます。動的変更を容易にするため、Dictionaryを作成する。DACLをループさせ、適切な参照権限を持つACEだけをDictionaryに移す。コードにすると、こんな感じ。mySDに新規アカウントが設定されていると言う前提です。if長くなったため、1-3の手順はエントリーを分けました。次のエントリーをどうぞ。最後に、SecurityDescriptorについてもっと詳細に調べたい方は、コチラをどうぞ。23:03VBScriptでフォルダの参照権限を参照する。アルゴリズム問題の...先日、ロジック問題に対する一つのアプローチを紹介した。(以下ADE)というソフトウェアがある。印象、考察、そして余談。TOGAFTumblr裏紙ノートはてなブログをはじめよう!espio999さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。