タイトル : Re: Win7でシステム日付を設定できません 投稿日 : 2010/07/12(Mon) 19:14 投稿者 : YuO
> vistaではUACの問題で特権を設定しないといけないと見つけたので、 > 同様にwin7でも試しましたがエラーが出て動作しません。 特権を持っていないと日付や時刻が変更できないのは,XPでも一緒です。 あくまでUACの関係で,「Administrators」に含まれているユーザー(組み込みAdministrator除く)は, ユーザーが明示的に許可を与えない限り,特権としては「Users」扱いになる,というものです。 で,特権周りの考え方について。 ・ユーザーやグループに対して与えられていない特権は有効にできない ・与えられている特権であっても,使用する時点で有効化する必要がある(ものがある) です。 今回のSeSystemtimePrivilege特権に関しては, ・権限昇格処理を行う前は,特権は「与えられていない」 ・権限昇格処理を行った後は,特権は「無効状態で与えられている」 です。 このため,権限昇格せずにいくらAdjustTokenPrivilegesをしようとしても,有効にはなりません。 # コマンドプロンプトを通常時と管理者で実行して,それぞれwhoami /privしてみると,特権の与えられ方の違いがわかるかと思います。 ・特権が必要な部分だけを別のプログラムに分離する ・必要な時点で,ShellExecute API等でrunasを指定して実行する という方法で,特権処理を分離するのが,最終的な方法かと思います。 |