17/11/2024

Script

Stratégie de groupe

Script – Paramétrer les horaires d’accès sur plusieurs utilisateurs

I. Présentation Lorsque vous disposez d’un domaine, il est possible à partir de l’annuaire Active Directory en accédant aux propriétés des utilisateurs de définir des plages horaires, pendant lesquelles ils sont autorisés à ouvrir une session sur le domaine. Cependant, ceci doit être géré au cas par cas ce qui peut être long à déployer dans le cas où vous devez le faire pour plusieurs dizaines d’utilisateurs et plus… Malheureusement ce n’est pas gérable par le biais des objets de stratégies de groupe (GPO). Deux solutions s’offrent à vous : – Définir les horaires d’accès utilisateur après utilisateur, – Définir les horaires d’accès sur un nombre illimité d’utilisateurs grâce à un script Batch. Dans ce tutoriel, nous verrons la seconde solution qui me semble, de loin, être la plus efficace et la plus enrichissante. II. Les utilisateurs concernés Le script utilisera un fichier dans lequel seront listés les utilisateurs auxquels doivent s’appliquer les horaires d’accès. Dans le cadre de ce

Lire cet article
Batch

Partager un répertoire et attribuer des permissions avec Net Share

I. Présentation Windows inclut la commande « net share » qui permet notamment de partager un dossier déjà existant, de le paramétrer et d’attribuer des permissions pour vos utilisateurs sur ce partage. Remarque : Les permissions attribuées par cette commande s’appliquent au partage mais pas au niveau des permissions NTFS, que vous devez gérer manuellement. II. Objectif du script  Créer le répertoire « ressources » à la racine de la partition « C: ».  Partager ce répertoire avec le nom « ressources » en limitant l’accès simultané à 10 utilisateurs, en ajoutant « Ressources Neoflow.fr » en description du partage. Les permissions sur le partage pour l’utilisateur « Florian » sont à définir pour qu’il accède en en lecture/écriture, et pour l’utilisateur « Administrateur » pour qu’il accède en contrôle total. III. Le code Voici le code du script, nous verrons les explications en troisième partie. REM Creation d’un partage REM Variables set DossierPartage=C:\ressources set NomPartage=ressources set RemarquePartage= »Ressources Neoflow.fr » set NbrMaxUtilisateurs=10 REM Creation du repertoire mkdir %DossierPartage% REM Partage du repertoire et parametrage net

Lire cet article
Batch

Miroir d’une arborescence avec Robocopy

I. Présentation Robocopy est un outil en ligne de commande permettant d’effectuer des tâches de copies de fichiers et de répertoires. Il propose de nombreuses options, dont une option intéressante qui permet de faire un miroir d’une arborescence c’est-à-dire de rendre identique l’arborescence source avec celle de destination. Autrement dit, cela permet de faire une sauvegarde d’un répertoire vers un autre en s’assurant que les deux soient identiques, c’est la raison pour laquelle on parle de « miroir ». Lors de la première exécution, le miroir doit être construit étant donné que la destination est vide, Robocopy copie donc tout ce qui est contenu dans la source vers le répertoire de destination. Lors des prochaines exécutions, les nouveaux répertoires et fichiers seront copiés, ainsi que tout ce qui est modifiés, et sera supprimé tout ce qui se trouve dans la destination et qui n’est plus dans la source. Toujours dans le but d’avoir deux arborescences identiques. Dans ce tutoriel, nous

Lire cet article
Batch

Lister le contenu d’un fichier texte en batch

I. Présentation Il peut parfois lors de la construction d’un batch être utile de lire /écrire les données dans un ou plusieurs fichiers textes. En batch, nous utilisons pour cela la commande FOR qui à la structure d’une boucle qui s’exécutera une fois par ligne. II. Pour lister le contenu d’un fichier texte La commande est la suivante : FOR /F %%i in (‘type Fichier_Lecture.txt’) do echo %%i >> Fichier_Ecriture.txt /F signifie que nous travaillons sur un fichier (File) %%i est l’identifiant de la ligne ou de l’objet que nous voulons traiter In (‘type ’) . Tout ce qui suis la commande do sera répété suivant le nombre de ligne du fichier. Dans cette commande, nous écrivons la ligne dans un autre fichier « Fichier_Ecriture.txt » avec la commande echo. La ligne que nous lisons est représentée là aussi par %%i III. Avec plusieurs mots par ligne La commande est sensiblement différente avec plusieurs objets par ligne. Par exemple si

Lire cet article
Base de donnéesBatch

Sauvegarder une base de données sous Windows

I. Présentation Cette fiche a pour objectif de créer un script de sauvegarde rapide d’une base de données sous un format.sql. Nous commencerons pat générer le nom du fichier dans lequel nous allons sauvegarder la base de données. II. Le script et les explications SET JOUR=%date:~-10,2% # prend les deux premiers chiffres de la commande date SET ANNEE=%date:~-4% # prend les 4 derniers chiffres de la commande date SET MOIS=%date:~-7,2% # prend les deux chiffres en partant de 7 caractères depuis la fin ( les deux chiffres du mois ) SET HEURE=%time:~0,2% # prend les deux premiers chiffres de la commande time SET MINUTE=%time:~3,2% # prend les chiffres 2 et 3 de la commande time ( les minutes ) SET REPERTOIR=E:\Desktop\ # A modifier si votre Bureau n’est pas à cet endroit SET FICHIER=%REPERTOIR%\Sauvegarde_du_%JOUR%_%MOIS%_%ANNEE%_A_%HEURE%_%MINUTE%.sql # Création du fichier avec les informations récupérées IF NOT exist « %REPERTOIR% » md « %REPERTOIR% » # pointage vers mysqldump, à modifier si le votre ne se trouve

Lire cet article
Batch

Utilisation de la commande CALL

I. Présentation La commande CALL est une commande DOS permettant d’appeler un script Batch dans le script principal. Pour vous aider à comprendre le fonctionnement, voici un exemple : Nous allons créer 3 scripts Batch, un principal, et deux scripts annexes. L’utilisateur devra saisir 1 ou 2, si c’est 1, le script principal appellera le script annexe 1, si c’est 2, le script principal appellera le script annexe 2. Si un chiffre supérieur à 2 est saisi, un message d’erreur apparaît. II. Création des deux scripts annexes (à appeler avec le CALL) Étant donné que ce script sert uniquement à vous montrer l’utilisation de CALL, les deux scripts annexes afficheront uniquement un message du type « Je suis le Script numero X » où X sera le numéro du script annexe. Il suffit de créez un fichier .bat et d’écrire le code suivant : Pour le script annexe 1 (Nom du fichier : ScriptAnnexe1.bat) : @echo off echo Je suis le script

Lire cet article
Batch

Planifier un arrêt ou redémarrage de Windows

I. Présentation Cette fiche est faite pour ceux qui trouveront agréable d’avoir un petit script permettant de programmer un arrêt ou un redémarrage de Windows sans passer par l’invite de commande et de devoir taper la commande Shutdown. Le script le fera pour vous, vous avez seulement à choisir l’action que vous souhaitez effectuer et le nombre de seconde avant qu’elle s’effectue. Le script inclus aussi une option permettant d’annuler la planification de l’arrêt ou du redémarrage effectuée. II. Comment créer un script Batch ? Pour créer ce genre de script il vous suffit d’utiliser un éditeur de texte tel que le Bloc-Notes ou Notepad++ et d’enregistrer votre fichier au format Batch (Extension .bat). III. Voici le code de ce script @Echo off GOTO Menu :Menu Echo —————————————- Echo ! Gestion de l’arret du systeme ! Echo —————————————- Echo 1 – Planifier un arret du systeme. Echo 2 – Planifier un redemarrage du systeme. Echo 3 – Annuler l’arret planifier.

Lire cet article
Batch

Bien utiliser la date et l’heure

I. Qu’elles sont les commandes pour obtenir l’heure et la date Pour visionner la date utilisez la commande : date /t Pour visionner l’heure utilisez la commande : time /t II. Comment modifier l’heure et la date ? Pour modifier la date, tapez simplement la commande : date Pour modifier l’heure, tapez simplement la commande : time III. Comment découper la date ? %DATE:~Position_de_Depart,Nombre_De_Caractères% Nombre de caractères correspond au nombre de caractères que vous souhaitez afficher à partir de la position de départ. Exemple avec la date du jour, soit : 17/11/2011 : IV. Exemples   Afficher seulement le jour : %DATE:~0,2%   Afficher seulement le mois : %DATE:~3,2%   Afficher seulement l’année : %DATE:~6,4%   Afficher la date complète sans les slashs : %DATE:~0,2%%DATE:~3,2%%DATE:~6,4%   V.Comment découper l’heure ? %time:~Position_de_Depart,Nombre_De_Caractères% Nombre de caractères correspond au nombre de caractères que vous souhaitez afficher à partir de la position de départ. Exemple avec l’heure 22h00 et 32 secondes : Vous remarquerez

Lire cet article
Batch

Copie automatique du contenu d’un périphérique

Nous allons voir comment créer un fichier .bat permettant d’effectuer une copie de périphérique ( tel qu’une clé USB ) de manière quasi-automatique. Pour cela nous utiliserons la commande ROBOCOPY Il nous suffit d’inscrire dans un fichier .bat la commande : Robocopy \E [LettrePeriph] [CheminDestination] \E :est l’option permettant de copier les sous-répertoires ( y compris les vides ) \S :permet de copier les sous-répertoires hormis les vides. \MOV :coupe les fichiers \MOVE :coupe les fichiers ET les répertoires. \XF [fichier] : Exclue les fichiers dans le chemin défini \XF [repertoires] : Exclue les répertoires dans le chemin défini

Lire cet article
Batch

Changer sa configuration TCP/IP rapidement

Si vous utilisez plusieurs configuration TCP/IP différentes et que vous trouvez ennuyeux de devoir tout ressaisir à chaque changement, ce script est fait pour vous ! Tout d’abord, copiez collez dans un fichier vide le code du script ci-dessous et enregistre-le en .bat. Ensuite modifier la valeur des variables pour adapter le script à vos besoins. Explication sur la correspondance des variables :  NomConnexion : Correspond au nom exacte de la connexion dont la configuration doit être modifiée (évitez les accents).  IP : Correspond à l’adresse IP que vous souhaitez attribuer à cette connexion.  Masque : Correspond au masque de sous-réseau.  Passerelle : Correspond à la passerelle par défaut.  DNS : Correspond au serveur DNS principal. @echo off echo Mise a jour de la configuration TCP/IP du PC. Patientez… SET NomConnexion=Local Area Connection SET IP=172.17.0.4 SET Masque=255.255.0.0 SET Passerelle=172.17.0.254 netsh interface IP set address « %NomConnexion% » static %IP% %Masque% %Passerelle% 1 SET DNS=172.22.0.2 netsh interface IP set DNS « %NomConnexion% » static %DNS%

Lire cet article