Your SlideShare is downloading. ×
0
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
F Les Scripts En Power Shell
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

F Les Scripts En Power Shell

2,358

Published on

Les Scripts En Power Shell pour MOSS et WSSv3 par EROL

Les Scripts En Power Shell pour MOSS et WSSv3 par EROL

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,358
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
55
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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...
  • 11. ReleaseDHCPLease Method System.Management.ManagementBaseObject ReleaseDHCPLease() RenewDHCPLease Method System.Management.ManagementBaseObject RenewDHCPLease() SetDNSDomain Method System.Management.ManagementBaseObject SetDNSDomain(System.String DNSDomain) SetDNSServerSearchOrder Method System.Management.ManagementBaseObject SetDNSServerSearchOrder(System.Stri... SetDynamicDNSRegistration Method System.Management.ManagementBaseObject SetDynamicDNSRegistration(System.Bo... SetGateways Method System.Management.ManagementBaseObject SetGateways(System.String[] Default... SetIPConnectionMetric Method System.Management.ManagementBaseObject SetIPConnectionMetric(System.UInt32... SetIPXFrameTypeNetworkPairs Method System.Management.ManagementBaseObject SetIPXFrameTypeNetworkPairs(System.... SetTcpipNetbios Method System.Management.ManagementBaseObject SetTcpipNetbios(System.UInt32 Tcpip... SetWINSServer Method System.Management.ManagementBaseObject SetWINSServer(System.String WINSPri... ArpAlwaysSourceRoute Property System.Boolean ArpAlwaysSourceRoute {get;set;} ArpUseEtherSNAP Property System.Boolean ArpUseEtherSNAP {get;set;} Caption Property System.String Caption {get;set;} DatabasePath Property System.String DatabasePath {get;set;} DeadGWDetectEnabled Property System.Boolean DeadGWDetectEnabled {get;set;} DefaultIPGateway Property System.String[] DefaultIPGateway {get;set;} DefaultTOS Property System.Byte DefaultTOS {get;set;} DefaultTTL Property System.Byte DefaultTTL {get;set;} Description Property System.String Description {get;set;} DHCPEnabled Property System.Boolean DHCPEnabled {get;set;} DHCPLeaseExpires Property System.String DHCPLeaseExpires {get;set;} DHCPLeaseObtained Property System.String DHCPLeaseObtained {get;set;} DHCPServer Property System.String DHCPServer {get;set;} DNSDomain Property System.String DNSDomain {get;set;} DNSDomainSuffixSearchOrder Property System.String[] DNSDomainSuffixSearchOrder {get;set;} DNSEnabledForWINSResolution Property System.Boolean DNSEnabledForWINSResolution {get;set;} DNSHostName Property System.String DNSHostName {get;set;} DNSServerSearchOrder Property System.String[] DNSServerSearchOrder {get;set;} DomainDNSRegistrationEnabled Property System.Boolean DomainDNSRegistrationEnabled {get;set;} ForwardBufferMemory Property System.UInt32 ForwardBufferMemory {get;set;} FullDNSRegistrationEnabled Property System.Boolean FullDNSRegistrationEnabled {get;set;} GatewayCostMetric Property System.UInt16[] GatewayCostMetric {get;set;} IGMPLevel Property System.Byte IGMPLevel {get;set;} Index Property System.UInt32 Index {get;set;} IPAddress Property System.String[] IPAddress {get;set;} IPConnectionMetric Property System.UInt32 IPConnectionMetric {get;set;} IPEnabled Property System.Boolean IPEnabled {get;set;} IPFilterSecurityEnabled Property System.Boolean IPFilterSecurityEnabled {get;set;} IPPortSecurityEnabled Property System.Boolean IPPortSecurityEnabled {get;set;} <ESPACE> page suivante ; <ENTRÉE> ligne suivante ; Q quitter IPSecPermitIPProtocols Property System.String[] IPSecPermitIPProtocols {get;set;} <ESPACE> page suivante ; <ENTRÉE> ligne suivante ; Q quitter IPSecPermitTCPPorts Property System.String[] IPSecPermitTCPPorts {get;set;} <ESPACE> page suivante ; <ENTRÉE> ligne suivante ; Q quitter PS C:Documents and SettingsGiraudy>
  • 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

×