質問

これは、毎朝スイッチがオンになるWindows 2003マシンですが、数時間後まで誰もログオンしません。

その間の時間を使用してバックアップスクリプトc:\ script \ backup.cmdを実行したい

マシンが起動した後、どうすれば無人でこれを開始できますか?

2つのレジストリキーを試しましたが、ユーザーのログオン後にスクリプトが実行されました(遅すぎます):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

最終的には、Windows TaskSchedulerを使用しましたが、誰がそのようなオプションを持っていますか?

役に立ちましたか?

解決

簡単な回答: GPEDIT.MSC (開始、実行、GPEdit.msc)

Windows 2000以降[1]は、ポリシーエディターでコンピューターのスタートアップスクリプトコレクションを提供します。

  • コンピューターの設定-> Windowsの設定-> スクリプト(スタートアップ/シャットダウン)

ユーザー設定ビットには、同等の logon スクリプト領域があります(つまり、コンピューターの起動後、ユーザーがログオンしたとき)。

長い:

GPEDIT.MSCはグループポリシー編集コンソールであり、ローカルコンピューターのグループポリシーストアを直接使用すると実行されるため、ローカルのみのパラメーターの設定に役立ちます。 Active Directoryを使用する場合、フォレストにホストされているグループポリシーオブジェクト(GPO)を編集するために同じインターフェイスが使用されるため、同じ設定が多数のマシンで使用できます。

コンピュータースタートアップスクリプトは、コンピューターコンテキスト、つまり、前述のLocalSystemで実行されるため、特定のユーザーまたはグループメンバーシップを必要とするネットワークドライブにアクセスできないことがよくあります。 。コンピューターがネットワークにアクセスするとき、通常は(例外を除いて)MACHINENAME $アカウントを使用します。

起動スクリプトは、マシンの起動時にプロセスを実行する迅速かつ簡単な方法です。

コンピューターの起動プロセスは、プログラムの実行にかかる時間の影響を受けるため、バッチファイルからSTARTコマンドを使用して呼び出すか、実行可能ファイルの完了を待たないように指定してください。どんなスクリプト言語でも使用できます。 (重要な点は、スクリプトが重要でない場合、または非同期で実行する必要がない限り、非同期でスクリプトを実行することです。これは常に時間がかかりません。 =不幸なユーザー)。

Win32サービスの使用は代替オプションです。リソースキットの SRVANY ユーティリティを使用して、「service-ify」を実行できます。ほぼすべての実行可能ファイル。 VS.Net 2002以降では、マネージドサービスを直接構築することもできます。

そして、タスクスケジューラは、Vista / 2008以降、より強力になり、起動時、アイドル時、および/またはイベントログの生成時または特定時にスクリプトを実行できます。他の条件が満たされている:それはかなりクールです!スケジュールされたタスクには、タスクが実行されるユーザーアカウントを指定できるという利点があります(重要な場合)。

警告スクリプト: http://support.microsoft.com/kb/256320

起動スクリプトを非同期で実行: http://msdn.microsoft.com/en-us/library/ms811602 aspx

Vistaタスクスケジューラ(新機能): http://technet.microsoft.com/en-us/appcompat/aa906020。 aspx

[1] Windows XP、2003、Vista / 2008、Windows 7 / 2008R2、Windows 8/2012、Windows 8.1 / 2012R2、Windows 10 / Windows Server2016。すべて。しかし、NT4はしませんでした!

他のヒント

すでに適切なソリューションの概要を説明しています:

起動時に実行するようにスケジュールされたタスクを設定し、ユーザーがログオンしていないときにジョブを実行できるようにします。

グループポリシーgpedit.mscを使用して、システムの起動時にスクリプトを実行できます

あなたがこれを行う方法は、私には良いようです。ただし、別のアプローチが必要な場合は、マシンの起動時にサービスが開始されるため、新しい日(再起動を許可する)かどうかを検出し、その後バックアップを実行するサービスを作成できます。

がサービスとしてこれを行っていた場合、TCLを使用します。これは、私が知っていて気に入っており、拡張子が twapi を使用すると、サービスとしてスクリプトを実行できます。他のスクリプト言語にも同様の機能があります。

Active Directoryを使用している場合があります。コンピューターを独自のOUに分離するか、WMIフィルターを使用できる場合は、コンピューターのスタートアップスクリプトを持つGPOを割り当てることができます。これにより、誰かがセーフモードでアクセスしてタスクスケジューラを無効にした場合でも、起動時およびドメインへの接続時にスクリプトが実行されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top