• 締切済み

[VB6]プログラムの実行ユーザについて、管理者権限の有無を確認したい

作成しているプログラムについて、環境ファイルの書き出しなどを行いたいと考えているのですが、書き出し先をProgramFiles内にしたいと思っています。 この場合、NT系のOSでは、管理者権限がないと書き換えができないので、プログラムの実行ユーザの権限を確認し、権限がない場合は、処理を禁止したいと考えていますが、この場合、どのような方法で確認をすればいいでしょうか。 VB.Netでは、専用の関数があるようなのですが・・・。 よろしくお願いいたします。

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

実際に書き込みを試みて、エラーや例外が発生した場合は、処理を中断するようにするだけで良いのでは。 権限が足りていても書き込みエラーが発生する事はありえるので、だったら書き込め無い時の処理が、どうせ必要になるのですから。 セキュリティ情報については、クラスWin32_LogicalFileSecuritySettingなどWMIを通じて取得できます。

eitetsu
質問者

お礼

実際の処理を行って、というのももちろん行います。 ただし、その原因をはっきりわかるようにしておきたい、 ということがありました。 Microsoftのページにて、下記の記述を見つけることができましたので、 これをもとに進めてみようと思います。 http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/aug04/hey0805.mspx

関連するQ&A

  • 実行エラーとユーザー権限

    いま、ユーザー権限で自作ソフト(vb6)を実行しようとしているのですが、 「実行時エラー 339 コンポーネント'MSCOMCT2.OCX'、またはその依存関係の一つが適切に登録されていません。ファイルが存在しないか、あるいは不正です」 とエラーが出てしまいます。 (runtimeはインストール済みです) しかし管理者権限でログインし、実行すると問題なく動きます。 このエラーはユーザー権限だから起こっているのでしょうか?(それしか考えられませんが…) そうでしたらその時の対応方法はありませんでしょうか?管理者権限でしか実行することはできないのでしょうか? よろしくお願いします

  • PHPプログラムを各ユーザ権限で実行させる(suEXEC)には?

    色々なCMSを試してみたくて、テスト用の自宅サーバ(外部には非公開)を構築しています。 サーバ環境はubuntu9.04+Apache2+PHP5+MySQL5で、Apacheのuserdirモジュールを有効にしています。この状態で各CMS専用のユーザを作成し、各ユーザのドキュメントルートにCMSをインストールして使っています。 具体的には・・・ xoopsユーザを作成して http://localhost/~xoops/ にXOOPSをインストール。 drupalユーザを作成して http://localhost/~drupal/ にDrupalをインストール。 ここで問題になったのは、PHPプログラムがwww-dataユーザの権限で実行されるので、自動的に生成されるファイルの所有者がwww-dataになってしまうということです。自分なりに調べて「suEXECを導入することで解決できそうだ」というところまでは解ったのですが、具体的な設定方法を見つけるには至っていません。 そこで質問なのですが、suEXECを導入することでxoopsユーザのドキュメントルート以下にあるプログラムはxoopsユーザの権限で、drupalユーザのドキュメントルート以下にあるプログラムはdrupalユーザの権限で実行されるようにするには、何をどの様に設定すれば良いのでしょうか。もしsuEXECを使う以外の方法で実現可能であれば、それでも構いません。 質問が冗長になってしまって申し訳ありませんが、サーバ構築の経験者様からのアドバイスを頂ければと思い質問させて頂きました。何卒よろしくお願い致します。

  • 管理者権限でないと実行できないソフト

    管理者権限でないと実行できないソフトがあり少し困っています。  なぜ管理者権限でしか実行できないプログラムがあるのでしょうか。  インストールとか設定変更時管理者権限で行うのは問題ありません。  モノはアジェンダの宛名職人2004なのですが最新版でもこの制限は生きている様です。  各担当にはパソコン使用時管理者権限ではなくユーザー権限で使用してもらっているものです。  今後この様なソフトは買う前に裏書を読んでオミットするしか自衛はないものと思っています。  一応、なぜ、ユーザー権限で使用できないプログラムがあるのか知りたく思います。  アジェンダに問い合わせても「管理者権限で実行してください」としか回答を得られないのは目に見えているのでここに問いを向けさせて頂きました。

  • 権限=プロセスを実行したユーザー?

    権限=プロセスを実行したユーザー? ウィンドウズNTのセキュリティについて調べています。 権限という言葉がよくでてきますが、それはつまりそのプロセスを起動したユーザーということですか? そして特権についてですが、特権はシステム関連の操作を行う権利で、特権によってはデフォルトでオフになっているものもある、という考えであっているでしょうか。 そして、「そもそも権限が足りないから特権をONにできない」という様な記述をみたのですが、ということは、権限によって持っている特権が決まるということですよね? またこの権限は昇格させられますか? という事で、質問したい点は ・権限とは? ・特権のON、OFFについて ・特権と権限の関係 ・権限は昇格させられるか? の4つです。 どれか1つでもので回答よろしくお願いします。

  • 管理者権限でないと実行できないソフト

     管理者権限でないと実行できないソフトがあり少し困っています。  なぜ管理者権限でしか実行できないプログラムがあるのでしょうか。  インストールとか設定変更時管理者権限で行うのは問題ありません。  モノはアジェンダの宛名職人2004なのですが最新版でもこの制限は生きている様です。  各担当にはパソコン使用時管理者権限ではなくユーザー権限で使用してもらっているものです。  今後この様なソフトは買う前に裏書を読んでオミットするしか自衛はないものと思っています。  一応、なぜ、ユーザー権限で使用できないプログラムがあるのか知りたく思います。  アジェンダに問い合わせても「管理者権限で実行してください」としか回答を得られないのは目に見えているのでここに問いを向けさせて頂きました。 問い先をwindowsのコーナーにするべきかも知れませんがまずはここにお邪魔させていただきました。

  • 実行時にVBのモジュールファイルを読み込んで実行する方法

    VB.netで作成したプログラムで、実行時に、ユーザが作成した*.vbファイル(VB.netのモジュールファイル)を読み込んで実行するというものを見たことがあります。 モジュールファイルにはいろいろな関数が記述されておりました(関数名等は決まりがあるのかもしれません)。どのように処理しているのかさっぱり見当がつきません。自分で調べた範囲では「リフレクション」というキーワードが出てきましたがいまいちピンときませんでした。これができればプログラムを再コンパイルしなくても動作(の一部)を換えることができ便利です。参考になるようなサイトなどご存知でしたら教えてください。

  • 管理者権限にする

    programfiles以下のAフォルダに、あるファイルをコピーをしようとすると、管理者権限が必要となります。 Aフォルダのプロパティは読み取り専用となっているので、これを変更しようとしても、管理者権限が必要となります。 一方設定からアカウントのユーザの情報を見ると管理者となっています。 この状態ではやはり不可なのでしょうか。windows10のログインが管理者か否かは、前記ユーザの情報では不十分なのでしょうか。

  • 管理者権限でのプログラム実行

    お世話になります。 一般ユーザーでログイン中に特定のプログラムを実行する場合にのみ、管理者パスワードの入力を求める方法はありますか。 ご教示よろしくお願いします。

  • 管理者権限でも管理者として実行が必要な理由

    Windows 7 Professionalを使用しています。 Administratorsの権限を与えたユーザーアカウントでも、プログラムを「管理者として実行」しなければ正しく動作しない場合があります。 ネットの情報では「セキュリティの問題で仕様」という回答が散見されますが、具体的にはどのよな理由で管理者としての実行が必要になってしまうのでしょうか。 Administrator権限のユーザーでも変更を許可していないフォルダがあるから!というようなことなのでしょうか。

  • ”管理者”の権限でプログラムが実行できない

    MiiX520 12IKBを使用しています。 WindowsPowerShell(管理者)を起動し、update-helpを実行しましたが、エラーメッセージが表示しました。  管理者の権限で実行しなければいけないとのことです。 (上記2行目で示しましたが管理者で起動しています) このプログラムを確認すると、アクセス許可の所有者がadministratersではないため、administratersアクセス許可がフルコントロールになっていません。  現状ではグレーアウトの表示になっていて変更することができません。  このアクセス許可の所有者をadministratersに変更することはできますか?  また個人用のパソコンで、administratersの上位の権限というのはどういうことでしょうか? ※OKWAVEより補足:「Lenovo:タブレット(Yoga・MIIX等)」についての質問です。

専門家に質問してみよう