Windows 10 で管理者権限でゲームを実行する -- タスク スケジューラの問題

Windows 10 で管理者権限でゲームを実行する -- タスク スケジューラの問題

妻と私がよく遊ぶ古いゲームがあります。それを新しい Windows 10 マシンにインストールしたところ、コマンド ラインからでも、ファイル エクスプローラーで実行ファイルをダブルクリックしても問題なく実行できました。

ただし、そのように実行すると、常に UAC の「このプログラムに変更を加えますか?」というプロンプトが表示されるため、それなしでゲームを実行しようとしています。

さまざまな指示からタスク スケジューラがわかります。タスクを作成し、それに「最高の権限」を与え、オンデマンドで実行できるようにしてから、そのタスクを実行するためのショートカットを作成します。

そこで、タスク スケジューラでタスクを作成し、そこから実行するようにテストするように指示されているのですが、そこで行き詰まっています。作成したタスクをタスク スケジューラで実行しても、ゲームを実行できないようです。

「全般」(このタスクのタスク スケジューラ プロパティ) の下に、「ユーザーがログオンしているときのみ実行」、「最高権限で実行」、「Windows 10 用に構成」があります。トリガーは空です。アクションには「プログラムの開始」と、実行可能ファイル名と「.exe」を含む完全なパス名があります。条件の下で、「コンピューターが AC 電源に接続されている場合にのみタスクを開始する」のチェックを外し、他のボックスはチェックしませんでした。

タスクを右クリックして「実行」を選択すると、タスクのステータスが「実行中」に変わりますが、それ以外は何も起こりません。特権コマンド プロンプトに移動して「schtasks /run /tn taskName」を使用しようとすると、タスクが正常に開始されたというメッセージが表示され、それ以外は何も起こりません。

このゲームは「フルスクリーン」ゲームであることを述べておくべきだと思います。通常の Windows ウィンドウはすべて消え、画面にはこれが 1 つだけ表示されます。もちろん、それが何か違いを生むかどうかはわかりません。

もう 1 つ奇妙な点があります。「コンピューターが AC 電源に接続されている場合にのみタスクを開始する」という既定のオプションを変更すると問題が発生する可能性があると考え、タスクのプロパティに戻って変更しようとしました。変更すると、「タスク xml に、形式が正しくないか範囲外の値が含まれています」というメッセージが表示されます。その場合、タスクを実行しようとするとエラーが発生すると予想されますが、参考までにそのことを述べておきます。

誰かにとって重要なことかもしれないが、そのゲームは「Caesar III」です。タスク スケジューラなどを使用して、UAC プロンプトなしでこれを実行するにはどうすればよいですか?

答え1

タスクスケジューラは間違った場所だ。これは回避策だが、あなたはUAC (ユーザー アカウント制御)。 このデフォルト設定では、管理者アクセスを要求するアプリケーションはユーザーからの許可を得る必要があるため、プロンプトが表示されます。

以下の操作を行う前に、ショートカットのプロパティをチェックして、アプリケーションが管理者として実行するように設定されていないことを確認してください。設定されている場合、そのボックスのチェックを外すと、問題は解決するはずです。 そうでない場合は、続行してください。

UAC は悪いものではありません (以前ほどではありません)。これは Linux の権限の概念をインポートしたもので、マルウェアであるアプリケーションや管理者権限を使ってマシンを乗っ取ろうとするアプリケーションからユーザーを保護します。ゲームがインストールされている可能性のある Program Files および Program Files(x86) フォルダーを積極的に制御し、ユーザーが一見無害に見えるが実際にはそうではないもの (つまり、実際にはキーロガーと 20 個のツールバーをインストールし、ユーザーの個人情報を盗むだけのクレジット監視アプリ) をインストールしないようにします。このため、私は次のことを推奨します。自分が何をしているのか、またコンピュータをどのように保護すればよいのかを本当に理解していない限り、ポップアップを容認する

あなたがプロのようにコンピューターを安全に保護する方法を知っている場合、または私のアドバイスに従わないことに決めた場合は、UAC 設定を変更する方法は次のとおりです。

  1. コントロールパネルを開く
  2. ユーザーアカウントとファミリーセーフティを選択
  3. ユーザーアカウントを選択
  4. ユーザーアカウント制御設定の変更
  5. スライダーを低い設定に調整するか、一番下まで下げて UAC を無効にします。

最近のアプリケーションのほとんどは UAC によってフラグが立てられないことに注意してください。古いゲーム (あなたのゲームも含む) は、管理者権限を要求したり、保護されたフォルダーへの書き込みを試みたりすることがよくありましたが、許可されました。あなたの場合、ショートカットは保護されたフォルダーにルーティングされており、UAC はその方法が気に入らないため、これがおそらく根本的な原因です。

答え2

アプリケーションの通常の範囲外で何かが行われているという警告は役に立つと思います。しかし、この特定のプログラム (およびおそらく他のいくつかのプログラム) では警告は必要ありません。

UAC の仕組みは次のとおりです。

Windows Vista のプログラムには、デフォルトでは管理者権限が与えられていません。アカウントが管理者であっても、プログラムは昇格された権限で起動されない限り、管理アクションを実行することはできません。プログラムが昇格された権限なしで制限されたアクションを実行しようとすると、失敗します。

UAC は、無視できる警告ではありません。このプログラムの実行を許可すると、次のようなあらゆる操作を実行できるようになることを通知します。

  • 昇格された権限で他のプログラムを実行する
  • 他のプログラムのファイルの変更
  • セキュリティ設定の変更
  • 窓の損傷

プログラムが破壊的な行為を行わないことを信頼して実行するか、実行されないようにするかを選択できます。

プログラムを昇格された権限なしで実行すると、UAC ポップアップは表示されませんが、通常のユーザーに禁止されている操作を実行しようとするとすぐに失敗します。その結果、クラッシュが発生する可能性が高くなります。

中間の道はありません。毎回明示的に権限を昇格するか、権限を昇格せずにプログラムを実行するかのどちらかです。これは健全なセキュリティ モデルです。管理タスクを毎日実行することはありません。通常のワークフローでは、UAC が動作しているのをあまり目にすることはありません。セキュリティを考慮しないプログラムを使用している場合を除きます。

このプログラムは UAC 以前に作成されたため、「アクセス許可を要求」しているかどうかは疑問です。

それはそれよりも少し複雑です。

基本的に、どのプロセスでも昇格された権限で別のプロセスを起動するように要求できます。プログラムが昇格された権限で起動される最も一般的な原因は次のとおりです。

  1. UAC マニフェスト開発者は、実行可能ファイル内にマニフェストを埋め込むことで、実行可能ファイルを昇格された権限で実行するように強制できます。実行可能ファイルを起動すると、Windows はこのマニフェストをチェックし、マニフェストが存在する場合、プログラムは常に管理者として実行されます。

  2. UAC 属性実行ファイル(またはショートカット)のプロパティで、互換性タブ。存在する場合、Windows はプログラムを昇格します。

  3. プロパティの互換性設定もう一度、互換性タブインプロパティ強制的に昇格された権限を付与できます。たとえば、Vista 以前のシステムとの互換性を有効にすると、これが実行されます。

  4. 追加の互換性設定互換性ツールキットは、いくつかの互換性機能をきめ細かく制御できるアドオンです。繰り返しますが、これらの機能の一部は権限の昇格を強制する可能性があります。

  5. デフォルトの互換性ポリシーでしょうか? これについてはよく分かりませんが、Windows には、明示的に有効になっていない場合でも、どのアプリを昇格された権限で実行すべきかを決定するヒューリスティックがいくつかあるのではないかと思います。Vista には、VirtualStore など、UAC への移行を容易にするために構築された機能がいくつかありました。他にもあるかもしれません。

おそらく、ゲームは管理機能を使用するため、管理者権限を要求します。当時は、誰もこのようなことを気にしていませんでした。プログラムはファイルをあらゆる場所に置いていました。プログラムファイルウィンドウズディレクトリなど、何でも構いません。これらは保護された場所です。

適切に機能するために UAC のみを必要とする互換性機能もいくつかあります。私の記憶では、一部のレガシー グラフィック設定は管理者としてのみ使用できます。

簡単に言うと:

ゲームが昇格された権限を要求する場合、それは必ず必要であると想定できます。

これは単なる警告ではありません。セキュリティ モデルの重要な部分です。

ちなみに、GOG.com でゲームを購入した場合、1999 年にリリースされたオリジナルの実行可能ファイルを入手していない可能性が高いです。GOG.com は、ゲームを最新のハードウェアとオペレーティング システムで実行できるようにパッチを適用しています。必要なことがわかった場合は、EXE に UAC マニフェストを追加している可能性があります。

答え3

アプリケーションの .exe ファイルを右クリックして、管理者として実行してみてください。

また、アプリケーションのショートカットまたはアプリケーションの .exe ファイルを右クリックし、[プロパティ] -> [互換性] タブ -> [管理者としてこのプログラムを実行する] ボックス -> [OK] を選択することもできます。

関連情報