SOMMAIRE PARTIE 2
|
1.2 Les fonctions du Système d’Exploitation
1.3 La structure du Système d’Exploitation
2 La gestion
du processeur et de la mémoire
3.2 FAT32 : fonctionnement général
4 Un exemple
de SE : Windows 2000 Professionnel
4.2 Le Registre de Windows 2000
4.4 Quelques astuces utiles sous Windows 2000
G – Quelques
notions MS-DOS utiles …
H – A propos
des clés du Registre Windows 2000...
I –
Principales touches de raccourci Windows
J – Modes de
démarrage Windows 2000
Dans ce chapitre, après avoir décrit le rôle et la structure générale d’un Système d’Exploitation, nous allons étudier les fonctions principales qu’il doit remplir. Puis nous nous intéresserons plus particulièrement au système Windows 2000 Professionnel.
Commençons par une définition simple :
Un système d’exploitation (acronyme SE en français, OS pour Operating System en anglais) est un logiciel assurant la gestion de l’ordinateur et de ses périphériques par un ou plusieurs utilisateurs.
Nous ne nous intéresserons ici qu’aux systèmes destinés à la micro-informatique, les « gros » ordinateurs ayant leur propre système d’exploitation (dont les fondamentaux sont d’ailleurs assez semblables).
Quelques vérités bonnes à rappeler :
·
Le Système d’Exploitation est indispensable pour travailler
sur un PC.
·
Plusieurs Systèmes d’Exploitation peuvent être installés sur le même
PC, le choix du système se fait au démarrage.
·
Le Système d’Exploitation ne doit pas être obligatoirement installé
sur le disque dur.
·
Il y a d’autres Systèmes d’Exploitation que les systèmes Windows …
Il existe beaucoup de SE différents, mais le marché est largement dominé depuis le début de la micro-informatique par les produits Microsoft : MS-DOS, Windows 9x, Windows NT, Windows 2000, Windows XP.
Les alternatives aux produits Microsoft existent : Unix, OS/2, QNX, BeOS, Netware, … Le plus connu de ces systèmes « alternatifs » est Linux, issu du monde du logiciel libre, et qui s’est énormément développé avec l’explosion d’Internet.
Certains SE sont plus particulièrement adaptés à gérer le travail sur plusieurs ordinateurs connectés en réseau (Windows 2003 Server, Netware, Unix, …). Ils sont structurés afin de pouvoir fournir un service (gestion des comptes utilisateurs, etc…) à l’ensemble des PC connectés. Nous en reparlerons lors des chapitres plus particulièrement consacrés aux réseaux locaux.
Le système d’exploitation est le véritable « pilote » de l’ordinateur. Il commande tous les composants du PC et coordonne les échanges d'informations entre eux, en assurant notamment les fonctions suivantes :
·
la gestion du processeur et
de la mémoire (voir section 2)
·
la gestion du disque dur (voir section 3)
·
la gestion des périphériques : Il faut gérer la communication avec les périphériques
d’entrée-sortie, grâce à une bibliothèque de fonctions standards,
éventuellement complétées par des fonctions spécifiques (drivers).
·
la gestion de l’interface avec l’utilisateur : Le
dialogue « Utilisateur / Système d’Exploitation » se fait grâce à une
couche logicielle supplémentaire. Cette couche peut être succincte, de type
texte (ligne de commandes du DOS ou mode console d’Unix) ou plus élaborée, de
type graphique (interface Windows, interface KDE pour Linux, interface Photon
pour QNX).
Les fonctions du S.E.
Afin de réaliser ces différentes fonctions, les SE sont généralement structurés en couches autour d’un noyau central.
Le noyau (Kernel), est le module central du système d’exploitation. C’est la partie du SE qui est chargée en premier en mémoire centrale lors du démarrage, lorsque le BIOS passe le relais au SE. C’est un ensemble de fonctions qui restera stocké en mémoire centrale tant que la machine est sous tension. Il fournit aux autres modules du système les services vitaux :
- La gestion des « processus » par le microprocesseur.
- L’allocation de la mémoire aux différents processus.
C’est l’ensemble des fonctions extérieures au noyau. Elles permettent aux applications extérieures d’obtenir du noyau les services suivants :
- La gestion des entrées/sorties
- La gestion des fichiers
- L’interface utilisateur
On peut donc schématiser la structure d’un système d’exploitation de la manière suivante :
La structure d’un S.E.
La gestion du microprocesseur et de la RAM sont des fonctions qui sont étroitement liées. La notion de processus est à la base de leur fonctionnement.
Pour simplifier, disons que lorsque l’utilisateur lance un programme, celui-ci peut être décomposé par le S.E. en un ou plusieurs processus (threads). Ces processus s’ajoutent aux processus qui avaient déjà été lancés auparavant, par l’utilisateur ou le Système d’Exploitation lui-même.
Les anciens SE comme MS-DOS ou Mac OS jusqu’à la version 6, étaient des systèmes mono tâches, qui ne géraient qu'un processus à la fois (donc un seul programme). Lorsqu’un programme est lancé, celui-ci utilise seul les ressources de la machine et ne rend la main au SE qu’à la fin de son exécution, ou en cas d’erreur.
Les systèmes actuels sont dits multi-tâches, c’est à dire qu’ils gèrent « simultanément » plusieurs processus, même si, à l’instant "t" un seul processus est actif (puisqu’il n’y a qu’un microprocesseur).
C’est le SE qui gère l’enchaînement des tâches. On distingue 2 catégories de SE multi-tâches, selon la manière dont il gère le temps CPU :
ü multi-tâches préemptif : Le temps CPU est découpé en tranches qui sont alternativement attribuées aux différents processus, en fonction des besoins et des priorités des processus. Les systèmes Windows 95 et ultérieurs, Unix, OS/2, QNX, BeOS utilisent cette technique.
ü
multi-tâches coopératif : Chaque
processus garde le processeur autant de temps que nécessaire mais peut le
rendre temporairement en tirant parti des interruptions dues à l’utilisation
des périphériques (accès disque, édition et affichage). Windows 3X utilisait
cette technique, les Mac O.S. l’utilisent depuis la version 7.
La vitesse d’exécution des tâches étant très rapide, l’utilisateur a l’impression que ses programmes s’exécutent simultanément, ce qui est proche de la réalité.
Lors de son exécution, un processus utilise :
- le microprocesseur,
- la mémoire centrale,
Pendant son exécution, le processus peut demander au système d’exploitation l’accès à certaines ressources (écran, imprimante,...). Le S.E. vérifie alors l’état de la ressource demandée (disponible ou indisponible).
La fin d’un processus peut être :
Normale : le processus a fini de s’exécuter. Dans ce cas, le S.E. s’occupe de récupérer les ressources qui lui avaient été allouées.
Anormale : une erreur est survenue. Suivant les S.E., il y a ou pas récupération des ressources allouées. Le S.E. peut alors se trouver dans un état instable.
Commandée par le S.E. : Le processus reçoit un ordre de terminaison en provenance du S.E. qui recouvre alors toutes les ressources allouées.
Lors de l’exécution du processus, il peut se poser un problème de mémoire insuffisante, en particulier s’il y a de nombreuses applications lancées en même temps. La plupart des SE compensent ce manque d’espace par la technique du Swapping.
La technique du swapping consiste à n’implanter en mémoire qu’une partie des instructions et des données à traiter, et à effectuer lorsque c’est nécessaire des échanges avec le disque dur pour chercher les informations manquantes. (to swapp : échanger)
La zone du disque dur qui est utilisée est appelée zone d’échange. La mémoire virtuelle de l’ordinateur est composée de cette zone d’échange et de la mémoire centrale.
Le Système d’Exploitation conserve dans la zone d’échange le mécanisme d’adressage qu’il utilise dans la RAM.
Pour bien appréhender l’étendue du problème, voici une petite comparaison :
Pour représenter à notre échelle la surface utilisable d’un disque dur, en considérant que l’on a besoin d’1 cm2 pour dessiner un octet, il faudrait la surface de la Province Sud pour dessiner la surface totale d’un disque de 80 Go ! Et cette surface est divisée en plusieurs dizaines de millions de secteurs différents …
Il va donc falloir organiser le stockage des fichiers de manière structurée, afin d’être capables de retrouver rapidement les secteurs qui les contiennent.
Le Système de Fichiers (File System) décrit la façon dont un système d’exploitation organise le stockage et garde la trace des fichiers contenus sur le disque dur. Chaque système d’exploitation possède son système de fichiers privilégié, mais il est généralement capable d’en utiliser d’autres. Voici un tableau récapitulatif des principales correspondances entre OS et FS :
|
Système
de Fichiers
|
|||||
Système d’Exploitation
|
ISO9660
|
FAT16
|
FAT32
|
NTFS
|
EXT2
|
BeFS
|
DOS 6.x
|
¡
|
¡
|
r
|
u
|
r
|
r
|
Windows 95 < OSR2
|
¡
|
¡
|
r
|
u
|
u
|
r
|
Windows 95 OSR2 et 98
|
¡
|
¡
|
¡
|
u
|
u
|
r
|
Windows NTx
|
¡
|
¡
|
u
|
¡
|
u
|
r
|
Windows 2000 et XP
|
¡
|
¡
|
¡
|
¡
|
u
|
r
|
Linux
|
¡
|
¡
|
¡
|
¡ R
|
¡
|
r
|
BeOS
|
¡
|
¡
|
¡
|
¡ R
|
¡ R
|
¡
|
¡ supporté
r non supporté
u supporté mais à
l'aide de produit tiers (driver, logiciel, ..)
R ReadOnly (Lecture seule)
ISO9660 format standard des CDROM (tiré
du site de JC Bellamy : www.bellamyjc.net)
Pour remédier au problème du nombre très important de secteurs sur un disque, on a regroupé les secteurs en unités d’allocation, ou clusters.
Un cluster est un groupe de secteurs consécutifs. Il représente la plus petite unité de mémoire disque que l’on peut allouer à un fichier.
La taille des clusters est fixée lors du partitionnement du disque, en général en fonction de la taille de la partition. A titre d’exemple, dans le système FAT32, la taille des clusters est déterminée de la manière suivante :
Taille de la partition FAT32
|
Taille d’un cluster
|
Moins de 8 Go
|
4 ko
|
De 8 à 16 Go
|
8 Ko
|
De 16 à 32 Go
|
16 Ko
|
Plus de 32 Go
|
32 Ko
|
Lorsqu’un fichier est stocké sur le disque, il occupe un nombre entier de clusters, et ces clusters ne sont pas nécessairement voisins.
Le fait d’occuper un nombre entier de clusters est source de gaspillage d’espace. En effet, un fichier de 1 ko occupera un cluster entier, même si la taille des clusters est de 32 ko. Dans ce cas, on aura 31 ko inutilisés mais que le SE ne pourra pas utiliser pour stocker d’autres fichiers. Cet espace gaspillé (slack space) représente en moyenne autour de 20 % de l’espace disque utilisé.
Quel que soit le Système de Fichiers, un fichier n’est pas nécessairement stocké dans des clusters consécutifs (ceci résulte des nombreuses suppressions et créations de fichiers).
Ce phénomène est appelé fragmentation et il peut entraîner des pertes de performances dues aux déplacements supplémentaires des têtes de lecture pour rassembler les clusters d’un même fichier.
La fragmentation rend également difficiles la récupération par les utilitaires spécialisés des données supprimées (voir chapitre suivant, section « Entretien et mise à jour du système »).
Voici le fonctionnement du système FAT32, les autres systèmes fonctionnent globalement selon les mêmes principes. Considérons par exemple l’arborescence suivante :
Ce dossier va contenir une table répertoriant les fichiers et les dossiers qu’il contient (avec une ligne par fichier ou dossier contenu) : Chaque ligne de la table d’un répertoire contient les informations suivantes :
-
Le nom du fichier
-
L’extension
-
Le type (fichier ou dossier)
-
La date et l’heure de création
-
La taille en octets
-
Le numéro du cluster qui contient
le début du fichier
-
Une zone réservée pour le SE.
Dans notre exemple, on a la table suivante :
Table du répertoire Modèle
Nom
|
Extension
|
Type
|
Date
|
Heure
|
Taille
|
Premier Cluster
|
Texte
|
TXT
|
F
|
01/01/04
|
12 :35
|
22 985
|
3
|
Programme
|
EXE
|
F
|
01/02/04
|
23 :59
|
1 750
|
6 987
|
Dossier 2
|
|
D
|
01/12/03
|
8 :24
|
|
4 577
|
On va se référer à une deuxième table, la FAT (File Allocation Table) pour connaître les numéros des clusters qui contiennent le reste des fichiers, lorsque ceux-ci occupent plusieurs clusters
La FAT est un tableau répertoriant tous les clusters de la partition. Elle comporte autant de lignes qu’il y a de clusters, et pour chaque cluster une valeur indiquant si le cluster est libre, occupé ou contient au moins un secteur défectueux. Cette table est stockée à 2 adresses fixes de la partition.
La recherche des clusters contenant un fichier (par exemple le fichier Texte.txt) se fait de la manière suivante :
Etape 1 : Le S.E. va chercher dans la table
du répertoire le numéro du premier cluster
Grâce à ce numéro, le S.E.
récupère sur le disque dur le premier cluster du fichier
Etape 2 : Le S.E. va ensuite se placer dans la FAT au numéro de ce
premier cluster. La valeur indiquée est le numéro du cluster suivant.
On se
place dans la FAT au numéro de ce second cluster. On trouve le numéro du
cluster suivant.
On se
place dans la FAT au numéro de ce troisième cluster.
On trouve le numéro 999999 qui indique que c’était le
dernier cluster du fichier.
Le système FAT a été créé par Microsoft pour son premier système d’exploitation, DOS 1. Ce système s’appelait FAT12, la valeur associée à chaque cluster étant codé sur 12 bits. C’est le système de fichiers actuellement utilisé pour les disquettes.
A partir de DOS 2, le système utilisé est FAT16, la valeur associée à chaque cluster est codée sur 16 bits. On avait alors 65 526 clusters par disque (216 moins 10 valeurs réservées), avec une taille des clusters de 2 à 32 ko. Ce système limitait la taille adressable maximale des disques à 2 Go.
A partir de Windows 95 OSR 2, le système utilisé est FAT32. La valeur associée à chaque cluster est codée sur 28 bits, ce qui permet d’avoir un maximum d’environ 268 millions de clusters et d’adresser un disque de 2 To.
Le grand nombre possible de clusters avec FAT32 offre la possibilité d’avoir des clusters de petite taille (4 Ko) afin de ne pas gaspiller d’espace. Cependant cette option pose un problème : la taille de la FAT elle-même. En effet, de manière à accélérer les accès, la FAT est chargée en mémoire centrale, et une FAT avec 268 millions de clusters codés sur 28 bits occuperait 1 Go en mémoire ! C’est pourquoi le système FAT32 augmente la taille des clusters, en proportion de la taille de la partition.
Le système NTFS fonctionne de manière sensiblement différente : Les informations concernant les fichiers et les dossiers sont stockées dans une table unique, la MFT (Master File Table), qui contient une « ligne » d’1 Ko par fichier ou dossier contenu dans la partition.
La MFT contient notamment pour chaque fichier (ou dossier) les informations suivantes :
- Informations standards : attribut lecture seule, dates création, modification, accès, …
- Nom : il peut y avoir plusieurs noms (en particulier le nom "court")
- Descripteur de sécurité : informations de contrôle d'accès au fichier.
- Données non nommées : le contenu (total ou partiel) du fichier
- Données nommées : autre(s) flux de données, (facultatif)
Si la totalité du fichier ou du dossier ne « tient pas » dans une ligne de la MFT (ce qui est souvent le cas pour les fichiers), cette ligne contient les numéros de cluster où se trouve la suite du fichier.
A la différence de la FAT, les emplacements dans la partition NTFS de la MFT et de sa copie de sauvegarde ne sont pas fixes.
Il existe trois versions du système NTFS, liées au système d'exploitation qui les a créées (ou modifiées).
Version NTFS
|
Systèmes d'exploitation
|
1.1
|
Windows NT4 jusqu'au SP3 et versions antérieures
|
3.0
|
Windows NT4 à partir du SP4 |
3.1
|
Windows 2000 à partir du SP3 |
La version 3.0 apporte par rapport à la 1.1 la gestion des quotas et le chiffrement. La version 3.1 apporte par rapport à la 3.0 la possibilité d'avoir une partition en lecture seule.
Certains problèmes de compatibilité peuvent se poser : par exemple, un système NT4 SP3 ne pourra pas accéder à une partition NTFS créée sous Windows 2000..
Dans cette section, nous allons nous intéresser à un système d’exploitation représentatif de la gamme Microsoft, Windows 2000 Professionnel. Nous ne traiterons pas dans cette section des fonctionnalités orientées « réseau » (gestion des utilisateurs, partage de ressources, etc.) qui seront abordées dans le chapitre consacré aux réseaux locaux.
Aux balbutiements de la micro-informatique, chaque constructeur de matériel (Tandy, Apple, Commodore, ..), à l'image des constructeurs de gros systèmes, proposait sa machine avec son système d'exploitation propriétaire. Les ordinateurs étaient donc incompatibles entres eux, tant du point de vue matériel que logiciel. De plus les programmes d'application étaient spécifiques à chaque machine.
En 1981, IBM lance un ordinateur individuel appelé IBM PC (Personal Computer) avec le choix entre plusieurs systèmes d’exploitation, dont le système PC-DOS, proposé par Microsoft. Cette combinaison allait devenir la référence du marché de la micro-informatique.
Les caractéristiques de la machine étaient publiées par IBM ; les autres constructeurs ont alors commercialisé des "compatibles PC" avec le système d'exploitation MS-DOS (Microsoft Disk Operating System), l'ensemble devenant un standard de fait.
Microsoft a par la suite fait évoluer son système, d’abord en lui ajoutant une couche graphique (Windows 3.x), puis en développant des systèmes de plus en plus indépendants du « DOS ».
De nos jours, les SE proposés par Microsoft n’ont plus grand chose à voir avec MS-DOS, mais il reste cependant possible d’exécuter des commandes DOS (ou des fichiers de commandes DOS) dans l’univers Windows, ce qui est parfois bien pratique (voir section « Quelques astuces … »). Un tableau récapitulatif des principales notions DOS figure en annexe G.
L’évolution de la gamme des systèmes d’exploitation Microsoft peut être résumée par le tableau suivant :
Systèmes |
Systèmes orientés |
Systèmes Réseau
|
Windows 95 |
Windows NT WorkStation |
Windows NT Server |
Windows 98 |
||
Windows 98 Me |
Windows 2000 Professionnel |
Windows 2000 Server |
Windows XP |
Windows 2003 Server |
|
Home |
Pro |
Mis à part pour Windows 9x, le système de fichiers utilisé est NTFS, mais les partitions FAT32 sont également accessibles.
Il existe énormément d’utilitaires inclus dans Windows, chacun pouvant généralement être lancé de plusieurs manières différentes. Certains seront vus plus en détail dans le chapitre consacré au dépannage, d’autres dans le chapitre consacré aux réseaux locaux.
Présent dans tous les systèmes Windows, c’est le véritable poste de commande. il permet d’installer et de configurer le matériel, de configurer bon nombre de paramètres Windows, de gérer les applications et les utilisateurs, et d’accéder à d’autres utilitaires.
Il regroupe un certain nombre d’utilitaires permettant d’accéder au journal des évènements, à la liste des services et composants installés, aux stratégies de sécurités, au moniteur système, etc.
Présent dans les Outils d’administration (ou accessible par un clic droit sur Poste de travail, commande Gérer), cet utilitaire est divisé en trois domaines :
·
Les Outils systèmes permettent de s’informer sur l’état du
système (observateur d’évènements, informations système,…) et d’en modifier
certaines composantes (accès au gestionnaire de périphérique, à la gestion des
utilisateurs).
·
La partie Stockage permet de gérer les différents disques durs,
partitions, lecteurs logiques (défragmentation, examen, lettres de lecteur, …)
·
Les Services et applications permettent de connaître et de gérer
(démarrer, arrêter, …) les différents services ou applications distribués par
le système.
Les systèmes Windows sont multi-tâches, ce qui
signifie qu’à un instant « t », plusieurs processus sont gérés par le
système. La liste des applications en cours d’exécution et des processus actifs
est fournie par le gestionnaire des tâches. On y accède par la fenêtre Sécurité
(touches Ctrl + Alt + Suppr ).
Le Registre, appelé Base de Registre dans les versions précédentes de Windows (il est apparu avec Windows 95), est une base de données contenant les paramètres de configurations du système et des logiciels installés. L’intérêt était de se débarrasser des anciens fichiers .ini. On trouve encore ces fichiers pour des raisons de compatibilité avec les anciennes applications, mais les programmes spécifiquement écrits pour Windows 2000 ou XP n'y ont en principe plus recours.
Sous Windows 98, les valeurs du Registre étaient stockées dans deux fichiers cachés du dossier WINDOWS, system.dat et user.dat.
Ce n’est plus le cas à partir de Windows 2000, et les valeurs du Registre sont stockées dans des fichiers « ruches » sans extension (Hives). Ils sont stockés dans différents dossiers (par exemple dans WINNT\System32\config pour certains, dans les fichiers Ntuser.dat et UsrClass.dat des dossiers des profils utilisateurs pour d’autres, etc ...). Pour chaque fichier « ruche », Windows 2000 crée des fichiers de sauvegarde avec l'extension .SAV et des fichiers .LOG retraçant les changements affectant cette ruche.
L’accès aux données du Registre peut avoir des conséquences irréversibles pour le bon fonctionnement du système, par exemple en cas de mauvais paramétrage, de maladresse ou d’incident technique (coupure de courant, etc.). |
On peut accéder aux données du Registre à l’aide d’un programme : regedit. Cet éditeur se lance par le menu <Démarrer> <Exécuter…> en tapant regedit (pour des raisons de sécurité, il n’est pas disponible par le menu Démarrer).
On obtient alors la fenêtre suivante :
Regedit est un outil extrêmement puissant, qui donne accès à des paramètres qui ne sont pas, pour beaucoup, accessibles autrement.
A gauche se trouve l’arborescence des clefs où chaque dossier est une clef, contenant éventuellement des sous-clés. A droite, se trouve le panneau des données contenues dans les clés. Chaque clé ou sous-clé a un nom, un type (ou valeur) et une donnée.
L'outil s'est amélioré au fil des versions de Windows, permettant notamment de créer des favoris vers des clefs souvent utilisées ou de sauvegarder l'état du Registre. Il existe également un certain nombre d’utilitaires, gratuits pour la plupart, permettant de modifier les clés du Registre dans un environnement plus convivial que celui de regedit.
Un tableau récapitulatif des principaux types des clés du Registre, ainsi qu’une description de l’arborescence, figurent en annexe H.
Il y a deux méthodes différentes pour modifier les données du Registre avec regedit :
Pour modifier une clé dans regedit, il faut dérouler l’arborescence permettant d’y accéder. Par exemple, en déroulant l’arborescence …
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
… on accède à la clé DontDisplayLastUserName. En double-cliquant sur cette clé, on obtient la fenêtre suivante qui permet de modifier sa donnée :
Cette clé permet d’empêcher l’affichage du nom du dernier utilisateur dans la fenêtre de connexion (1 empêche, 0 autorise).
Les fichiers registres (extension .REG), sont des fichiers permettant de manipuler les clés du registre. Dans l’éditeur regedit, lorsqu’on exporte une branche de l’arborescence, celui-ci crée un fichier registre que l’on peut ensuite exécuter (ou importer dans regedit) à tout moment afin de récupérer les valeurs sauvegardées.
L’importation d’un fichier registre est une RECUPERATION et pas une restauration. Ceci signifie par exemple que des clés supplémentaires qui auraient été crées APRES l’exportation, ne seront pas supprimées lorsqu’on importe le fichier registre. |
En clair, l’utilisation des fichiers registre doit être limitée à la sauvegarde/récupération d’une clé, à la rigueur d’une branche du registre, mais en aucun cas de la totalité du Registre (la récupération intégrale du registre sera d’ailleurs impossible car certaines clés sont protégées).
Nous avons vu comment exécuter une suite de commandes DOS en les enregistrant dans un fichier .BAT, également appelés fichiers batchs. Cette technique a longtemps été la seule manière de programmer le comportement du système, jusqu’à ce que Microsoft intègre un système bien plus performant, le Windows Scripting Host.
WSH est inclus nativement dans le système pour Windows 98, 2000, Me, XP ou toutes versions de Windows ayant installé Internet Explorer 5 ou supérieur. Ce système peut exécuter du VBScript et du JavaScript, aussi bien depuis la ligne de commande que par l'interface graphique. Ces scripts font office de programmes indépendants, mais peuvent aussi être simplement insérés dans une page web.
On peut créer ou modifier le contenu d’un script avec le Bloc-notes (contrairement aux programmes exécutables qui sont compilés, les scripts sont interprétés), en enregistrant le fichier avec une extension .vbs. VBScript est un langage de programmation dérivé de Visual Basic Application (VBA), présent dans les produits Microsoft Office (Excel, Access, Word, …), VBA étant lui-même issu du langage de développement Visual Basic.
La programmation de scripts est une programmation « orientée objet », c'est à dire qu’elle manipule des objets, à travers leurs propriétés (données qui les caractérisent) et leurs méthodes (actions qui leur sont liées).
La plupart des scripts auront besoin d’accéder à l’environnement de Windows (grâce à l’objet Wscript.Shell), et souvent aux fonctions propres du système (grâce à l’objet Shell.Application). Ceci se fait en incluant les lignes suivantes en début de script :
set WshShell = WScript.CreateObject("WScript.Shell")
set Shell =
WScript.CreateObject("Shell.Application")
|
Il suffit ensuite d’utiliser les propriétés et méthodes de ces objets. Par exemple, le script suivant va afficher une boite de message avec deux boutons (Oui et Non), et ferme Windows si l’utilisateur clique sur Non :
set Shell =
WScript.CreateObject("Shell.Application")
rep =
msgbox("Bonjour, ça va ? ",vbyesno)
if rep = vbNo then
Shell.ShutdownWindows
end if
|
Deux programmes permettent d’interpréter (et donc d’exécuter …) un script, la différence étant l’interface dans laquelle le script s’exécute : wscript.exe en mode fenêtre et cscript.exe en mode console. Par défaut, tout fichier script VBS est associé à l'un de ces deux interpréteurs et peut donc être lancé en double-cliquant dessus ou en mode Invite de commande.
Beaucoup de virus sont en fait de simples scripts, comme par exemple le fameux virus « I Love You ». On trouve sur Internet, y compris sur le site de Microsoft, de nombreux scripts utiles, en particulier dans le domaine de l’administration réseau.
Ce paragraphe présente, quelques astuces facilitant le travail avec un système Windows 2000.
Ces différentes astuces n’ont pas nécessairement de rapport entre elles, que ce soit dans leur finalité ou le moyen de les réaliser. Leur seul point commun est de concerner l’environnement Windows 2000.
L’annexe I répertorie les principales combinaisons de touches de raccourci disponibles dans l’environnement Windows.
Il est également possible d’affecter la combinaison Ctrl + Alt + une autre touche à un raccourci figurant sur le bureau ou dans le menu Démarrer afin de l’exécuter (clic droit sur le raccourci, commande <Propriété>, onglet <Raccourci>).
Contrairement à Windows 9.x, Windows 2000 n'active pas le pavé numérique au démarrage. Pour le faire, il faut aller dans le Registre et dérouler la clé :
HKEY_USER\.DEFAULT\Control
Panel\Keyboard
et attribuer à la clé InitialKeyboardIndicators la valeur 2 (valeur 0 = pavé numérique désactivé).
Lorsqu’un utilisateur ouvre une session, le système exécute toutes les applications contenues dans : C:\Documents and Settings\Nom_Utilisateur\Menu Démarrer\Programmes\Démarrage. Si on ajoute un raccourci vers une application, celle-ci se lancera à l’ouverture de la session, si on supprime l’application de ce dossier, elle ne s’exécutera pas à l’ouverture de la session.
Certains programmes, parfois indésirables, qui se lancent au démarrage créent une clé dans le Registre, à l’arborescence suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run[...]
Il suffit, dans la partie droite de l’éditeur, de supprimer les clés correspondant aux logiciels que l’on veut exclure du démarrage.
Voici quelques clés du Registre qui permettent de contrôler l’utilisation de l’option Affichage du Panneau de Configuration. Il faut d’abord dérouler la clé suivante :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
A ce niveau, il faut créer une nouvelle clé :
…et appeler cette nouvelle clé System.
Enfin, dans cette nouvelle clé, il faut créer les valeurs DWORD suivantes (dans la partie droite de regedit), en fonction du traitement voulu :
NoDispCPL Interdit l’accès au menu Affichage (si la donnée est à 1)
NoDispSettingsPage Masque l’onglet Paramètres (si la donnée est à 1)
NoDispBackGroundPage Masque l’onglet Arrière-plan (si la donnée est à 1)
NoDispScrSavPage Masque l’onglet Ecran de veille (si la donnée est à 1)
NoDispAppearancePage Masque l’onglet Apparences (si la donnée est à 1)
Il est peut s'avérer utile de modifier la base de registres en ligne de commande, essentiellement pour incorporer cette commande dans un fichier batch. Pour cela, il suffit de passer en paramètre à REGEDIT un fichier registre (extension .reg) La syntaxe est la suivante :
REGEDIT [/s] <nom_de_fichier.reg>
L’option facultative /s permet de « shunter » la boite de dialogue de confirmation (très utile si la commande est dans un fichier batch) :
Pour enrichir le menu contextuel "Envoyer vers ...", il suffit d'ajouter des raccourcis pointant vers les répertoires de destinations et de les placer dans le dossier SendTo placé dans le répertoire C:\Documents and Settings\Nom_Utilisateur.
Il est possible, à partir des clés du Registre, de désactiver l’exécution automatique des Cd-rom. Il faut dérouler la clé suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom
Affectez à la clé Autorun la valeur 1 pour activer l'exécution automatique ou la valeur 0 pour la désactiver (redémarrage de Windows nécessaire).
Il est parfois utile de savoir dans quel dossier se trouve le fichier exécutable d’un programme du menu Démarrer. Voici une méthode rapide :
- Clic droit sur le bouton <Démarrer>, puis <Ouvrir> et dossier Programmes
- Sélectionner dans le dossier (ou un sous-dossier) le raccourci du programme concerné
- Clic droit, commande <Propriété>, onglet <Raccourci>
- Dans le champ Cible se trouve le chemin d’accès à l’exécutable.
Lors de l'installation de Windows 2000, l'assistant vous propose d'ouvrir une session automatiquement à chaque démarrage sous un nom d'utilisateur précis.
Cette fonctionnalité peut être désinstallée dans le registre. Il faut dérouler la clé suivante
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon.
Affectez à la clé AutoAdminLogon la valeur 1 pour activer le logon automatique ou la valeur 0 pour le désactiver.
Il est possible, à partir des clés du Registre, d’interdire l’accès à une application. Il faut d’abord dérouler la clé suivante :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Dans la clé Explorer, il faut créer une nouvelle clé DisallowRun, ainsi qu’une valeur DWORD, également nommée DisallowRun, avec la donnée 1 :
Enfin, à l’intérieur de cette nouvelle clé DisallowRun, il faut créer autant de valeurs chaîne que de logiciels à interdire. Les valeurs doivent être nommées 1, 2 etc … et la donnée de chaque valeur doit contenir le nom (avec l’extension) d’un exécutable à interdire :
L’exemple ci-dessus interdit l’accès à Outlook Express (il faut redémarrer le PC).
L’Explorateur permet de
visualiser l’arborescence des dossiers, mais ne dispose pas de commande pour
l’imprimer. Pour avoir une version papier du contenu d’un dossier, il faut
lancer l’invite de commande DOS (<Démarrer>
<Programmes> <Accessoires> <Invite de commandes>),
se déplacer jusqu’au dossier dont on désire l’arborescence (commande CD ,
voir annexe E), puis taper la commande : TREE >PRN
Il arrive que certains composants Windows (Internet Explorer, NetMeeting, ...) ne fonctionnent plus correctement, que Windows refuse de les réinstaller, et qu’il ne soit pas possible de les désinstaller.
Une solution va consister à faire croire à Windows que le produit n'a pas été installé. En effet, l'installation de ces logiciels est répertoriée dans le registre dans la branche :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active
Setup\Installed Components
Cette branche comporte une clé par composant concerné (le nom de la clé est un identifiant propre à chaque logiciel). Elles contiennent chacune un certain nombre de valeurs, dont la valeur IsInstalled.
En fixant la valeur de IsInstalled à 0 (au lieu de 1), on fait croire à Windows que le logiciel n'est pas installé, et on peut alors le réinstaller.
Lorsque l’extension d’un fichier n’est pas reconnu, on peut ajouter dans le menu contextuel (clic droit dans l’explorateur) une commande afin d’ouvrir ce fichier avec une application déterminée.
Il suffit de créer les 3 cles suivantes (si elles n'existent pas déjà) :
HKEY_CLASSES_ROOT\unknow\shell la valeur par défaut
restera non définie
(en principe, cette clef doit déjà exister)
HKEY_CLASSES_ROOT\unknow\shell\view la
valeur par défaut sera le texte affiché dans le menu contextuel, par exemple, "Essayer
le Bloc Notes …"
HKEY_CLASSES_ROOT\unknow\shell\view\command la valeur par défaut sera, par
exemple, "c:\winnt\notepadt.exe "
La commande " Essayer le Bloc Notes …", associée au bloc-notes, apparaîtra ainsi dans le menu contextuel de l'Explorateur chaque fois que l'on sélectionne un fichier à extension inconnue.
Par défaut, si on double clique sur un fichier avec l'extension .REG, le fichier est importé dans le registre. Pour plus de sécurité, on peut choisir d’éditer le fichier au lieu de l'importer (il pourrait en effet contenir du code indésirable).
Dans l'explorateur, il faut choisir la commande <Outils> <Options des dossiers> onglet <Types de fichiers>, puis dérouler la liste et sélectionner les fichiers .REG (Inscription dans le Registre) et enfin cliquer sur le bouton Avancés :
Dans la fenêtre ci-dessus, il suffit de sélectionner edit et de cliquer sur le bouton Par défaut.
Désormais, si on double clique sur un fichier portant l'extension .REG, il sera édité dans le bloc notes, et
Commandes
DOS
Principe ou action
|
Commande
|
Explications et exemples
|
Chemin
d’accès
|
|
Pour accéder à un fichier, il faut indiquer dans la
commande du DOS la succession des répertoires qui amène jusqu'au sous
répertoire qui le contient: c'est le chemin d'accès.
Exemple :
C:\ Désigne le répertoire
principal de C
C:\DATA\PROG Désigne le sous répertoire PROG du
répertoire DATA.
Remarque: Si le chemin est précédé de \,
il part du répertoire principal; sinon, il part du répertoire en cours.
|
Lister
le contenu d’un dossier
|
DIR
|
DIR liste le contenu du
répertoire courant
DIR A : liste le
contenu de la disquette
DIR C:\DATA2 liste le
contenu du répertoire DATA2
Options utiles (à ajouter après la commande) :
/P affichage par page d'écran (Arrêt momentané quand l'écran est plein).
/W affichage d'une liste abrégée sur 5 colonnes.
|
Changer
de lecteur
|
[lettre] :
|
A : la disquette devient
le lecteur actif
|
Changer
de répertoire
|
CHDIR ou |
CD \DATA le répertoire DATA2 devient le répertoire courant
CD \ la
racine devient le répertoire courant
CD .. le répertoire parent devient
le répertoire courant
|
Créer un
répertoire
|
MKDIR ou |
MD \DATA2 Crée
le répertoire DATA2 à la racine de C
|
Supprimer
un répertoire
|
DELTREE
|
DELTREE \DATA Supprime le répertoire DATA et
tout ce qu’il contient (sous-dossiers, fichiers)
|
Copier
un fichier
|
COPY
|
COPY A :TOTO.DOC C : Copie le fichier Toto.doc à la
racine de C :
COPY *.* A : Copie tous
les fichiers du répertoire courant à la racine de la disquette
|
Protéger
un fichier
|
ATTRIB
|
ATTRIB +R TOTO.DOC Protège le fichier Toto.doc
(lecture seule)
ATTRIB -R TOTO.DOC Déprotège
le fichier Toto.doc
|
Supprimer
un fichier
|
DEL
|
DEL C:\TOTO.DOC Supprime
le fichier Toto.doc à la racine de C
DEL A :*.* Supprime tous les fichiers à la
racine de la disquette
|
Formatage
d’un lecteur
|
FORMAT
|
FORMAT
C : Formate le
lecteur C :
Options utiles (à ajouter après la commande) :
/Q Formatage rapide (éfface le contenu du
lecteur).
/S Formatage système (pour
lecteur bootable).
|
Vérification
d’un lecteur
|
SCANDISK |
Vérifie
l'intégrité d'un lecteur.
SCANDISK C : Examine le lecteur C :
CHKDSK A : Vérifie la disquette
(SCANDISK
marque les secteurs défectueux)
|
Les
fichiers de commande
Un fichier
de commande est un fichier contenant une suite de commandes DOS. Lorsqu’on
exécute un fichier de commande, les commandes qu’il contient vont être
exécutées l'une après l'autre.
Les
fichiers de commandes doivent être créés avec une extension .BAT.
Action
|
Explications.
|
|||
Créer un
fichier de commande
|
Pour
créer un fichier de commande sur un PC ne possédant pas de système
d’exploitation installé, on peut utiliser l’éditeur du DOS (commande EDIT)
contenu dans une disquette de démarrage.
Il est
cependant plus pratique d’utiliser le Bloc-notes sur un autre PC …
Il
suffit ensuite de saisir les commandes à exécuter puis d’enregistrer le
fichier avec l’extension .BAT
|
|||
Exécuter
un fichier de commande
|
Dans l’invite de commande, il
suffit de taper son nom, sans l’extension .BAT.
La
combinaison de touches Ctrl + C permet d’arrêter l’exécution du fichier,
temporairement ou définitivement.
|
|||
Paramètres
d’un fichier de commande
|
On peut inclure jusqu'à dix
paramètres (notés %0, %1, ..., %9) dans un fichier de commandes, qui seront
remplacés par les valeurs fournies au moment de l’exécution du fichier de
commandes.
|
|||
Exemples
|
Le programme suivant copie sur
disquette (dossier ARCHIVES) un fichier dont le nom est passé en paramètre.
Puis il protège le contenu du dossier ARCHIVES.
Supposons que ce programme ait
été enregistré sous le nom SAUV.BAT .
Si on désire sauvegarder le
fichier system.ini on tapera directement la commande :
SAUV C:\WINDOWS\SYSTEM.INI
|
|||
|
Les
types de clé
Type
|
Description
|
REG_BINARY
|
Donnée binaire affichée en numération hexadécimale.
|
REG_SZ
|
Texte de taille fixe, type très répand
|
REG_DWORD
|
Affiche souvent des valeurs booléennes (0 pour VRAI et 1
pour FAUX). |
REG_EXPAND_SZ
|
Texte contenant une longueur variable.
|
REG_LINK
|
Lien. On ne peut pas en créer
|
REG_MULTI_SZ
|
Valeur contenant une liste de données qui sont séparées
par une donnée nulle (0x00). La fin de liste est définie par deux caractères
nuls
|
REG_NONE
|
Valeur sans donnée définie
|
REG_QWORD
|
Comme le type REG_DWORD mais sur 64 bits (XP pour
plateformes 64 bits)
|
REG_RESOURCE_REQUIREMENTS_ |
Listes des ressources requises par un périphérique. On ne
peut que voir ces ressources, pas les éditer ou les modifier
|
L’arborescence
des clés
Type
|
Description
|
HKEY_CLASSES_ROOT
|
Contient les informations relatives aux associations de
fichiers, aux informations OLE associés aux objets COM et aux classes
d'association de fichiers (que l'on retrouve sous
HKEY_LOCAL_MACHINE\Software\Classes
|
HKEY_CURRENT_CONFIG
|
Contient les paramètres de configuration du profil
matériel actuel (en cours d'utilisation). Elle ne fait apparaître que les
modifications apportées par rapport à la configuration de base qui est
détaillée dans HKEY_LOCAL_MACHINE et ses sous-clefs.
|
HKEY_LOCAL_ |
C’est la clé la plus importante. Elle renferme les
informations globales sur la matériel et le SE, type de Bus, mémoire système,
pilotes de périphériques et toutes informations requises lors de la séquence
de démarrage de l'OS. Ces paramètres s'appliquent à l'ensemble des
utilisateurs de la machine.
Cette clef correspond à plusieurs fichiers ruches.
|
HKEY_CURRENT_USER
|
Renferme le profil utilisateur de l'utilisateur
actuellement connecté. Clef qui fait référence à la clef HKEY_USERS\user_SID.
|
HKEY_USERS
|
Contient tous les profils actifs des utilisateurs de la
machine, sauf ceux accédant via le LAN puisque leurs profils sont alors
stockés sur leurs stations respectives.
|
Combinaison de touches
|
Fonctions
|
Windows
+ R
|
Afficher la boite de dialogue Exécuter
|
Windows
+ M
|
Minimiser toutes les fenêtres
|
Windows
+ Shift + M
|
Rétablir toutes les fenêtres
|
Windows
+ F1
|
Afficher l'aide de Windows
|
Windows
+ E
|
Démarrer l'Explorer
|
Windows + F F3
|
Afficher la boite de dialogue rechercher (fichiers ou
dossiers)
|
Windows
+ Ctrl + F
|
Afficher la boite de dialogue Rechercher Ordinateur
|
Windows
+ Tab
|
Activer les boutons de la barre des tâches
|
Windows
+ Pause
|
Afficher la boite de dialogue Propriétés système
|
Ctrl
+ C
|
Copier.
|
Ctrl
+ X
|
Couper.
|
Ctrl
+ V
|
Coller.
|
Ctrl
+ Z
|
Annuler.
|
MAJ
+ Suppr
|
Supprimer
définitivement la sélection sans la placer dans la Corbeille.
|
F2
|
Renommer l’élément sélectionné
|
Ctrl
+ A
|
Sélectionner tout.
|
Alt
+ ENTRÉE
|
Afficher des propriétés pour l'élément sélectionné.
|
Alt
+ F4
|
Fermer l'élément actif ou quitter le programme actif.
|
Ctrl
+ F4
|
Fermer le document actif dans les programmes vous
permettant d'avoir plusieurs documents ouverts simultanément.
|
Alt
+ Tabulation
|
Passer d'un élément ouvert à l'autre.
|
Alt
+ Échap
|
Parcourir les éléments dans leur ordre d'ouverture.
|
MAJ
+ F10
|
Afficher le menu contextuel associé à l'élément
sélectionné.
|
Ctrl
+ Échap
|
Afficher le menu Démarrer.
|
F5
|
Actualiser la fenêtre active.
|
Retour
Arrière
|
Afficher le dossier d'un niveau supérieur dans Poste de
travail ou dans l'Explorateur Windows.
|
Échap
|
Annuler la tâche en cours.
|
MAJ
|
(lorsque l’on met un CD dans le
lecteur de CD-ROM)
Empêcher la lecture automatique du CD.
|
Mode de démarrage
|
Signification
|
Mode
sans échec
|
Windows 2000 démarre en utilisant uniquement les fichiers
et drivers de base (souris, sauf souris série, écran, clavier, mémoire de
masse, services de base, absence de réseau). Si l'ordinateur ne démarre pas
dans ce mode, il faut utiliser une disquette de dépannage.
|
Mode
sans échec avec réseau
|
Identique au mode sans échec, avec les fonctions réseau en
plus.
|
Identique au mode sans échec. Après établissement d'une
session, l'invite de commande est affichée au lieu de l'interface graphique
habituelle
|
|
Inscrire
les évènements de démarrage dans le journal
|
Windows 2000 démarre normalement, en enregistrant dans un
fichier journal (ntbtlog.txt, situé dans le répertoire principal de Windows)
les noms de tous les drivers et services chargés (ou qui n'ont pas pu être
chargés) par le système.
|
Démarrer
en mode VGA
|
Windows 2000 démarre en utilisant le driver VGA de base. A
utiliser dans le cas d'installation d'une nouvelle carte graphique, dont le
driver fonctionne plus ou moins bien, ou est absent. Cette option accompagne
toujours les 3 modes sans échec.
|
Mode
déboguage
|
Windows 2000 démarre normalement pendant que des
informations de mise au point sont envoyées via un port série vers un autre
ordinateur.
|