Accéder au contenu principal

TechDays Paris 2011 : Windows PowerShell - Automatiser votre administration système

 Présentateur : Arnaud Petitjean & Jacques Barathon (www.powershell-scripting.com)

Après une introduction par la communauté des administrateurs PowerShell, une présentation des grandes généralités des capacités de PowerShell dans le monde Microsoft. Il est utilisé par toute l’industrie informatique pour l’administration de leur plateforme.

IMG_1762

Interpréteur de commande :

  • Jeu de commande normalisé & paramètre normalisé
  • Script sécurisable et signable
  • Langage de script concis s’appuyant sur le FrameWork .NET 2.0
  • Extensible par l’ajout d’objet et de fonctions

IMG_1763

Démonstration de petits scripts de comparaison

IMG_1764IMG_1765

Commandes et opérateurs de base

Filtrer:

  • Where-Object (Alias “where” ou “?”)

Boucle:

  • Foreach-object (Alias “foreach” ou “%”)
Trier (triage des valeur transmise par le pipe “|”) :
  • Sort-Object (Alias “sort”)

Sélectionner:

  • Select-Object (Alias “select”)

Regrouper:

  • Group-Object (Alias “group”)

Mesurer (comptage ou calcul sur des valeurs) :

  • Measure-Object (Alias “measure”)

Comparer:

  • Compare-Object (Alias “compare”)

Démonstration de commandes (select *time pour avoir tous les champs de type temps)

IMG_1765

Utilisation de Get-Command pour toutes les explications sur une commande ou Get-Help pour l’aide sur une commande et Get-Member pour les propriétés et méthodes d’un objet.

Gestion de l’Active Directory avec PowerShell

Utilisation de l’API ADSI ou par le module PowerShell pour AD (76 cmdlets et fournisseur AD (AD:)). Module PS pour AD permet de gérer les ADAM

Admin par dialogue via les WebServices en natif sous 2008 R2 ou avec ADMGS pour les anciens.

Recherche d’objet dans l’AD

  • -LDAPFIlter (filtrage avec des écritures au format LDAP)
  • -filter (filtrage classique)

Démonstration (get-module, import-module, write-progressbar, création de comptes, …)

IMG_1767IMG_1768

Administration à distance (Remoting)

  • Avant PS = WMI pour la lecture ou PSExec pour l’exécution
  • Remoting 1 = Utilisation de –ComputerName pour la lecture et action à distance (get-help * –parameter computername)
  • Remoting 2 = Utilisation de WinRM pour l’exécution de commande à distance (Session à la demande ou persistante) en arrière plan si besoin. Utilisation de protocole HTTP ou HTTPS (à activer sur le serveur distant et PS 2.0 sur les deux machines)

Demonstration

IMG_1769IMG_1771

La session s’est terminée par cet usage en Remote.

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab

Nouveau Scripts PowerShell publiés pour gérer les Storage Accounts dans Azure Cloud

Deux scripts sont en lignes pour nettoyer des Storage Account dans Azure Cloud: Supprimer les Blobs d'un container existant https://techcommunity.microsoft.com/discussions/azure/powershell-script-to-remove-all-blobs-from-storage-account/4357815 ------------------------------------------------------- [string]$myConnectionString = "DefaultEndpointsProtocol=https;AccountName=YourStorageAccountName;AccountKey=YourKeyFromStorageAccountConnectionString;EndpointSuffix=core.windows.net" [string]$ContainerName = "YourBlobContainerName" [int]$blobCountAfter = 0 [int]$blobCountBefore = 0 $context = New-AzStorageContext -ConnectionString $myConnectionString $blobCountBefore = (Get-AzStorageBlob -Container $ContainerName -Context $context).Count Write-Host "Total number of blobs in the container Before deletion: $blobCount" -ForegroundColor Yellow Get-AzStorageBlob -Container $ContainerName -Context $context | ForEach-Object {     $_ | Remove-AzureStorageBlob   # o...

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab