tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: Win7でシステム日付を設定できません
投稿日: 2010/07/12(Mon) 19:14
投稿者YuO
> vistaではUACの問題で特権を設定しないといけないと見つけたので、
> 同様にwin7でも試しましたがエラーが出て動作しません。

特権を持っていないと日付や時刻が変更できないのは,XPでも一緒です。
あくまでUACの関係で,「Administrators」に含まれているユーザー(組み込みAdministrator除く)は,
ユーザーが明示的に許可を与えない限り,特権としては「Users」扱いになる,というものです。

で,特権周りの考え方について。
・ユーザーやグループに対して与えられていない特権は有効にできない
・与えられている特権であっても,使用する時点で有効化する必要がある(ものがある)
です。

今回のSeSystemtimePrivilege特権に関しては,
・権限昇格処理を行う前は,特権は「与えられていない」
・権限昇格処理を行った後は,特権は「無効状態で与えられている」
です。
このため,権限昇格せずにいくらAdjustTokenPrivilegesをしようとしても,有効にはなりません。
# コマンドプロンプトを通常時と管理者で実行して,それぞれwhoami /privしてみると,特権の与えられ方の違いがわかるかと思います。


・特権が必要な部分だけを別のプログラムに分離する
・必要な時点で,ShellExecute API等でrunasを指定して実行する
という方法で,特権処理を分離するのが,最終的な方法かと思います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。