Retour d'expérience sur PowerShell

467 vues

Publié le

Windows PowerShell est le langage de script incontournable pour l’automatisation des tâches simples ou complexes sur les environnements Windows. Cette session vous propose un retour d’expérience de l’utilisation de Windows PowerShell sur des cas concrets tirés de projets, accompagné de démonstrations.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
467
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
19
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Notation
  • Intro Serveurs / Entreprise / Reseaux / IT
  • Authentification unique (Federated) vers Authentification standard
  • Retour d'expérience sur PowerShell

    1. 1. Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots à gagner toutes les heures !!!Claviers, souris et jeux Microsoft…Merci de nous aider à améliorer les TechDayshttp://notes.mstechdays.fr
    2. 2. Retour d’expériencePowershellPascal SauliereMicrosoftStéphane LepertelAvanadeEntreprise / IT / Serveurs / Réseaux / SécuritéHashtagSite web
    3. 3. • Joint Venture d’Accenture et Microsoft, la mission d’Avanade consiste à aider les entreprises àoptimiser leurs investissements informatiques et à développer des solutions complètes,génératrices de bénéfices concrets, autour des technologies Microsoft.• Avanade compte aujourd’hui plus de 17.000 collaborateurs répartis sur 24 pays.Le chiffre d’affaires 2012 est de 1,3 milliard $US• Une expertise unique fondée sur un investissement permanent en partenariat avec Microsoft: Avanade est notamment n 1 en nombre de certifications par employé (MCPD, MCTS,MCITP), dispose de 29 Microsoft Most Valued Professionals et 14 elite Microsoft CertifiedArchitects.• Un lien privilégié avec Microsoft reconnu par «Microsoft’s Global SI Partner of the Year award”reçu en 2012, 2011, 2010, 2009, 2008, 2006, 2004 et 2001.• Avanade est une société orientée «Assets» participant à l’évolution des solutions Microsoft.• Notre base de connaissances globale consolide l’expérience acquise sur les différents projets.• Avanade France a obtenu en 2012 le label « Top Employeur » 2012Avanade
    4. 4. • WSH (VBScript et Jscript)– NT4 et Windows 98– Existe encore aujourd’hui sur Server 2012 et Windows 8 (version 5.8)• Powershell V1– Introduction de Powershell avec Windows Server 2003 et Windows XP– Env 130 cmdlets• Powershell V2– Env 250 cmdlets– Remoting– Runspace– Background jobs– Modules• Powershell V3– Env 570 cmdlets– Workflow– Intellisense Flashback
    5. 5. • Réduction du TCO en automatisant les tâches répétitives.Lautomatisation compte les avantages suivants :– Réduction du temps de réalisation des tâches– Assurance que les opérations périodiques complexes et susceptiblesdengendrer des erreurs se déroulent correctement.– Capacité pour les administrateurs junior à réaliser correctement destâches nécessitant des connaissances et une expertise au-delà de leurscompétences.• Grâce à lautomatisation des tâches courantesdadministration, PowerShell est un outil puissant degestion de serveurs et de stations de travailPourquoi utiliser PowerShell ?
    6. 6. • Plusieurs constats :1. Créer un nouveau script : ne pas réinviter la roue, adapterles scripts déjà réalisés (ou les réutiliser tels quels dans lamesure du possible)2. Documenter ses scripts : Quoi de plus difficile que dereprendre un script qui n’est pas le sien…3. Diffuser/Partager ses scripts : Pour revenir au premier point• Conclusion : tout le monde a plus ou moinsbesoin des mêmes fonctionsPowerShell V2
    7. 7. • Une Solution : Les modules– “Scripts Modules” (.psm1) vs “Binary Modules” (.dll)– Les “Scripts Modules” contiennent des fonctionsPowershell– Ces scripts modules peuvent être importés par un« Import-Module » au même titre que les binarymodules– Une fois chargés, ils peuvent être utilisés dans un autrescript ou une autre fonctionPowershell V2
    8. 8. Module Bodyfunction write-Techdays {<#.SYNOPSIStechDays 2013..DESCRIPTIONExemple de code de module.PARAMETER TechdaysIci les parametres de mon module.EXAMPLEWrite-Techdays -TechDays "Welcome".NOTES-Author: S Lepertel-Email :-CreationDate: 28/01/2013-LastModifiedDate: 29/01/2013-Version: 0.2-History:.LINKhttp://www.avanade.com/fr-fr/Pages/default.aspx#>param ([Parameter(Mandatory=$true)]$Techdays)Write-host $Techdays}NAMEwrite-techDaysSYNOPSIStechDays 2013.SYNTAXwrite-techDays [-Techdays] <Object> [<CommonParameters>]DESCRIPTIONExemple de code de modulePARAMETERS-Techdays <Object>Ici les parametres de mon moduleRequired? truePosition? 1Default valueAccept pipeline input? falseAccept wildcard characters?<CommonParameters>This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer and OutVariable. For more information, type,"get-help about_commonparameters".INPUTSOUTPUTSNOTES-Author: S Lepertel-Email :-CreationDate: 28/01/2013-LastModifiedDate: 29/01/2013-Version: 0.2-History:-------------------------- EXAMPLE 1 --------------------------C:PS>Write-Techdays -TechDays "Welcome"RELATED LINKShttp://www.avanade.com/fr-fr/Pages/default.aspx
    9. 9. AVANADE MODULE
    10. 10. • Automatisation des tâches– Installation des prérequis– Optimisation des serveurs• Homogénéité des configurations serveurs– Pas d’erreur humaine lors de la configuration• Traçabilité des actions– Possibilité de logger les actions puis centralisation pouranalyseAide à la Configuration
    11. 11. EXCHANGE 2010 PREREQUIS
    12. 12. • Déploiement « finaux » en production maiségalement des environnements de test etdéveloppement– Automatisation lors des déploiement répétitifs et peuvalorisants• Modification de chaînes de connexion enfonction des besoinsAide au déploiement
    13. 13. FERME SHAREPOINT
    14. 14. • Migration de données– Mailboxes– Données utilisateur• Migration d’environnementAide à la Migration
    15. 15. • Module MSOL :– Gestion des utilisateurs (ajout, suppression,restauration, mode d’authentification, mot de passe…)– Gestion des groupes (création, suppression,appartenance…)– Gestion des « Service Principal »– Gestion des domaines– Gestion de l’authentification– Gestion des licencesPowershell et Office 365
    16. 16. GESTION DES LICENCESOFFICE 365
    17. 17. • Gestion d’Exchange Online– Gestion des destinataires (BAL, Groupes de distribution, contacts externes, utilisateur de messagerie…)– Approvisionnement– Migration– Autorisation (RBAC, autorisation de BAL, groupes de rôles…)– Conformité (Règles de transport, stratégies de rétention, archivage, règles de protection…)– 304 cmdlets disponibles function Connect-ExchangeOnline {param ($user = "sle@lepertel.onmicrosoft.com",$site = "https://ps.outlook.com/powershell/")$o365Credential = Get-Credential $user$global:office365= New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $site -Credential $o365Credential -Authentication Basic –AllowRedirectionImport-PSSession $office365}PS C:Windowssystem32> Get-MailboxName Alias ServerName ProhibitSendQuota---- ----- ---------- -----------------DiscoverySearchMailbox... DiscoverySearchMa... db3pr06mb595 50 GB (53,687,091,200 bytes)sle sle amspr06mb602 24.75 GB (26,575,110,144 bytes)user1 user1 db3pr06mb595 24.75 GB (26,575,110,144 bytes)• (http://help.outlook.com/fr-fr/140/dd575549.aspx)Powershell et Office 365
    18. 18. • Gestion de SharePoint online– Gestion des utilisateurs et groupes (création, suppression)– Gestion des updates de collection de site– Gestion des collections de sites (création, suppression,restauration, réparation…)– 30 cmdlets disponiblesfunction Connect-SPOnline() {param ($user = "sle@lepertel.onmicrosoft.com",$site = "https://lepertel.sharepoint.com")if ((Get-Module Microsoft.Online.SharePoint.PowerShell).Count -eq 0) {Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking}$cred = Get-Credential $userConnect-SPOService -Url $Site -Credential $credPowershell et Office 365
    19. 19. • Powershell offre la possibilité d’utiliser les classes du Framework .Net– Utilisation plus facile que certaines cmdlets (mais pas toujours )– Augmenter les possibilités (tache non réalisables avec une cmdlet)Function New-ComplexPassword {[cmdletBinding()]Param([Parameter(Mandatory=$true)][int]$length,[Parameter(Mandatory=$true)][int]$Nonalphanumeric)Begin{}Process{Add-Type -AssemblyName system.web$complexPassword = [System.Web.Security.Membership]::GeneratePassword(8,2) #length,NonalphanumChar}End{Return $complexPassword}}Et le Framework .Net ???
    20. 20. • Tâches simples d’administration & actionsplus complexes• Tous les produits Microsoft (On-premise etOnline) + Modules de partenaires ou internes• Possibilité d’invoquer les classes duFramework .Net• Passer directement sur Powershell V3(simplification, Powershell Web Access,workflow…)Conclusion
    21. 21. • Le Scriptcenter :http://technet.microsoft.com/en-US/scriptcenter/• Le blog de Pascal :http://blogs.technet.com/b/pascals/• WMF 3.0 (WinRM, WMI et Powershell V3) :http://www.microsoft.com/en-us/download/details.aspx?id=34595Quelques liens
    22. 22. Formez-vous en ligneRetrouvez nos évènementsFaites-vous accompagnergratuitementEssayer gratuitement nossolutions ITRetrouver nos expertsMicrosoftPros de l’ITDéveloppeurswww.microsoftvirtualacademy.comhttp://aka.ms/generation-apphttp://aka.ms/evenements-developpeurshttp://aka.ms/itcamps-franceLes accélérateursWindows Azure, Windows Phone,Windows 8http://aka.ms/telechargementsLa Dev’Team sur MSDNhttp://aka.ms/devteamL’IT Team sur TechNethttp://aka.ms/itteam

    ×