Windows Server 2008およびWindows Server 2008 R2では、セキュリティ向上のためにユーザーアカウント制御(以降、UACと略します。)の機能が追加されました。
以下に、UACが有効な場合と無効な場合について説明します。
UACが有効な場合
ビルトインAdministratorアカウント以外の全てのユーザー("Administrators"グループに属するアカウントを含む)は管理者権限を必要とする処理/プログラムの実行時に「権限昇格/承認ダイアログ」が表示されるため、権限昇格の確認および承認を行う必要があります。
UACが無効な場合
管理者権限を必要とする処理/プログラムの実行は、ビルトインAdministratorアカウントまたはAdministratorsグループに所属するユーザーアカウントで実行する必要があります。
動作条件を以下に示します。
| UAC:有効 | UAC:無効 |
---|---|---|
ビルトインAdministrator アカウント | ◎ | ◎ |
Administratorグループに所属するユーザーアカウント | ○ | ◎ |
標準ユーザーアカウント | ○ | × |
◎ : 権限昇格ダイアログを表示せずに動作します。
○ : 権限昇格ダイアログを表示し、承認がされたら動作します。
× : 管理者権限を取得できないため、動作しません。
上記の表中「○」となる条件下で、権限昇格ダイアログによる対話処理を行いたくない場合(バッチ処理等)は、以下のいずれかの方法により管理者権限でプログラムを実行する必要があります。
コマンドプロンプトで"runas"コマンドを用い、管理者権限またはAdvancedCopy Managerの動作に必要な権限をもったユーザーでプログラムを実行します。ただし、後からパスワードを入力する必要があります。
[バッチファイル(test.bat)を実行する場合の例]
runas /noprofile /user:mymachine\acmuser "cmd.exe /k test.bat" |
タスクスケジューラで「最上位の特権で実行する」を指定して起動します。
コマンドプロンプトを[スタート]→[すべてのプログラム]→[アクセサリ]→[コマンドプロンプト]メニューを右クリックして、「管理者として実行」を指定して起動し、開いたコマンドプロンプト上でプログラムを実行します。