Trouver l’emplacement d’un module PowerShell

emplacement d'un module PowerShell

Salut à tous, aujourd’hui encore une petite astuce de commande PowerShell pour trouver l’emplacement d’un module PowerShell. Récemment j’ai eu besoin de retrouver où était installé un module PowerShell sur un de nos serveurs.

Il faut savoir que les modules PowerShell ne sont ni plus ni moins qu’un fichier texte PowerShell (extension .psm1 au lieu de .ps1) avec le code source du module et un fichier .psd1 qui décrit le module (et allez voir par ici si vous voulez en savoir plus). Il faut placer ces fichiers dans des dossiers spécifiques pour que PowerShell les trouve (comme une variable d’environnement PATH quoi).

Donc 2 options : soit vous utilisez la commande native, la version des faibles :

Get-Module -listavailable | where-Object {$_.Name -match '<ModuleName'}

Sinon à la main, je vous propose une version oneliner « qui sert à rien » mais « parce que je peux le faire » :

$env:PSModulePath.Split(';') | foreach {Write-Host -ForegroundColor Yellow $_ ; If (Test-Path $_){Get-ChildItem -Path $_ | foreach {if($_.Name -match "<ModuleName"){Write-Host @($_.name+'-'+$_.FullName)}}}}

Les plus attentifs auront noté que je cherche dans ce second cas un nom de dossier, et pas un nom de module, dans les emplacements possibles pour un module … Lire la suite

Durée d’exécution de la dernière commande en PowerShell

Durée d'exécution de la dernière commande en PowerShell

Salut à tous, aujourd’hui je vous propose une brève sur la durée d’exécution de la dernière commande en PowerShell. C’est pas violent, mais pas plus tard que cette semaine je me suis retrouvé avec un vieux bout de script PowerShell « un peu moisi » à faire marcher en production et qui mettait plus de 12h à s’exécuter… quelques optimisations évidentes effectuées, j’en était toujours à plus de 8h (i.e ça débordait de mon temps de présence sur place) et j’ai oublié d’inclure dans les logs le temps de début et la fin d’exécution, ce qui fait que quand j’ai fini par réussir avec avoir une exécution qui se terminait en allant au bout, je ne savais pas combien de temps ça avait pris…^^

Il s’avère que PowerShell est toujours aussi sympa et vous conserve pour vous l’historique d’exécution, accessible via la commande Get-History, avec toutes les propriétés liées à l’exécution de chaque commande :

Du coup il m’a suffit de saisir la commande suivante pour récupérer la durée d’exécution de la dernière commande en PowerShell :

(Get-History)[-1].EndExecutionTime - (Get-History)[-1].StartExecutionTime 

Et voir que mon script prenait encore 10h pour s’exécuter. Pour le coup cela me suffisait puisqu’on m’en demandait … Lire la suite

NGINX avec une authentification Kerberos

Salut à tous, ça vous dirait d’apprendre à configurer NGINX avec une authentification Kerberos sous CentOS 7 ? C’est le sujet d’aujourd’hui, vu que j’ai eu besoin de le faire au boulot récemment. Il s’avère que c’est un poil plus suant qu’avec Apache. Bref on y va.

Kerberos ?

Pour ceux qui ne savent pas ce que c’est, kerberos est un protocole d’authentification. Sa particularité est de reposer sur des clés secrètes partagées entre le client et un serveur tiers (le KDC). Vous trouverez pas mal de documentations, plus ou moins exactes, sur le net (c’est un protocole qui date un peu et qui n’est pas forcément super intuitif non plus). On peut vulgariser son utilisation ainsi :

  • A l’ouverture de votre session, le KDC vous délivre un TGT (Ticket Granting Ticket) protégé par un secret partagé entre vous et le KDC.
  • Lorsque vous souhaitez accéder à un service authentifié en kerberos (genre un site web), vous demandez au KDC un TGS (Ticket Granting Service) pour ce service, à l’aide de votre TGT. Ce TGS est protégé (en partie) par la clé secrète du service (que le service partage de son côté avec le KDC)
  • Il vous suffit alors
Lire la suite

Comment réussir un entretien d’embauche

Salut à tous, c’est la rentrée et, chose promise chose due, je vous dois un article sur comment réussir un entretien d’embauche. Et je vous arrête tout de suite, je ne suis pas un pro des ressources humaines, mon boulot c’est l’informatique, hein. C’est juste que comme je change de taf bientôt, je vous partage les trucs et astuces qui qui ont bien marchés pour moi lors de mes entretiens sur la première moitié de 2019.

Réussir un entretien d'embauche
Lire la suite