Category: Powershell

Test if IPs are in same subnet

Hello, today this is not a post about Windows Azure, but an old little function to test if an ip is in the same subnet as another ip. How it works ? Well, we have 3 functions, the two first are here to be used locally, and the function you’ll have to use to test…




Remove duplicates

Often i need to remove duplicates in objects before pipe them to another function, or before print the result. So, let’s take a cmdlet which return many lines like Get-Process…




IF/ELSE vs TRY/CATCH

Hi, I got few questions about how Try/Catch works in PowerShell recently. First of all, you need to get the thing that the cmdlet you put in the try section has to return an exception in case of error. I mean, if your cmdlet return boolean value it won’t work ! Let’s try an example…




Build HTML reporting

Depuis quelque temps, on voit sur les forums de nombreuses personnes faisant du reporting avec PowerShell en HTML. Effectivement c’est un outil génial et parfaitement adapté pour collecter des données et se fait un monitoring par email. Dans la pluspart des cas, et c’est pourquoi je publie un billet là dessus, on voit des trucs,…




Les Jobs Powershell

Bonjour,

Au menu aujourd’hui l’utilisation des Jobs Powershell. Tout d’abord quelques généralités sur les jobs…

Avec Powershell v1, les opérations étaient synchrones, c’est à dire exécutées les unes à la suite des autres.

Dans Powershell v2, grâce à la notion de jobs, des nouvelles façons de scripter sont possibles:

  • Fonctionnement asynchrone
  • Possibilité de faire tourner plusieurs tâches en parallèle sur des machines distantes ou locales (Powershell reste bien sur mono thread)
  • La session courante n’est pas bloquée en attenant le résultat d’un job.



Module: My Resume – Powershell

Salut,

Ok, en cette longue journée de décembre, pluvieuse. Après avoir passé une bonne partie de cette même journée à faire les achats de Noël, je vous propose de télécharger mon CV sous forme de module.




Remoting powershell – Partie 3

Salut,

Dans les deux précedents billets j’ai pu aborder la configuration de WinRM et l’utilisation de la cmdlet Invoke-Command. Dans ce dernier billet sur le remoting, je vais aborder l’utilisation des sessions powershell.

On peut retrouver deux types de sessions:

  • Les sessions distantes interactives
  • Les sessions distantes persistantes

Si on doit exécuter des tâches sur une machine précise, il est préférable d’ouvrir une session interactive.




Remoting powershell – Partie 2

Bonjour,

Dans un précédent billet, nous avons étudié la mise en place et la configuration des sessions powershell distantes à travers WinRM. Cette deuxième partie va aborder l’exécution des commandes dites “unitaires”.

Une fois WinRM configuré, les machines distantes sont prêtes à recevoir des commandes.

 

Invoke-Command

 

La première technique est l’utilisation de la cmdlet Invoke-Command -ComputerName <Ser ver> -Scriptblock {commande} qui va créer une session temporaire, qui sera fermée une fois la commande exécutée. Cette commande est utile pour jouer des connandes de façon ponctuelle et si vous ne souhaitez pas conserver de variables en mémoire

[powershell]

 

PS C:Windowssystem32> Invoke-command -ComputerName localhost {Get-Process powershell}

 

[/powershell]

 




Remoting Powershell – Partie 1

Bonjour,

L’avenement de Microsoft Powershell est bien l’arrivée du remoting. La capacité, avec un outil complet, à administrer son parc de son bureau, sans avoir besoin d’utiliser des psexec et consorts.

Dans cette série d’article, je vais tenter de vous apporter une approche ludique et simple afin que vous puissez utiliser ces technologies pour vous faciliter la vie :o)

Tout d’abord, il faut savoir que Powershell utilise plusieurs technologies pour l’accès à des machines distantes :

  • RPC, DCOM
  • WinRM (WS Management)
  • Les Web Services (AD par exemple)

On pourra selon la méthode utilisée :

  • Exécuter une seule commande dans une session temporaire sur une ou plusieurs machines
  • Ouvrir une session Powershell interactive
  • Des sessions persistantes
  • Importer en local un jeux de commandes n’existant que sur une machine distante sous forme de module



Powershell et les systemes de logs – partie 2

Salut,

Dans un premier article je vous parlais de la façon d’aller écrire dans un fichier de log pour suivre l’exécution de vos scripts. Maintenant, si vous utilisez des systèmes de collecteur de logs (syslog, rsyslog, snare, etc) ou pas, il pourrait être intéressant d’avoir une trace qui soit écrite dans les eventlog de Windows.

Toujours dans le premier article, je vous décrivais les différences entre les deux types de cmdlets disponibles pour aller interroger les events, pour écrire je vais faire un focus sur :

  • New-EventLog
  • Write-EventLog