Command Not Found is a PowerShell 7 module that detects an error thrown by a command and suggests a relevant WinGet package to install, if available. It is a helpful tool, as it makes it easier to find and install the packages you need. Command Not Found utility detects command-line errors in PowerShell The Command […]
Ransomware groups now steal, encrypt, and threaten to leak company data on the dark web, forcing victims to pay or risk exposing sensitive information.
This comprehensive guide covers essential PowerShell information, including features, system requirements, and how Microsoft's framework extends to task automation and management.
Perso, je lance pas mal de commandes dans tous les sens chaque jour dans mon terminal et entre les petits paramètres que j’oublie, les enchainements de commandes un peu complexes ou les commandes à rallonge, ce que je peux vous dire, c’est que ça me prend un peu de temps.
Mais heureusement, zsh-copilot a débarqué dans ma vie il y a quelques mois et je ne peux plus m’en passer.
Ce plugin génial utilise la puissance de l’IA, directement intégrée à votre fidèle Zsh grâce zsh-autosuggestions.
Pour en profiter, rien de plus simple. Installez les dépandances suivantes :
N’oubliez pas de relancer votre shell pour prendre en compte les changements.
Ah oui, j’oubliais ! Pour que la magie opère, vous aurez aussi besoin d’une clé API OpenAI. Ça coûtera donc un peu de sous, mais vu tout ce que ce plugin va vous apporter, ça vaut largement le coup d’investir dedans !
Une fois que tout est en place, vous n’avez plus qu’à commencer à taper vos commandes habituelles, et à presser Ctrl+Z dès que vous avez besoin d’un coup de main. Et là, c’est Merlin l’enchanteur qui entre en scène ! zsh-copilot va analyser ce que vous êtes en train de faire, et vous proposer la suite la plus pertinente. Vous pouvez même carrément lui demander ce que vous cherchez à faire et lui vous proposera la commande qui va bien.
Vous verrez, c’est bluffant. Au début, on a un peu l’impression de tricher, mais très vite, on se rend compte à quel point c’est pratique. J’en ai même fait une vidéo pour mes patreons d’amour :
Puis par la même occasion, j’ai découvert Zsh AutoSuggestions qui est également super pratique pour retrouver les commandes qu’on tape régulièrement.
Starship est un outil de personnalisation d’invite de commande ultra-rapide, totalement configurable et qui fonctionne avec tout, que vous utilisiez Bash, Zsh, Fish, PowerShell…etc. Cet outil s’intègre en un clin d’œil à votre Shell et vous permettra d’en tirer le meilleur.
Une fois Starship installé, vous serez vite bluffé par ses capacités de personnalisation puisque vous pourrez configurer chaque aspect de votre shell afin de l’adapter à vos besoins et à vos goûts. Couleurs, symboles, informations affichées… tout est modifiable via le fichier de configuration starship.toml.
Et si vous travaillez sur plusieurs projets en même temps, pas de problème, Starship affichera « intelligemment » le nom du répertoire courant, la branche Git et l’état de votre dépôt. Et si vous avez besoin d’informations sur la version de Node.js, Python ou Ruby que vous êtes en train d’utiliser, Starship les détectera automatiquement et les intègrera naturellement dans votre prompt.
Mais Starship ne s’arrête pas là puisqu’il prend en charge une multitude de plugins pour étendre ses fonctionnalités. Ça permet par exemple d’afficher l’état de vos tests, le niveau de batterie de votre ordinateur portable, ou même la météo.
Et si vous êtes du genre power user, vous apprécierez la rapidité de Starship car contrairement à d’autres outils qui peuvent ralentir votre terminal, il est optimisé pour offrir des performances optimales, sans latence perceptible, même si vous avez poussé la personnalisation à fond !
L’installation est également un jeu d’enfant. Sur la plupart des systèmes, il vous suffira d’exécuter une simple commande pour télécharger et configurer automatiquement cet outil. Par exemple, sur macOS vous pouvez utiliser Homebrew :
Si ça vous dit de tester, le site officiel starship.rs est là. Et si vous êtes à la recherche d’inspiration pour personnaliser votre invite de commande, il y a des presets sur le site également.
Vous en avez marre de devoir mémoriser une tripotée de commandes compliquées pour effectuer vos tâches au quotidien sur votre propre serveur ? Et si je vous disais qu’il existe un outil ultra pratique pour simplifier tout ça, avec une interface web hyper intuitive ?
Laissez-moi vous présenter OliveTin, qui va révolutionner votre façon de travailler !
Cet outil permet d’accéder de manière sécurisée à un ensemble de commandes shell prédéfinies, le tout depuis une interface web. Et c’est d’une simplicité enfantine puisque le but c’est de vous faciliter la vie en rendant accessibles des tâches qui peuvent parfois être bien techniques.
Par exemple, si vous avez besoin de redémarrer régulièrement un conteneur Docker sur votre serveur, plutôt que de devoir sortir votre terminal, vous connecter en SSH et taper une commande à rallonge, vous pouvez le faire en quelques clics via une jolie interface web. Pratique non ?
Autre cas de figure… Imaginons que vous vouliez donner accès à des commandes à des gens moins à l’aise avec la technique. Et bien il vous suffit de créer un raccourci sur OliveTin et le tour est joué.
En plus de ça, OliveTin est hyper simple à mettre en place. La configuration se fait via un fichier YAML lisible et ça s’installe en deux temps trois mouvements grâce à l’image Docker. Et vu qu’il est prévu pour consommer très peu de ressources, vous pouvez même le déployer un peu partout sans forcement payer un gros serveur dédié.
Notez que si vous êtes du genre à cheval sur l’accessibilité, cet outil passe également haut la main tous les tests d’accessibilité de Firefox.
Ce tutoriel vous permettra de fusionner un utilisateur AD sur site avec un utilisateur azure AD déjà existant ou pas. En entreprise, j’ai eu plusieurs fois des erreurs de synchronisation avec le service AD Connect qui n’arrivait pas à mettre à jour des objets n’ayant pas des attributs uniques (Error Type: AttributeValueMustBeUnique).
Note : La synchronisation de l’Azure AD vérifie chaque nouvel objet et essaie de trouver un objet existant correspondant. Trois attributs sont alors utilisés pour ce processus : userPrincipalName, proxyAddresses et sourceAnchor/immutableID.
L’idée serait donc de définir une valeur immuable a l’utilisateur Azure Ad qui correspondrait à celui sur site. Voici comment résoudre ce problème :
Modification du coté Active Directory sur site (OnPrem)
Lancer une synchronisation depuis le powershell du serveur Azure AD Connect :
Start-ADSyncSyncCycle -PolicyType Delta
Note : Si vous souhaitez fusionner un utilisateur AD sur site a un nouvel utilisateur Azure AD, vous devez vous assurez qu’il n’existe plus aucune trace de l’ancien compte. Supprimez l’ancien compte à l’aide de la commande : Remove-AzureADUser -ObjectId objectid puis finaliser la suppression dans le menu “utilisateurs supprimés” du menu “utilisateurs” dans l’administration Microsoft 365
Imagine-toi que tu pourrais être bloqué en exécutant des scripts Powershell sur son ordinateur. Par sécurité, l’exécution de ceux-ci est désactivée. Ouvrez Powershell en tant qu’administrateur puis taper :
# Autoriser l’exécution de scripts par tous les utilisateurs. Cette commande nécessite des privilèges d’administrateurSet-ExecutionPolicy Unrestricted# Autoriser l’exécution de scripts par l’utilisateur actuel. Cela ne nécessite pas de privilèges spéciauxSet-ExecutionPolicy Unrestricted -Scope CurrentUser# Réactiver la restriction d'exécution de scripts par tous les utilisateurs. Cette commande nécessite des privilèges d’administrateurSet-ExecutionPolicy RemoteSigned# Réactiver la restriction d’exécution de scripts par l’utilisateur actuel. Cela ne nécessite pas de privilèges spéciauxSet-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"
Attention : N’oubliez pas de réactiver la restriction afin de maximiser la sécurité de votre système.
Bravo : Vous avez réussi ! $speak.Speak(“Tu peux maintenant exécuter des scripts petit Padawan”)