Windows 7 Home: comment configurer un script d'ouverture de session


7

Sous Windows 7 Professional , on peut faire un clic droit l'utilisateur dans la Gestion de l' ordinateur de Utilisateurs et groupes locaux pour définir le script d' ouverture de session sur le profil onglet. Malheureusement, Windows 7 Home Premium n'a pas (semble-t-il) les utilisateurs et groupes locaux dans la gestion de l' ordinateur . Comment configurer le script d'ouverture de session sur Windows 7 Home Premium.?


1
Dans un système autonome, y a-t-il un avantage à configurer un script de connexion plutôt que de le placer dans le dossier de démarrage?
user1686

2
L'avantage est que le script sera chargé très tôt, par exemple avant de lancer d'autres applications. Ceci est très utile pour monter des partitions chiffrées.
Mike L.

Réponses:


8

Vous avez raison, ce composant logiciel enfichable MMC est désactivé, sauf si vous avez au moins Windows 7 (ou Vista) Professional.

Vous devriez être en mesure de configurer les propriétés de l'utilisateur à l'aide de la commande net user :

net user UserName /scriptpath:logon.bat

L'emplacement du script:

Les scripts d'ouverture de session locaux doivent être stockés dans un dossier partagé - ou des sous-dossiers du dossier partagé - nommé Netlogon. Si ce dossier n'existe pas par défaut, vous devez le créer. Pour spécifier un script d'ouverture de session qui est stocké dans un sous-dossier du dossier Netlogon, faites précéder le nom du fichier avec le chemin d'accès relatif à ce dossier. Par exemple, pour affecter le script d'ouverture de session Startup.bat qui est stocké dans \ ComputerName \ Netlogon \ FolderName à un utilisateur local, dans le script d'ouverture de session, tapez FolderName \ Startup.bat


Où se trouve le répertoire "\ ComputerName \ Netlogon \ FolderName"?
Mike L.

1
@mklhmnn: Où vous le voulez. L'exemple donné concerne un domaine, avec un serveur contenant tous les scripts; les contrôleurs de domaine ont une part \\servername\Netlogonà cet effet. Si vous donnez un chemin relatif, il sera recherché dans la Netlogonpart du DC . (Comportement inconnu pour les systèmes autonomes.) Mais vous pouvez donner un chemin absolu, par exemple C:\WINDOWS\Misc\logon.cmd.
user1686

1
Où vous voulez - par exemple, créez un dossier c: \ logon et partagez-le en tant que Netlogon.
Siim K

1
@grawity using /scriptpath:pathVous ne pouvez pas utiliser un chemin absolu.
Hanan N.

6

Résumé de ce que j'ai fait pour résoudre ce problème:

  • J'ai créé un script dans C:\Windows\System32\repl\import\scripts\<username>.bat
  • invoqué net user <username> /scriptpath:<username>.bat

Étant donné que Windows 7 Home n'a pas attendu la fin de ce script et a continué de charger d'autres applications, j'ai également dû créer une DWORDentrée nommée RunLogonScriptSyncà HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogondans le registre en définissant la valeur sur 1.


1
Existe-t-il un moyen d'inverser cette commande? En d'autres termes, désactiver un script que vous avez attribué à un profil utilisateur?
Radical924

3

La réponse acceptée est la façon de le faire, si vous voulez que votre script s'exécute tôt au démarrage du système, ou que vous ayez besoin que le script s'exécute de manière synchrone - c'est-à-dire que le processus de connexion normal se poursuivra uniquement après la fin de votre script (attention, il peut ralentir la connexion, utilisez-la uniquement si vous en avez besoin).

Remarque: je ne sais pas si les scripts mentionnés ci-dessus peuvent être un .exefichier ou non, mais dans la méthode que je vais décrire, tout exécutable peut être utilisé.

Une autre façon de faire, qui a une certaine flexibilité supplémentaire, utilise le Task Scheduler. Dans le menu Démarrer, tapez Planificateur de tâches et exécutez-le (ou exécutez à taskschd.mscpartir d'une Runboîte de dialogue ou d'un shell). Sélectionnez Task Scheduler Librarydans l'arborescence. Si vous le souhaitez, vous pouvez créer un sous-dossier spécial pour vos programmes, mais ce n'est pas nécessaire. Cliquez sur Create Basic Task...(assistant) ou Create Task...dans le Actionspanneau de droite.

Je vais vous expliquer comment utiliser Create Task....

  • Dans l' Generalonglet, saisissez un nom descriptif et, éventuellement, une description de votre tâche.
  • Dans l' Triggersonglet, cliquez sur New..., définissez Begin the tasksur At log on. Vérifiez la Specific userliste déroulante, assurez-vous que votre nom d'utilisateur est sélectionné (vous pouvez l'utiliser Any usersi vous souhaitez que le programme s'exécute lorsqu'un utilisateur se connecte). Si vous ne voulez pas que votre script ralentisse le processus de connexion, vous pouvez choisir de l'exécuter après un délai - Delay task forcochez la case et saisissez l'heure (par exemple 30 seconds). Cliquez sur ok pour créer le déclencheur.
  • Dans l' Actionsonglet, cliquez sur New..., choisissez votre programme (ou script) à l'aide de Browse...ou saisissez le chemin d'accès complet dans Program\program. Si le programme se trouve dans votre% Path%, vous pouvez simplement l'utiliser program. Vous pouvez spécifier tous les arguments à transmettre au programme Add arguments. Vous pouvez spécifier le répertoire de travail du programme dans Start in. Vous pouvez utiliser n'importe quel type de script pris en charge par l'ordinateur local; si un type de script n'est pas enregistré auprès de Windows, vous pouvez toujours l'exécuter en spécifiant l'interpréteur de script comme programme. Par exemple, utiliser C:\path\to\python.execomme programme et C:\path\to\script.py some_argumentscomme arguments. Cliquez sur ok pour créer l'action.
  • Dans l' Conditionsonglet, vous souhaiterez probablement décocher la case Start the task only if the computer is on AC power.
  • Dans l' Settingsonglet, il n'est pas nécessaire de changer quoi que ce soit.

Cliquez sur ok pour créer la tâche planifiée. Si vous souhaitez le modifier plus tard, sélectionnez simplement Task Scheduler Librarydans l'arborescence, recherchez votre tâche dans la liste (en haut de la fenêtre) et double-cliquez sur la tâche.

Voir la référence du Planificateur de tâches pour plus d'informations.


1

J'utilise Win 7 Premium Home sur un système autonome et je voulais exécuter un script d'ouverture de session pour monter un volume chiffré. La recherche sur le net n'a donné que des résultats compliqués (gpedit, mise à jour du registre). Ma solution est très simple: j'ai créé sur C: un dossier (avec un nom que vous voulez) et y ai mis mon script. Ce dossier doit être partagé avec le nom de partage «Netlogon». Cela fonctionne! Au moins sur mon système local.


1

Une erreur système 5 s'est produite.

L'accès est refusé.

Si vous obtenez une erreur comme celle-ci lors de l'exécution de la commande net user , assurez-vous d'exécuter CMD en tant qu'administrateur (utilisez le clic droit et sélectionnez «Exécuter en tant qu'administrateur»)!


1

Vous pouvez également simplement créer une tâche à l'aide du planificateur de tâches et définir le déclencheur pour exécuter le script à la connexion.


2
Cette réponse pourrait être améliorée en incluant des procédures et des étapes impliquées pour configurer un script à exécuter dans le planificateur de tâches.
Will

1

Vous utilisez toujours l'interface utilisateur pour configurer le script d'ouverture de session dans Windows 7

Ouvert "Control Panel" -> "User Accounts" -> "User Accounts" -> "Manage User Accounts" -> "Advanced" -> "Advanced" pour accéder au composant logiciel enfichable MMC «Utilisateurs et groupes locaux (local)».

ou lancez simplement à partir du shell cmd: mmc.exe %SystemRoot%\system32\lusrmgr.msc computername=localmachine

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.