jeudi 23 août 2012

Les boucles FOR du Batch ...

Aujourd'hui, un petit retour au Batch ... (<= Jeu de mot débile.. retour/boucle .. nan ? ok j'me cache)

Parce que le Batch, c'est toujours aussi bien, et que même si il laisse de plus en plus de place au Shell, il est toujours présent et continue à rendre pas mal de services ...

Une utilisatrice a souhaitée avoir une liste des droits attribués sur un dossier à sa charge sur le réseau.

LE reflex du geek => "Super, on Batch !"

But du jeu : avoir les droits descendus sur tous les sous-dossier d'un Folder particulier.

Les armes : 
¤ - le fameux FOR pour initialiser la boucle accompagné d'un /D pour scanner un dossier, d'un /R pour avoir les droits appliqués sur les sous dossiers et fichiers. Ici, on utilisera le /F à partir d'un fichier texte, généré par ...
¤ - ... Le DIR qui sert à regarder à l’intérieur d'un dossier
¤ - Le CACLS, une commande permettant de lister les droits d'un dossier/fichier ou/et de les changer de manière massive (Toujours bon a retenir celui la)

Le jeu se déroule en deux manches. Dans la première ont commence par lister les dossiers avec la commande :
Dir destination /A:D /B /S > D:\ListeRep.txt

Explication de la commande : DIR est la commande qui sert à Lister l’intérieur d'un dossier les arguments :
/A:D                     Afin de cibler les dossiers
/B                         Permet d'obtenir les chemins
/S                          Récurrence sur les sous dossiers du dossier visé
> destination       Va écrire le résultat dans un fichier

Deuxième partie, ont applique la boucle FOR qui sert à répéter une action a exécuter tant que la condition est vraie. Ici la condition va être la présence d'un dossier.
La commande est la suivante :
FOR /F "Usebackq delims=;" %%i in (D:\ListeRep.txt) do (
CACLS %%i >> D:\LogListeRep.log
)
Cela parait un peu barbare.
Explications :
FOR est la commande qui initialise la boucle
/F                   Permet de lire un fichier texte il peut être comme ici suivis d'arguments
Usebackq       Indique au programme que des arguments complexes vont être utilisés
delims=;          Va indiquer à la commande que les lignes doivent êtres envoyés en entier jusqu'à la rencontre d'un délimitateur, ici ; mais on peut utiliser autre chose.
%%i              Est la variable remplis par les résultats. Ont batch, donc on double le "%"
in()                  L'emplacement du fichier liste
CACLS          Ont demande à chaque occurence trouvée d'appliquer la commande CACLS qui permet de lister les droits sur un dossier (d'où l'indication de la variable %%i juste derrière)
>>                  Permet de rajouter des lignes au fichier créé précédemment.

Voila la commande au complet. J'ai initier un Pause>null au milieu du programme afin de rajouter des guillemets et un ; a la fin de chaque lignes avec Notepad++ par manque de temps.
Cela donne au final :

@Echo Off
Echo %Date%  > D:\LogListeRep.log
Echo %Time% >> D:\LogListeRep.log
Dir \\Destination /A:D /B /S > D:\ListeRep.txt
Pause>Null
FOR /F "Usebackq delims=;" %%i in (D:\ListeRep.txt) do (
CACLS %%i >> D:\LogListeRep.log
)

Voilà, pas très compliqué mais sacrément utile
A noter qu'une extraction sous Excel est tout à fait possible en replaçant le .log par un .xls, mais il faudra le trier pour que cela soit exploitable.

Au plaisir ...

vendredi 8 juin 2012

Ralentissements sous Windows XP

Voici comment palier les ralentissements sous Windows XP sans avoir à reformatter sa machine.

1.     Afficher les fichiers cachés

Dans l’explorateur de fichier Windows, aller dans « Outils |Options des dossiers | Onglet Affichage » et changer la coche « Fichiers et dossiers cachés »

2.     Vidage du premier dossier TEMP

Windows stock des informations temporaires dans deux endroits différents. Le premier est situé dans C:\Windows\Temp et concerne le système en général.
Il faut supprimer tout ce que contient le dossier. 

Attention, ne pas supprimer le dossier lui-même

Si les fichiers sont en cours d’utilisation (ce qui n’est pas rare), il faut passer au suivant.

3.     Vidage du second dossier TEMP

Le second dossier concerne vos applications et se situe dans C:\Documents & Settings\VotreProfile\Local Settings\Temp
Ou VotreProfile correspond au nom de votre session.
Là encore, supprimer tout ce qui se trouve à l’intérieur de ce dossier

 Attention, ne pas supprimer le dossier lui-même

Si les fichiers sont en cours d’utilisation (ce qui n’est pas rare), il faut passer au suivant.

4.     Compression du disque physique

Une fois ces actions effectués, faire un clic droit sur le lecteur C:\ puis sur le bouton « Nettoyage du disque »
Ici, il faudra sélectionner toutes les cases sauf la dernière « Compression des données non utilisées ».



Fin de l’intervention, vous pouvez regagner la machine à café …

jeudi 7 juin 2012

XenApp6 Résoudre l'erreur 500.19

Pour ce faire, désactiver la compression Http du serveur IIS.
En ligne de commande :

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name='xpress']

C'est tout ... RDV au café ...

Configurer RADIUS avec un switch Cisco

1         SERVEUR RADIUS

1.1      AJOUT DU ROLE NPS


L’installation du rôle NPS se fait via le gestionnaire de rôle.

Suivre les étapes d’installation puis terminer.

 1.2     CONFIGURATION DU SERVEUR RADIUS


1.2.1    NOUVEAU CLIENT RADIUS


La configuration d’un nouveau client RADIUS se fait dans la MMC NPS.MSC

Aller dans « NPS | Clients et serveurs RADIUS | Client RADIUS »

 Puis click droit sur « Client RADIUS | Propriété »

  Le mot de passe est à renseigner sur le matériel qui se connecte au serveur RADIUS.

1.2.2    CONFIGURATION D’UNE STRATÉGIE DE CONNEXION


Faire un click droit sur « NPS | Stratégies | Stratégies réseau | Propriété »

Nom de la stratégie

On détermine le Groupe Windows qui aura les autorisations d’accès

 Ici, le groupe « Administrateurs_Radius »

 On détermine les accès du groupe rajouté précédemment

 Configuration de la sécurité d’accès. Décocher tout sauf « Authentification non chiffrée (PAP, SPAP) »

Déconnexion automatique des utilisateurs au bout de 15 minutes

Paramétrage des Attributs RADIUS Standard

 -             Supprimer « Framed-Protocol »

-              Modifier « Service-Type » pour pointer sur « Login »

Paramétrage des Attributs RADIUS Spécifiques au fournisseur

Ajouter « Vendor-Specific » avec les attributs modifiés suivant :

Dans « Configurer l’attribut »

 Note : le lvl correspond ici aux droits utilisateurs concernant les modifications sur le switch.

15           => Administrateurs

7             => Utilisateurs avec pouvoir

1             => Utilisateurs

Note : 3 groupes ont été créés avec des accès différents à travers les politiques d’accès de IAS

Administrateurs_Radius                              LVL 15

Monitoring_Radius                        LVL 7

Utilisateurs_Radius                        LVL 1

Chiffrement nécessaire pour accéder au service de routage et accès à distance

 Pas de filtrage selon l’état de la machine client.

 Niveau d’autorisation pour le groupe

 Les stratégies sont activées



2         PARAMETRAGE DU SWITCH


Paramétrage du switch CISCO 2960 pour qu’il se connecte au serveur RADIUS

La connexion au switch se fait par l’outil Putty

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Renseigner l’adresse IP du matériel et le type de connexion (SSH)

 Se loguer avec l’administrateur local et taper les lignes suivantes (En gras) :

En

 Edition de la configuration du switch
Conf t

Déclaration d'un nouveau modèle

aaa new-model

Méthode d'authentification

aaa authentication login default group radius local

Paramétrage des autorisations, pointage du serveur et renseignement de la clé partagée

aaa authorization exec default group radius local radius-server host 10.2.0.2 radius-server key xxxx

mercredi 6 juin 2012

Hello World !

Bonjour tout le monde, création du blog et apparition dans le monde comme il se doit ... avec un 'Hello World' !