Exécuter un script au démarrage de Windows sans un utilisateur connecté
C'est un Windows 2003 machine qui obtient allumé tous les matins, mais aucun utilisateur ne se connecte jusqu'à ce que quelques heures plus tard.
Je veux utiliser le temps disponible pour exécuter un script de sauvegarde c:\script\backup.cmd
Comment puis-je commencer cette sans surveillance après la machine a venir?
J'ai essayé 2 clés de registre, mais cela a entraîné dans le script en cours d'exécution après que l'utilisateur se connecte (qui est trop tard):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
À la fin, j'ai utilisé Windows TaskScheduler, qui a une telle option, mais je me demandais si il y a une autre possibilité?
source d'informationauteur Karl Thorwald
Vous devez vous connecter pour publier un commentaire.
Réponse courte: GPEDIT.MSC (Démarrer, Exécuter GPEdit.msc)
Windows 2000 et au-delà [1] qui offre un ordinateur Scripts de Démarrage collection dans la politique de l'éditeur:
Il y a un équivalent d'ouverture de session zone de script (c'est à dire après le démarrage de l'ordinateur, lorsqu'un utilisateur se connecte) dans la configuration de l'Utilisateur bit.
Plus:
GPEDIT.MSC est la Stratégie de Groupe console d'édition, et s'exécute sur l'ordinateur local de Stratégie de Groupe de magasin quand il est utilisé directement, il est donc utile pour la création de locaux-seuls les paramètres. Lors de l'utilisation d'Active Directory, la même interface est utilisée pour modifier la forêt a accueilli objets de stratégie de groupe (Gpo), de sorte que les mêmes paramètres sont disponibles à travers un tas de machines.
Le démarrage de l'ordinateur à l'exécution des scripts dans le contexte de l'ordinateurc'est à dire LocalSystem, comme vous l'avez remarqué, de sorte qu'ils ne peuvent souvent pas accès à des lecteurs réseau qui a besoin d'un certain utilisateur ou l'appartenance à un groupe de travail, et ainsi de suite. Lors de l'accès aux ordinateurs du réseau, ils sont généralement (avec des exceptions), l'utilisation de leurs MACHINENAME$ compte.
Un script de démarrage est un moyen facile et rapide de trouver un processus en cours d'exécution lorsque la machine démarre.
Le processus de démarrage d'ordinateur sera affecté par le temps qu'il faut pour exécuter le programme, bien que, de sorte que vous pouvez vous assurer de l'appeler avec la commande de DÉMARRAGE à partir d'un fichier de commandes, ou en spécifiant de ne pas attendre l'exécutable complet quel que soit le langage de script que vous utilisez. (le point-clé est: exécuter le script de manière asynchrone sauf si elle est critique, ou n'a pas besoin d'être exécutée de manière asynchrone cos il y en aura toujours pas le temps à tous. De longues bottes = malheureux utilisateurs).
À l'aide d'un Service Win32 est une autre option - vous pouvez utiliser le SRVANY utilitaire du Kit de Ressources pour "service-identifier" à peu près n'importe quel exécutable. VS.Net 2002 et, plus tard, vous permettent de créer un service géré directement.
Et Planificateur de Tâches obtient beaucoup plus capables que de Vista/2008, capable d'exécuter des scripts au démarrage, ralenti, et/ou lorsque les Journaux d'Événements sont générés ou certaines autres conditions sont remplies: il est assez cool! Tâches planifiées a l'avantage possible d'être en mesure de spécifier le compte d'utilisateur sous lequel la tâche s'exécute, si c'est important pour vous.
Mise En Garde Script:
http://support.microsoft.com/kb/256320
Exécuter Les Scripts De Démarrage En Mode Asynchrone:
http://msdn.microsoft.com/en-us/library/ms811602.aspx
Vista Planificateur de Tâches (nouveautés):
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 Server 2016. Tout. Mais NT4 n'ai pas!
Vous avez déjà présenté une bonne solution:
Configuration d'une tâche planifiée pour s'exécuter au Démarrage, et de permettre le travail à exécuter lorsque l'utilisateur n'est pas connecté.
Vous pouvez exécuter un script au démarrage du système à l'aide de stratégie de groupe gpedit.msc
La façon dont vous aleady cela semble très bien pour moi; cependant, si vous souhaitez une autre approche alors des services de prise en main lorsque la machine démarre si vous pourriez écrire un service qui détecte si c'est un nouveau jour (pour permettre le redémarrage) et si c'est votre sauvegarde.
Si je était en train de faire cela comme un service que je voudrais utiliser TCL parce que je le sais et comme il a une extension twapi qui vous permet d'exécuter un script en tant que service. D'autres langages de script peut très bien avoir des installations similaires.
Il est, si vous utilisez Active Directory. Si vous pouvez isoler l'ordinateur de sa propre unité d'organisation ou utiliser le filtrage WMI, vous pouvez affecter un objet de stratégie de groupe qui a un script de démarrage de l'ordinateur. Cela permettrait de s'assurer que même si quelqu'un est allé dans la via le mode sans échec et désactivé le Planificateur de Tâches, au démarrage et connexion au domaine, le script va s'exécuter.