Skip to content

Instantly share code, notes, and snippets.

@adriens
Last active December 7, 2018 04:35
Show Gist options
  • Save adriens/e8b5eb0de189696982deacdd1ce1ef17 to your computer and use it in GitHub Desktop.
Save adriens/e8b5eb0de189696982deacdd1ce1ef17 to your computer and use it in GitHub Desktop.
Bloc note Meetup Power shell du 07/12/2018

Description

Mon bloc note de la session meetup powershell avec Sylver SCHORGEN chez SF2i le Vendredi 07/12/2018.

Possibilités

  • Packaging de paquets Poweshell pour distribuer (avec VStudio)
  • ManageEngine pour AD (délégation)
  • Gestion de Worflows (parralélisation)
  • DSC (ie. le puppet pour Windows)
  • Powershell core est open source (avec .NET core)
  • Possible de touner plusieurs version de pwshell
  • Powershell utilise WinRM puor accéder en remote

Questions

  • VStudio cloud
  • Build /test continu pour powershell
  • Tests unitaires ?... pour la CI ? ***Ou, avec Pester
  • Auto-complete sur des commandes pwshell customs ? OK
  • Emulateurs de la console pwshell ? Vu
  • Gestion des logs Pas natif, voir contribs?
  • Gestionnaire de dépendances (NUGET ?) sur des modules powershell ? Comment distribuer une commande custo ? *** Oui, avec PsDepend
  • Comment rédiger des helpers propres pour des commandes/scripts perso ? (markup language dédiée ?) ... genre de Javadoc en fait ... via des annotations ou autre ... idéalement dans le code directement ? Vu, doc embarquée au code directement via PsDoc
  • Architecture de powsershell : c'est implémenté sur .NET (core) ? Oui
  • GUI : ça marche comment ? Powershell Studio
  • Possible de driver des composants graphiques ? Oui
  • Quid de Powershell sous : Mac/android/iOS ?... pour industrailiser des confs/installs d'outils ? Non
  • Comment faire pour faire installer tous les modules nécessaires à la bonne exécution d'un script, pour éviter d'avoir à taper des commandes en prérequis à l'exécution :
Install-Module Logging
  • Workflow sur des actions : (re)démarrer un service puis un autre (en cas de succès du premier uniquement) Non, uniquement pour paralléliser
  • Que gagne-t-on à passer en W2012 vs. 2008R2 ?... : 2012 v3 et 2008 : v2
  • CI recommandée ? Perso j'utilise AppVeyor : que propose Microsoft ?
  • .NET scripts vs. Powershell scripts ?
  • Logger : pas de logger natif, passer par des contributions

Bonnes pratiques

  • Dégager les alias afin de produire un code plus facile à maintenir à plusieurs
  • Les niveaux de ConfirmPreference pour prévenir à l'exécution

Outils

  • Sapien (énorme IDE pwshell qui permet de coder facilement des GUI/formulaires en pwshell)

A NOTER !!!

  • CIM session est installé par défaut sur tous les serveurs par défaut depuis 2008R2 : NE SURTOUT PLUS UTILISER WINRM

Idées de dévs amusants pour apprendre/protoyper

  • Via la commande Get-Process générer une sortie gxf ou csv ou graphml des processus et de leur parent : comment récupérer id process parent sous Windows ?
  • Installer/Configurer un VPN sur une worstation (windows)
  • Interagir avec des services, sous Linux : dans la dernière version de .NET Core c'est désormais possible

Applications professionnelles

  • Lister les pending updates MS
  • Documenter les scripts existants avec psDoc
  • Ajouter la doc comme norme au dev de scripts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment