![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
指定したフォルダのアクセス権限を取得し、「書き込み権限が無い」場合エラーを出力したいのですが、
良い方法があれば教えていただけますでしょうか。
開発環境は、visualC#を使っています。
現在圧縮を行う ⇒ ファイルを出力する ⇒ 出力先に書き込み権限がなかった場合、エラーを出力する
というプログラムを書いています。
そこでアクセス権限を取得したいです。
AccessControlType AccountName FileSystemRights IsInherited
Allow NT AUTHORITY\SYSTEM FullControl False
Allow BUILTIN\Administrators FullControl False
Allow BUILTIN\Users ReadAndExecute, Synchronize False
Allow NT SERVICE\TrustedInstaller FullControl True
Allow BUILTIN\Administrators ReadAndExecute, Synchronize True
Allow NT AUTHORITY\SYSTEM ReadAndExecute, Synchronize True
Allow BUILTIN\Users ReadAndExecute, Synchronize True
GetAccessControlメソッドで、上記のように各権限をテキストで出力する事はできるのですが、
「書き込み権限が無い場合」という条件をif文で判別する場合どのようにすれば良いか悩んでします。
このような出力でアクセス権限を取得しなくても、
書き込み権限があるかどうか判別する為のメソッド(返り値としてtrue or false)があるのか。
このテキストでの出力から文字列操作でtrueかfalseを抜いて、
フルコントロールもしくはユーザの書き込み権限いずれかの部分がtrueになっているのを確認しなければいけないのか。
ご教授いただけないでしょうか。
よろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ざっくり検索しただけですが……
http://intre.net/item_6569.html
辺りとか参考になりますかねぇ?
SIDやらなんやらが関わって来ますし、ちょっと面倒かも知れませんね。
上位のフォルダにFileSystemRights列挙体のCreateFilesが必要かも知れませんし。
文字列操作ではありませんが、取得したデータからの検索処理みたいなものは必要でしょう。
GetAccessRules()メソッドでコレクションを取得して、現在の権限が対応するものを探す必要があるでしょう。
# ユーザーに権限が設定されているかグループに権限が設定されているか…という問題もありますし。
# グループに設定してあって個別ユーザーの設定は無い。ということも考えられます。ドメインに参加している場合…とか。
使用するメソッド名やらでWeb検索すると他にも見つかるかも知れませんね。
# 英語なページである可能性も否定出来ませんけど。
No.1
- 回答日時:
う~ん……実際にファイル作成してみるのが簡単そうですけどねぇ。
書き込めなければ例外が発行されるでしょうし。
GetAccessControlメソッドってどのクラスのでしょう?
FileInfoですかね?
この回答への補足
http://msdn.microsoft.com/ja-jp/library/system.i …
このクラスです^^;
そうですね、書き込めなかったら例外が起きるんですが
起きる前に検知してエラーだしたいんですよね・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# アクセス権の組み合わせについて 読み込み:4、書き込み:2、実行:1 と言う風に設定されているので、 5 2022/11/30 15:46
- その他(Microsoft Office) 正しい日本語を直してほしいです 3 2022/04/09 16:42
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- 弁護士・行政書士・司法書士・社会保険労務士 ★行政書士試験の民法についての質問になります。 代理での問題で分からない事があります。 問 建物を購 2 2023/05/18 22:06
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
プログラムについての質問です...
-
4Kの外部モニターに出力すると...
-
アクセスでエクセルに出力する...
-
テキストファイルから特定の文...
-
KEYENCEのシーケンスプログラム...
-
Notion APIとGASで自動実行したい
-
エクセルVBAにて アルファ...
-
無線とかアンテナに関しの質問...
-
VBAでテキスト出力時のスペース...
-
Powerampでプレイリストの出力
-
VBAのExecメソッドで画面を非表...
-
ジャイロセンサーの繰り返し誤...
-
VBでステッピングモーターを動...
-
VBAで有効数字の設定
-
SQL HDR=YES;IMEX=1
-
printfとputcharの違いは
-
無停電電源装置(UPS)の待機時...
-
makeで文字化けする。migwのmak...
-
【PowerPoint VBAの高速化】
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
printfとputcharの違いは
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
テキストファイルから特定の文...
-
MMDでavi出力が出来ない
-
コンセントの電力は入力と出力...
-
アクセスでエクセルに出力する...
-
OBS配信すると、マイクが途切れ...
-
coutで出力した文字を消去する...
-
CRC16計算について
-
VBA レジストリの値の読み方に...
-
ACCESS クエリ→フォーム...
-
printfの書式%.*s
-
VBAで有効数字の設定
-
VBAでテキスト出力時のスペース...
-
VBAのExecメソッドで画面を非表...
-
makeで文字化けする。migwのmak...
おすすめ情報