Windows7 ProfessionalのホームPC、単一の管理者アカウントを、事前定義された時間(たとえば、午後10時)に毎日強制的にシャットダウンしたいと思います。ユーザーがシャットダウンを邪魔するのを面倒にしたいと思います。
私の最初のアイデアは、コンピューターの起動時にshutdown.exe /s /t x
を実行することでした。ここで、x
は、システム時間と秒単位の午後10時の差です。残念ながら、shutdown.exe /s
はshutdown.exe /a
を呼び出すことで簡単にキャンセルできます。
私の2番目のアイデアは、Windowsのタスクスケジューラを使用して、午後10時にshutdown.exe /s /t 0
をスケジュールすることでした。これは、システム時刻をいじることで簡単に回避できます。
午後10時までSleep
sしてからシャットダウンするVBScriptは、タスクマネージャーから停止できます。
ユーザーが、シャットダウンを強制するためにインストールする方法を知っていると想定してください。 (たとえば、shutdown.exe
の名前を不明な名前に変更することは、ユーザーが不明な名前を発見するため、適切な解決策ではありません)。インターネットアクセスは利用可能ですが、このため、これ以上のトラフィック/接続を避けたいと思います。
ユーザーは一般的に悪意のあるものではなく、午後4時にシャットダウンをキャンセルするアクションを実行しません。一方、午後9時50分には、次のシャットダウンをキャンセルしたくなるかもしれません。ユーザーはスタートアップフォルダからプログラムを削除しません。
これについては間違った方法で行っている可能性があります。ユーザーが管理者としてログインしているときに、シャットダウンプロセスを防ぐことをユーザーが実際に制御することはできません。あなたができることは、コンピュータに電力があるかどうかを制御することです。
タイマー付きの電源タップ を取り付けて、10:15または10:30のようにオフになるように設定します。ユーザーが簡単にアクセスできないように、そのストリップを固定します。必要な方法でPCをシャットダウンしても、電源タップは影響しません。タイマーを無視したり回避したりすると、システムの電源が切れ、PCが事実上シャットダウンします。
これには、ユーザーが午後10時以降にマシンを再起動できないという追加の利点があります。これはシャットダウンイベントの問題です。これは1回だけ発生し、ユーザーがマシンの電源を入れ直すのを防ぎません。
大きな警告(実装する前に読んでください)
マシンの電源を突然切断すると、システムが損傷する可能性があります。ほとんどのハードドライブは突然の電力損失を処理できますが、OSは処理できない場合があります。 OSが破損したり、その他の関連する問題が発生したりする可能性があります。これは「自己責任で行う」という提案です。
あなたが力を切るという考えが好きなら。モニターを時限サージストリップに差し込むだけかもしれません。それは事実上コンピュータを使用できなくし、あなたのシステムを傷つけません。コードを切り替えたり、別のコンセントに差し込んだりできない限り、これは機能するはずです。
これがお役に立てば幸いです(動作するのに十分クレイジーかもしれません)
ユーザーが管理者であり、それを知っている場合、シャットダウンを防ぐことを阻止する方法はありません。これは子供のコンピューターのように聞こえますが、特定の時間に降りる必要があります。誰も自宅のコンピューターを管理者として実行するべきではありません。
適切なコマンドを実行するスケジュールされたタスクは、ユーザー権限の変更とともに実行するのに最適な方法です。
Windows 7では、アカウントを正しく構成した場合、Windows Liveの非常に優れたペアレンタルコントロールツールがあり、さまざまな種類のコントロールと制限を設定できます。
ただし、他の人が指摘しているように、最初のステップは、ユーザーアカウントをユーザーレベルのアカウントに変更し、アクセスできる管理者アカウントを作成して、パスワードを簡単に推測できないようにすることです。
この質問はそれに反対している。あなたの問題は本当の問題ではありません。管理者アカウントを管理することを期待しないでください。ユーザーを非管理者にすると、やりたいことが何でもできます。
schtasks
を使用し、runuser /RU "SYSTEM"
を介して実行し、「LocalServiceUpdate」のような名前を付けます。
これで、スケジュールされたすべてのタスクをリストした場合でも、複数のシステムタスクのリストが表示され、タスクの名前も技術的に聞こえ、ユーザー名はIDを提供しません(ユーザーが「SYSTEM」になるため)。
さて、時間が問題になる可能性があるので、バッチプログラムを作成して、たとえば21:30に実行することができます。
このバッチプログラムを/TR
フィールドに入力します。
(バックアップの場合、電源が切れた場合に備えて、タスクを作成します。同じ概念ですが、シャットダウンの正確な時間で、名前が少し異なります。
@echo off
:: DELAYING TIME TILL 22:00HRS
PING -n 3600 127.0.0.0>NUL
SHUTDOWN /S /F
EXIT
ファイルを見つけることが不可能な場所に保存してください。schtasks
には実行可能パスが表示されないため、すべてのファイルで文字列「SHUTDOWN」を見つけることを誰かが決定しない限り、安全です。
また、誤解を招くために、「おやすみ」/「シャットダウン」などのスケジュールされたタスクを作成して、勝ったと思われるようにすることを強くお勧めしますが、実際のファイルはバックグラウンドで次のようになります。忍者。