retour d'expérience sur powershell

22
Donnez votre avis ! Depuis votre smartphone, sur : http://notes.mstechdays.fr De nombreux lots à gagner toutes les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les TechDays http://notes.mstechdays.fr

Upload: microsoft-technet-france

Post on 11-Jul-2015

281 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Retour d'expérience sur PowerShell

Donnez votre avis !

Depuis votre smartphone, sur :

http://notes.mstechdays.fr

De nombreux lots à gagner toutes les heures !!!

Claviers, souris et jeux Microsoft…

Merci de nous aider à améliorer les TechDays

http://notes.mstechdays.fr

Page 2: Retour d'expérience sur PowerShell

Retour d’expérience

PowershellPascal Sauliere

Microsoft

Stéphane Lepertel

Avanade

Entreprise / IT / Serveurs / Réseaux / Sécurité

Hashtag

Site web

Page 3: Retour d'expérience sur PowerShell

• 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 Certified Architects.

• 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 » 2012

Avanade

Page 4: Retour d'expérience sur PowerShell

• 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

Page 5: Retour d'expérience sur PowerShell

• Réduction du TCO en automatisant les tâches répétitives.L'automatisation compte les avantages suivants :

– Réduction du temps de réalisation des tâches

– Assurance que les opérations périodiques complexes et susceptiblesd'engendrer 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 à l'automatisation des tâches courantesd'administration, PowerShell est un outil puissant degestion de serveurs et de stations de travail

Pourquoi utiliser PowerShell ?

Page 6: Retour d'expérience sur PowerShell

• Plusieurs constats :1. Créer un nouveau script : ne pas réinviter la roue, adapter

les 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 moins besoin des mêmes fonctions

PowerShell V2

Page 7: Retour d'expérience sur PowerShell

• Une Solution : Les modules– “Scripts Modules” (.psm1) vs “Binary Modules” (.dll)

– Les “Scripts Modules” contiennent des fonctions

Powershell

– Ces scripts modules peuvent être importés par un

« Import-Module » au même titre que les binary

modules

– Une fois chargés, ils peuvent être utilisés dans un autre

script ou une autre fonction

Powershell V2

Page 8: Retour d'expérience sur PowerShell

Module Bodyfunction write-Techdays {

<#

.SYNOPSIS

techDays 2013.

.DESCRIPTION

Exemple de code de module

.PARAMETER Techdays

Ici les parametres de mon module

.EXAMPLE

Write-Techdays -TechDays "Welcome"

.NOTES

-Author: S Lepertel

-Email :

-CreationDate: 28/01/2013

-LastModifiedDate: 29/01/2013

-Version: 0.2

-History:

.LINK

http://www.avanade.com/fr-fr/Pages/default.aspx

#>

param (

[Parameter(Mandatory=$true)]$Techdays

)

Write-host $Techdays

}

NAMEwrite-techDays

SYNOPSIStechDays 2013.

SYNTAXwrite-techDays [-Techdays] <Object> [<CommonParameters>]

DESCRIPTIONExemple de code de module

PARAMETERS-Techdays <Object>

Ici les parametres de mon module

Required? truePosition? 1Default value Accept 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".

INPUTS

OUTPUTS

NOTES

-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

Page 9: Retour d'expérience sur PowerShell

AVANADE MODULE

Page 10: Retour d'expérience sur PowerShell

• 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 pour

analyse

Aide à la Configuration

Page 11: Retour d'expérience sur PowerShell

EXCHANGE 2010 PREREQUIS

Page 12: Retour d'expérience sur PowerShell

• Déploiement « finaux » en production mais

également des environnements de test et

développement– Automatisation lors des déploiement répétitifs et peu

valorisants

• Modification de chaînes de connexion en

fonction des besoins

Aide au déploiement

Page 13: Retour d'expérience sur PowerShell

FERME SHAREPOINT

Page 14: Retour d'expérience sur PowerShell

• Migration de données– Mailboxes

– Données utilisateur

• Migration d’environnement

Aide à la Migration

Page 15: Retour d'expérience sur PowerShell

• 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 licences

Powershell et Office 365

Page 16: Retour d'expérience sur PowerShell

GESTION DES LICENCES

OFFICE 365

Page 17: Retour d'expérience sur PowerShell

• 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 = "[email protected]",$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:\Windows\system32> Get-Mailbox

Name 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

Page 18: Retour d'expérience sur PowerShell

• 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 disponibles

function Connect-SPOnline() {param (

$user = "[email protected]",$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 $cred

Powershell et Office 365

Page 19: Retour d'expérience sur PowerShell

• 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 ???

Page 20: Retour d'expérience sur PowerShell

• Tâches simples d’administration & actions plus complexes

• Tous les produits Microsoft (On-premise et Online) + Modules de partenaires ou internes

• Possibilité d’invoquer les classes du Framework .Net

• Passer directement sur Powershell V3 (simplification, Powershell Web Access, workflow…)

Conclusion

Page 22: Retour d'expérience sur PowerShell

Formez-vous en ligne

Retrouvez nos évènements

Faites-vous accompagner

gratuitement

Essayer gratuitement nos

solutions IT

Retrouver nos experts

Microsoft

Pros de l’ITDéveloppeurs

www.microsoftvirtualacademy.comhttp://aka.ms/generation-app

http://aka.ms/evenements-

developpeurshttp://aka.ms/itcamps-france

Les accélérateurs

Windows Azure, Windows Phone,

Windows 8

http://aka.ms/telechargements

La Dev’Team sur MSDN

http://aka.ms/devteam

L’IT Team sur TechNet

http://aka.ms/itteam