mardi 6 novembre 2012

Lien Powershell - MS DOS


Bonjour à tous,

Aujourd’hui, billet n°4 sur Powershell.
Nous allons voir le lien entre Powershell et la bonne vieille invite de commande DOS.

Petit historique de DOS :
Après avoir conclu son « deal » historique avec IBM, Bill Gates s'est mis à la recherche d'un système d'exploitation qu'il pourrait effectivement fournir à IBM pour le lancement de l'IBM PC. Selon Gordon Letwin lui-même, l'objectif de Microsoft était que MS-DOS soit aussi compatible avec CP/M que possible. Gates rachète alors QDOS (Quick and Dirty OS) à la petite société SCP (Seattle Computer Products). QDOS est en fait un clone à bas prix de CP/M écrit par Tim Paterson. Bill Gates demande alors à Tim Paterson d'adapter QDOS à l'IBM PC et de le renommer MS-DOS.
MS-DOS est longtemps resté la base des systèmes d'exploitation grand public de Microsoft, bien que l'installation de Windows en modifie in-situ des portions de plus en plus grandes. En 1995, date d'apparition de Windows 95 il devint invisible pour les utilisateurs car l'interface graphique était directement exécutée au démarrage. MS-DOS est resté une sous-couche des versions grand-public de Windows (comme Windows 98 et Me) jusqu'à l'avènement de Windows XP qui marque son abandon réel par Microsoft au profit du système NT. Le DOS en était alors à sa version 8.
Les versions récentes de Windows possèdent toujours un « interpréteur de commandes » (command prompt), dont les commandes sont héritées de celles de MS-DOS, malgré quelques modifications, et qui permet d'exécuter des programmes Windows en mode texte (qui ne sont en aucun cas des programmes DOS, ils sont complètement différents), ainsi que des programmes MS-DOS grâce à un émulateur intégré, émulant MS-DOS 8. Cependant, cet interpréteur (cmd.exe) n'est pas celui de MS-DOS à proprement parler (command.com), et certains anciens programmes DOS ne peuvent s'exécuter dans ce mode.
Cet émulateur émule aussi les fichiers de configuration CONFIG.SYS et AUTOEXEC.BAT de MS-DOS sous le nom de: \system32\CONFIG.NT et \system32\AUTOEXEC.NT.
(source Wikipedia)

A savoir :
  • Ce n’est pas parce que vous êtes dans une fenêtre Powershell, que vous ne pouvez pas taper de commande DOS.


  • Si vous êtes dans une fenêtre Powershell et que vous avez absolument besoin d’ouvrir une fenêtre DOS, pas de panique. Ne vous embêtez pas à retourner dans ‘Démarrer’ à’Exécuter’ à …. Dans votre fenêtre Powershell, tapez simplement cmd et vous passerez en ancienne console DOS (attention la couleur bleu de Powershell sera toujours présente). Pour quitter le mode DOS et repasser en Powershell, vous n’avez simplement qu’à taper ‘exit » et valider.


  • Certaines commandes vont demander des droits administrateurs pour pouvoir être exécuté. Pour cela vous devrez lancer la console Powershell en faisant un clic droit dessus à ‘Exécuter en tant qu’administrateur’.

Message d’erreur sur les privilèges insuffisants

Ouverture du programme avec les droits ‘Administrateur’

  • Liste des commandes externes sous DOS :

  • Les cmdlets en Powershell

Pour rappel, les cmdlets sont le nouveau nom des commandes qui sont lancés dans une fenêtre Powershell. Elles sont composés d’un verbe et d’un nom (le tout séparé par un tiret).
Pour information, il existe ???(nombre de cmdlets) cmdlets.
Une des cmdlets à connaitre absolument, c’est celle vous affichant l’aide ‘help’. Vous pouvez taper un verbe /help pour connaître les différentes options qui peuvent se trouver derrière votre verbe, ….

Je vous renvoie vers le billet traitant sur les verbes en Powershell pour plus de détails.

Bonne méditation sur Powershell et à très bientôt pour la suite

Virtual87