1. Les scripts en PowerShell, pour MOSS
c'est un gros avantage ainsi que pour
les IT Pro.
Windows PowerShell est un nouvel environnement de ligne de commande Windows spécialement
conçu pour les administrateurs système (ancien nom de code MONADE). Il comprend une invite
interactive et un environnement de script qui peuvent être utilisés indépendamment l'un de l'autre ou
ensemble.
Contrairement à la plupart des environnements, qui acceptent et retournent du texte, Windows
PowerShell est basé sur le Common Language Runtime (CLR) .NET et le .NET Framework, et
accepte et retourne des objets .NET. Cette modification fondamentale de l'environnement apporte des
outils et méthodes entièrement nouveaux pour la gestion et la configuration de Windows.
Windows PowerShell introduit le concept « d'applet de commande », un outil de ligne de commande
simple, à fonction unique, intégré dans l'environnement. L'utilisation de chaque applet de commande
séparément est faisable, mais leur puissance se révèle lorsque vous combinez ces outils simples pour
effectuer des tâches complexes. Windows PowerShell inclut plus de cent applets de commande
principales. Il est possible d'écrire ses propres applets de commande et les partager avec d'autres
utilisateurs.
Comme de nombreux environnements, Windows PowerShell donne accès au système de fichiers de
l'ordinateur. En outre, les fournisseurs de Windows PowerShell permet d'accéder à d'autres magasins
de données, tels que le Registre et les magasins de certificats de signatures numériques, aussi
facilement que vous accédez au système de fichiers.
Un Guide de mise en route est proposé à l'installation de PowerShell 1.0, avec une introduction à
Windows PowerShell : le langage, les applets de commande, les fournisseurs et l'utilisation d'objets.
Voici les avancées les plus importantes actuelles :
1. PowerShell est orienté objet
2. PowerShell donne accès aux objets .Net
3. PowerShell apporte une richesse de commandes exceptionnelle
4. PowerShell offre une cohérence des commandes et des paramètres associés
5. PowerShell offre une aide sur les commandes digne de ce nom
6. PowerShell est facile à apprendre
7. PowerShell peut être sécurisé
8. PowerShell va inclure dans sa version 2 une console de management (voir le
site de MICROSOSFT Graphical PowerShell - this is an “early alpha” version
of Graphical PowerShell).
2. Une applet de commande est une commande à fonctionnalité unique qui manipule des objets dans
Windows PowerShell. Elles sont identifiables au format de leur nom : un verbe et un substantif
anglais, séparés par un tiret (-), comme Get-Help, Get-Process et Start-Service. Dans les
environnements traditionnels, les commandes sont des programmes exécutables allant du très simple
(comme attrib.exe) au très complexe (comme netsh.exe).
Windows PowerShell comprend les fonctionnalités
suivantes :
• Plus de 130 outils de ligne de commande (appelés « cmdlets ») permettant d'effectuer des tâches
d'administration système courantes, comme la gestion de services, de processus, de journaux
d'événements, de certificats et du Registre et d'utiliser Windows Management Instrumentation (WMI).
• Outils de ligne de commande conçus pour être rapidement maîtrisés et facilement utilisés grâce à
des conventions d'affectation de nom standard et des paramètres communs, et outils simples pour le
tri, le filtrage et la mise en forme des données et des objets.
• Prise en charge des langages de script et des outils de ligne de commande existants et de plusieurs
versions de Windows, notamment Windows XP, Windows Server 2003, Windows Vista™ et Windows
Server « Longhorn » (nom de code).
• Fonctionnalités qui permettent aux utilisateurs d'explorer des banques de données, le Registre et
des magasins de certificats, par exemple, comme s'il s'agissait de systèmes de fichiers.
• Utilitaires standard pour gérer les données Windows dans différents magasins et formats,
notamment Active Directory Service Interfaces (ADSI), Windows Management Instrumentation (WMI),
objets Component Object Model (COM), ActiveX Data Objects (ADO), HTML et XML.
• Analyse des expressions élaborées et manipulation des objets .NET Framework sur la ligne de
3. commande, y compris le traitement en pipeline des objets, qui permet aux informaticiens de travailler
plus efficacement.
• Interface évolutive qui permet aux éditeurs de logiciels et aux développeurs en entreprise de créer
des cmdlets personnalisés afin de répondre à des besoins d'application et d'administration de système
spécifiques.
Installation du PowerShell 1.0
Pour bien débuter avec le PowerShell il faut installer les composants suivants :
PowerShell se suffit à lui-même si vous êtes sous Windows Vista.
Le Service Pack 2 si vous êtes sous Windows XP
Le Service Pack 1 si vous êtes Windows Server 2003 (334 Mo)
Framework .net 2.0 (22 Mo)
Microsoft PowerShell (1,7 Mo)
Voir la KB Numéro d'article : 926139 http://support.microsoft.com/kb/926139
PowerShell s'installe sur Microsoft Windows Server 2003 R2, Microsoft Windows Server 2003
avec Service Pack 2, de Microsoft Windows Server 2003 avec Service Pack 1
Le Microsoft .NET Framework 2.0 (2.0.50727) est nécessaire.
Windows PowerShell 1.0 est pris en charge sur systèmes 32 bits et des systèmes 64 bits. Les
systèmes 64 bits peuvent est x 64 basé ou Itanium-based.
-----------------------------------------------------------------------------------------------------------------
Comment télécharger Windows PowerShell
Pour télécharger une version anglaise de Windows PowerShell 1.0, sélectionnez le package
d'installation pour la version de Windows concernée.
Windows PowerShell 1.0 pour Windows XP avec versions x 86
Download the Windows PowerShell 1.0 WindowsXP-x86 English package now.
(http://go.microsoft.com/fwlink/?LinkID=75788&clcid=0x09)
Windows PowerShell 1.0 pour Windows XP avec versions x 64
Download the Windows PowerShell 1.0 WindowsXP-x64 English package now.
(http://go.microsoft.com/fwlink/?LinkID=75789&clcid=0x09)
Windows PowerShell 1.0 pour Windows Server 2003 avec versions x 86
Download the Windows PowerShell 1.0 WindowsServer2003-x86 English package now.
(http://go.microsoft.com/fwlink/?LinkID=75790&clcid=0x09)
Windows PowerShell 1.0 pour Windows Server 2003 avec versions x 64
Download the Windows PowerShell 1.0 WindowsServer2003-x64 English package now.
(http://go.microsoft.com/fwlink/?LinkID=75791&clcid=0x09)
Windows PowerShell 1.0 pour Windows Server 2003, versions Itanium
Download the Windows PowerShell 1.0 WindowsServer2003-ia64 English package now.
4. Module d'installation localisé Windows PowerShell 1.0 pour Windows
XP (KB926140)
http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=30125A46-B97C-4704-
AA10-605E809D5933
Si vous utilisez une version de Windows traduite en allemand, espagnol, français, italien, japonais,
coréen, portugais, russe, chinois simplifié ou chinois traditionnel, utilisez le lien Télécharger de cette
page pour installer le module d'installation localisé de Windows PowerShell 1.0. Pour plus
d'informations, consultez l'article 926140 de la Base de connaissances (KB).
Module d'installation localisé Windows PowerShell
1.0 pour Windows Server 2003 (KB926140)
http://www.microsoft.com/downloads/details.aspx?familyid=C61FB27B-E71C-4ECF-9D2C-
9B299B149490&displaylang=fr
Module d'interface multilingue.
Si vous utilisez une version MUI (interface multilingue) de Windows qui permet d'afficher l'interface
Windows dans plusieurs langues, installez la version anglaise de Windows PowerShell 1.0, puis le
Module d'interface multilingue Windows PowerShell 1.0. Le Module d'interface multilingue n'inclut pas
le programme Windows PowerShell. Pour plus d'informations, consultez l'article 926141 de la Base de
connaissances (KB).
Avant d'installer Windows PowerShell 1.0, vous devez désinstaller toutes les autres versions de
Windows PowerShell 1.0. Il n'est pas nécessaire de redémarrer l'ordinateur après l'installation de
Windows PowerShell 1.0, à moins que des fichiers d'autres versions de Windows PowerShell 1.0
n'aient été utilisés par un autre programme au cours de l'installation.
----------------------------------------------------------------------------------------------------------------
Pour l'installation de la version 2.0 du PowerShell ce sera l'objet d'un autre
article.
----------------------------------------------------------------------------------------------------------------
Comment désinstaller Windows PowerShell
Vous ne pouvez pas installer Windows PowerShell 1.0 s'il est déjà installé. Pour déterminer si
Windows PowerShell 1.0 est installé, vous recherchez the Install Entrée de registre dans le sous-clé
suivant de Registre :
HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowershell1Install
Si la valeur the Install entrée est 1, Windows PowerShell 1.0 est installé. Si the Install entrée n'est pas
présente, Windows PowerShell 1.0 n'est pas installé.
Comment désinstaller Windows PowerShell dans Windows Server
2003
Dans Windows Server 2003, procédez comme suit pour désinstaller Windows PowerShell 1.0 :
1. Cliquez sur Démarrer,cliquez sur Exécuter, tapez appwiz.cpl, Et vous puis cliquez sur OK.
2. Sélectionnez la case à cocher Afficher les mises à jour.
3. Dans la liste Currently installed programs and updates, recherchez l'entrée pour le correctif qui a
installé Windows PowerShell 1.0. L'entrée de correctif ressemblera à une des entrées suivantes selon
le package d'installation utilisé :
5. Correctif pour Windows Server 2003 (KB926139)
Correctif pour Windows Server 2003 (KB926140)
Correctif pour Windows Server 2003 (KB926141)
4. Cliquez sur l'entrée Windows PowerShell de correctif et puis cliquez sur Supprimer.
5. Suivez les instructions pour supprimer le correctif pour Windows PowerShell(TM) 1.0.
-----------------------------------------------------------------------------------------------------------------
En ce qui concerne les commandes, alias... voir le
site en français (d'Arnaud Petitjean et
de Robin Lemesle) :
http://powershell-
scripting.com/index.php?option=com_content&task=view&id=12&Itemid=32
PowerShell-Scripting.com - Résumé de
leur livre
Un livre sur Windows PowerShell pour découvrir pourquoi et comment
PowerShell est aujourd'hui au cœur de la stratégie Microsoft pour
l’administration de ses nouveaux produits : Windows Server 2008, Exchange 2007, Configuration
Manager 2007, Operation Manager 2007, etc.De la technologie .NET aux objets COM en passant par
WMI et ADSI, découvrez au travers de nombreux cas concrets d’utilisation en entreprise comment
Windows PowerShell peut vous aider à devenir plus performant dans vos tâches quotidiennes
d’administration système. Ecrit par les créateurs du site Powershell-Scripting.com, ce livre s’adresse à
la fois aux IT pros souhaitant optimiser leurs tâches d’administration système, mais aussi à un public
intermédiaire soucieux d’acquérir de nouvelles compétences.
Aperçu de la table des matières :
A la découverte de PowerShell - Les fondamentaux - Maîtrise du Shell - Gestion des erreurs et
débogage - La sécurité - Manipulation des objets du Framework .NET - Objets COM - Manipulation
d’objets annuaire avec ADSI – WMI - Études de cas...
---
Vous pouvez dors et déjà le précommander sur AMAZON où il est vendu 37 €.
Je viens de le lire, il est excellent, avec de nombreux exemples et une partie sécurité
passionnante.
Guide élémentaire de Windows PowerShell™
Il est inclus dans le package d'installation du PowerShell 1.0 est vous offre plus de 120 pages de
renseignement. Sont inclus 4 documents (voir ci-dessous).
6. Les avantages
du PowerShell sont multiples, en 1er cela permet d'évoluer, d'avoir un langage qui va être commun
pour toutes les plate-formes de MICROSOFT. Souvent quand un administrateur commence à faire du
script, on se demande s'il veut devenir dév. !
Lire l'excellent article sur ce sujet écrit par : Don Jones est le gourou principal des scripts chez
SAPIEN Technologies et formateur pour Scriptingtraining Com. Vous pouvez le joindre par le biais de
son site Web à l’adresse suivante : ScriptingAnswers.com.
source - http://technet.microsoft.com/fr-fr/magazine/cc137791.aspx
L'aide est remarquable ! Ainsi que l'aide-mémoire du langage après installation.
7. quot;Le langage Windows PowerShell™ se devait d'être simple et intuitif afin que les administrateurs
puissent le maîtriser sans suivre de trop longues formations. Il se devait également d'être relativement
souple afin de s'adapter à l'ensemble des fonctionnalités puissantes que Windows PowerShell lui-
même propose aux utilisateurs.
Windows PowerShell étant basé sur Microsoft® .NET Framework, sa syntaxe de script devait être
aisément adaptable à .NET. Lors de la création d'un langage de script pour Windows PowerShell, les
concepteurs ont choisi une syntaxe qui correspond essentiellement à un langage C# très simplifié
(prononcé C-Sharp, l'un des langages fournis avec .NET Framework) . Pourquoi ne pas s'inspirer
d'une syntaxe de type VBScript ? Le langage de script Windows PowerShell n'est en fait pas tellement
différent de VBScript, mais en s'approchant davantage de la syntaxe C#, PowerShell propose une
sorte de base initiale pour l'apprentissage de la programmation .NET Framework. Si vous décidez un
jour de passer à Visual Studio® et de commencer à écrire des applications C#, la majeure partie de
votre syntaxe de script Windows PowerShell pourra vous servir en ce sens.
Dans ce contexte, les constructions sont l'une des choses les plus importantes dans le langage de
script Windows PowerShell (ou dans tout autre langage de script). Il s'agit d'éléments de langage
spéciaux permettant à Windows PowerShell d'effectuer des comparaisons logiques pour entreprendre
diverses actions en fonctions des résultats ou pour permettre de répéter indéfiniment une ou plusieurs
instructions.quot;
http://technet.microsoft.com/fr-fr/magazine/cc162520.aspx
En conclusion,
voici un outil d'administration simple qui se sert de constructions pour effectuer sa tâche. Qu'il soit
écrit de manière interactive dans Windows PowerShell ou enregistré dans un fichier PS1 afin de
pouvoir le réutiliser aisément, cet outil facile à gérer vous permet de vérifier l'état d'un service sur
divers ordinateurs et vous démontre à quel point les constructions s'avèrent utiles dans
l'automatisation des tâches d'administration.
Contrairement aux commandes d'interface de ligne de commande traditionnelles, les applets de
commande Windows PowerShell sont conçues pour traiter des objets, informations structurées allant
8. au-delà de simples chaînes de caractères apparaissant à l'écran. La sortie d'une commande contient
toujours des informations supplémentaires utilisables si besoin est.
Voici des informations sur la nouvelle version du
Windows PowerShell 2.0 CTP - La CTP2
(Community Technology Preview) de PowerShell V2 est disponible sur le site internet de Microsoft.
Download details: Windows PowerShell 2.0 CTP
Conçu comme le successeur de Windows PowerShell 1.0, Windows PowerShell V2 marque
également une évolution majeur en comparaison avec la première Release de la CTP 1.0. Les
nouveautés, sont surtout des améliorations concernant le remoting, la gestion des points d’arrêt, et
des événements via l’ajout de nouvelles quot;commandelettesquot; (Get-Event, Pop-Runspace, Get-Random,
,etc.).
D’autres améliorations :
- La déclaration des attributs pour les cmdletscripts.
- L’apparition d’une nouvelle commandelette « Invoke-Command » Pour exécuter des commandes à
distance (en remplacement de Invoke-expression liée aux paramètres Runspace et ComputerName.
9. - Le remplacement de New-PSBreakPoint par Set-PSBreakPoint.
- Le remplacement de certaines variables ($Culture -> $PSCulture, $UICulture -> $PSUICulture,
$Cmdlet -> $PSCmdlet).
- L’ajout de nouvelles commendelette comme par exemple Get-Event.
- Etc.
Pour plus d’information sur les nouveautés, téléchargez la CTP2 ainsi que les Release Notes ICI
Remarque :
Elle est émise par par Robin Lemesle : quot;Contrairement à certaines informations publiées sur internet,
PowerShell V2 ne permettra pas l'exécution à distance de commandes PowerShell sur un server
Windows 2008 quot;Corequot;. En effet, la version core ne dispose pas du Framework .NET indispensable au
fonctionnement de PowerShell, et ce pour des raisons de sécurité. Néanmoins l'administration à
distance d'un serveur quot;Corequot; reste toujours possible avec PowerShell via WMI.
Attention :
Microsoft a bien informé que Windows PowerShell V2 CTP2 n'est pas destiné à l'intégration dans les
environnements de production. La version CTP pour Community Technology Preview signifie que
Windows PowerShell V2 est encore en phase bêtaquot;. Voir le site en anglais :
http://www.microsoft.com/technet/scriptcenter/topics/winpsh/pshell2.mspx
Téléchargement en anglais de :
This software is a pre-release version and should not be deployed in a production
environment.
http://www.microsoft.com/downloads/details.aspx?FamilyId=7C8051C2-9BFC-4C81-859D-
0864979FA403&displaylang=en
Des outils arrivent :
Le SDK :
http://msdn.microsoft.com/en-us/library/aa830112.aspx
The Admin Script Editor (ASE) Home Page :
ASE est un quot;scripteur professionnelquot; comme aucun autre. Conçu exclusivement pour des
administrateurs de Windows. ASE offre un éventail de dispositifs pros. et des outils !
Essential PowerShell Tools
http://www.powershell.com/plus/
This a downloads page for PowerGUI
An extensible graphical administrative console and IDE for managing systems based on Windows
PowerShell. See the PowerGUI homepage for more information about the product.
10. http://powergui.org/downloads.jspa
Petit exemple Lister les adresses IP d'un ordinateur :
#Lister les adresses IP d'un ordinateur
Get-WmiObject Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . |
Select-Object -Property IPAddress
#Lister les données de configuration IP
Get-WmiObject Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName .
#Test Ping sur des ordinateurs
quot;127.0.0.1quot;,quot;fabm-srv-01quot;,quot;fabm-dc-01quot; | ForEach {Get-WmiObject Win32_PingStatus -Filter
(quot;Address='quot; + $_ + quot;'quot;) -ComputerName .} | Select -Property Address,ResponseTime,StatusCode
1..10 | ForEach {Get-WmiObject Win32_PingStatus -Filter (quot;Address='192.168.102.quot; + $_ + quot;'quot;) -
ComputerName .} | Select -Property Address,ResponseTime,StatusCode
#Récupération de propriétés de cartes réseau
Get-WmiObject -Class Win32_NetworkAdapter -ComputerName .
#Configurer les paramètres réseau
Get-WmiObject -Class Win32_NetworkAdapterconfiguration |get-member |out-host -paging
cls
Windows PowerShell
Copyright (C) 2006 Microsoft Corporation. Tous droits réservés.
Name MemberType Definition
DisableIPSec Method System.Management.ManagementBaseObject DisableIPSec()
EnableDHCP Method System.Management.ManagementBaseObject EnableDHCP()
EnableIPSec Method System.Management.ManagementBaseObject
EnableIPSec(System.String[] IPSecPe...
EnableStatic Method System.Management.ManagementBaseObject
EnableStatic(System.String[] IPAddr...
12. ---
P. Erol GIRAUDY
Président du Club MOSS 2007 et MUG (MVP MOSS).
http://clubmoss2007.org
http://www.microsoft.com/france/mstechdays/
Outils CLUB MOSS - FRANCE: Powershell