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