Pourquoi j'ai besoin de ça :
J'ai Pen Drive plein de scripts batch et d'autres outils de diagnostic. J'ai 75 PC autonomes (non en réseau), principalement avec Win-XP-Pro SP-2, dans 2 laboratoires. J'ai souvent besoin de me connecter à chaque PC avec un compte administrateur pour configurer ou diagnostiquer quelque chose.
Ainsi, lorsque je démarre un PC, chaque fois que je dois sélectionner manuellement le nom d'utilisateur sur l'écran de connexion et également taper son mot de passe.
Maintenant, je veux me connecter à Admin Acc. Automatiquement (par programme) si ma clé USB est connectée au PC.
Ce que je sais:
Je sais qu'il est possible d'exécuter des scripts (fichiers batch) avant la connexion de l'utilisateur sous XP / Win7. J'ai écrit un fichier batch et enregistré sur un PC local. Je l'ai configuré dans la stratégie de groupe pour l'exécuter au démarrage du système (Emplacement GPO: Configuration ordinateur \ Paramètres Windows \ Scripts (démarrage / arrêt) \ Sartup ). Ce fichier de commandes détecte avec succès «si la clé USB est connectée ou non.
J'ai un autre fichier de commandes (actuellement vide) stocké sur Pen Drive.
Le 1er fichier de commandes recherche tous les lecteurs de C à Z pour le deuxième fichier de commandes (login.bat) à l'aide d'une boucle, si le fichier est présent, il suppose que la clé USB est présente et appelle en outre le fichier de commandes 2e (login.bat) pour continuer.
Ce que je ne sais pas:
Maintenant, je ne sais pas quel devrait être le code du fichier login.bat ou je ne sais pas comment me connecter de manière pragmatique.
Quelles sont les autres alternatives à l'esprit:
Il n'est pas nécessaire d'utiliser uniquement un fichier de commandes. Je peux également considérer "si vous avez une autre option pour la connexion automatique comme l'utilisation VB Script
ou tout autre exécutable tiers",
Éditer:
Selon cette question, définir l'utilisateur pour la connexion automatique sur Windows via un script de traitement par lots, je peux créer un script pour modifier les entrées de registre et autoriser la connexion automatique. Même si cela fonctionne, vous devez redémarrer votre PC pour que les modifications soient appliquées. C'est quelque chose que je veux éviter. L'exécution du script et le redémarrage prennent plus de temps que la simple connexion personnelle.
Je souhaite pouvoir me connecter automatiquement, sur demande. Cela signifie qu'une fois que j'ai connecté mon Pen Drive, le script devrait pouvoir me connecter, dans le compte administrateur sans redémarrer le PC.
J'ai lu sur le Web que cela peut être réalisé en créant un fichier dll GINA, mais je n'ai aucune expérience dans ce domaine. Des idées sur la façon dont cela peut être mis en œuvre?
la source
Réponses:
Il est possible de se connecter par programme à Windows, mais pas avec un simple fichier batch. Au lieu de cela, vous devez créer une DLL en utilisant C ++ (ou peut-être C # - mais ce n'est pas recommandé ). Dans Windows XP (et versions antérieures), cette fonctionnalité est appelée GINA .
(À partir de Vista, vous devez créer un fournisseur d'informations d'identification.)
Référence: connexion à Windows XP par programmation
la source
J'ai accidentellement trouvé la solution par moi-même. Comme mentionné à la question, j'ai 2 scripts: le 1er réside dans l'ordinateur local et le 2ème réside dans Pen Drive. Le 1er (.bat) est préconfiguré pour s'exécuter au démarrage du système ( voir comment attribuer des scripts de démarrage de l'ordinateur? ) Et il appelle le 2e (.vbs) si la clé USB est connectée.
Comment ça fonctionne:
Le fonctionnement du 1er fichier est déjà décrit dans Question; et le travail du 2ème script est très simple mais répond à mes besoins. Ce script envoie simplement des touches sur l'écran de connexion dans la même séquence que je tape sur le clavier pour la connexion. Ici, je voudrais partager tout le code des deux scripts. J'espère que cela aidera beaucoup de gens comme moi, qui ne veulent pas interférer avec les fichiers du système d'exploitation interne tels que GINA.
Le code est:
1er script (script d'ouverture de session)
Nom:
"Find PD.bat"
Emplacement:
"%SYSTEMROOT%\System32\GroupPolicy\Machine\Scripts\Startup\Find PD.bat"
Code
2e script:
Nom:
"FillCred.vbs"
Emplacement:
"<PenDriveRoot>\OTHER\RESTORE\OTHER\FillCred.vbs"
Code:
Rappelles toi:
1) Ceci n'est testé que sur Windows XP.
2) Cela ne fonctionnera que si votre Windows affiche un écran de connexion par défaut (également appelé «écran de bienvenue»)
3) Vous devez modifier le 2ème script pour vos séquences de touches.
4) Cela ne fonctionnera pas si votre système nécessite d'appuyer sur Ctrl + Alt + Suppr avant de vous connecter.
5) C'est une solution très basique, mais vous pouvez la faire évoluer en éditant le 2nd Script. cela fonctionnera tant que votre système autorisera les frappes sur l'écran de connexion.
Merci.
la source