FreshRSS

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Interact with Azure Cosmos DB with PowerShell

14 septembre 2021 à 16:15

Learn how to perform core administrative tasks on the Azure Cosmos DB using Azure PowerShell.

The post Interact with Azure Cosmos DB with PowerShell first appeared on 4sysops.

Comment connaître la version de PowerShell installée sur Windows

13 septembre 2021 à 13:01

Windows PowerShell existe sous de nombreuses versions 5.1, 6,0, 6.1, 7,0, 7.1, etc.
Mais comment savoir quelle version de Powershell est installée sur Windows ?

Windows PowerShell est le Shell par défaut sur Windows 10 mais qui existe depuis Windows XP.
C'est aussi un langage de programmation.
Microsoft continue de l'améliorer en apportant des nouveautés et corrections de bugs dans de nouvelle version.

Dans ce tutoriel, je vous montre comment connaître la version de PowerShell installée sur Windows.
Plusieurs méthodes sont données qui fonctionnent sur Windows 7, 8.1, Windows 10 et Windows 11.

Comment connaître la version de PowerShell installée sur Windows

Quelles sont les versions de PowerShell ?

PowerShell est installé par défaut dans toutes les versions Windows à partir de Windows 7 SP1 et Windows Server 2008 R2 SP1.

Le tableau suivant indique la liste des versions PowerShell avec l'historique :

PS VersionNote
PowerShell 1.0Peut être installé manuellement sur Windows Server 2003 SP1 et Windows XP
PowerShell 2.0Windows Server 2008 R2 et Windows 7
PowerShell 3.0Windows 8 et Windows Server 2012
PowerShell 4.0Windows 8.1 et Windows Server 2012 R2
PowerShell 5.0Préinstallé sur Windows 10 RTM et mis à jour automatiquement à 5.1 via Windows Update
PowerShell 5.1Il s'agit de la prochaine version multi-plate-forme PowerShell version (basée sur .NET CORE) pouvant être installée sur toutes les versions Windows prises en charge et sur MacOS, Centos, Rhel, Debian, Ubuntu, OpenSUSE
PowerShell Core 6.0 and 6.1It is the next cross-platform PowerShell version (based on .NET Core) that may be installed on all supported Windows versions and on MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE
PowerShell Core 7.0Il s'agit de la dernière version PowerShell publiée en mars 2020 (.NET CORE 3.1 est utilisée en elle au lieu de .NET CORE 2.X)
Les versions de PowerShell

De plus les emplacements de PowerShell diffèrent selon la version :

  • Windows PowerShell 5.1: C:\Windows\System32\WindowsPowerShell\v1.0
  • PowerShell Core 6.x: C:\ProgramFiles\PowerShell\6
  • PowerShell Core 7.x (par MSI): C:\Program Files\PowerShell\7
  • PowerShell Core 7.x (Windows Store) : C:\Program Files\WindowsApps\Microsoft.PowerShell_7.1.4.0_x64__8wekyb3d8bbwe\pwsh.exe

Comment connaître la version de PowerShell installée sur Windows

En ligne de commandes

host
  • La version s'affiche dans la seconde ligne
Comment vérifier la version de PowerShell installée sur Windows
  • Mais vous pouvez aussi utiliser cette commande qui retourne aussi la version de PowerShell
$PSVersionTable
  • Et pour obtenir que la version majeure sans la sous version, utilisez cette commande :
$PSVersionTable.PSVersion.major
Comment vérifier la version de PowerShell installée sur Windows

Notez qu'à l'ouverture de PowerShell, le message suivante vous indique qu'une nouvelle de PowerShell est disponible.

Testez le nouveau système multiplateforme PowerShell https://aka.ms/pscore6

Suivez ce tutoriel pour mettre à jour PowerShell :

Dans le registre Windows

  • Sur votre clavier, appuyez sur la touche
    + R
  • puis saisissez regedit et OK
  • Ensuite dans le volet de gauche, déroulez l'arborescence :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
  • La version de PowerShell s'affiche dans le volet de droite dans la valeur
Comment vérifier la version de PowerShell installée sur Windows dans le registre Windows

Vérifier si Powershell 7 est installé

PowerShell 7 et PowerShell 5 peuvent cohabiter dans une même version de Windows.
De ce fait, vous pouvez ouvrir les deus versions distinctement.

De plus selon le mode d'installation PowerShell 7 peut s'installer à des emplacements différents :

  • C:\Program Files\WindowsApps\Microsoft.PowerShell_7.1.4.0_x64__8wekyb3d8bbwe\pwsh.exe - si installé par Windows Store
  • C:\Program Files\PowerShell\7\pwsh.exe - par le setup MSI

Pour vérifier si Windows 7 est installé sur Windows :

  • Faites une recherche Windows sur le mot PowerShell ou pwsh
  • En haut, cliquez sur Applications afin de filtrer la recherche sur les applications installées sur votre PC
  • La version 5 possède une icône bleu alors que la version 7 a une icône noire
  • De plus l'interface est un peu différente. N'hésitez pas à utiliser la commande host pour s'assurer de la version
Comment vérifier si Powershell 7 est installé

Comment vérifier la version de PowerShell sur des ordinateurs distants

Vous pouvez vérifier la version de PowerShell sur un ordinateur distant dans un domaine Windows.
Pour vérifier la version PowerShell sur un hôte distant, utilisez la valeur de la variable d'environnement $Psverionable ou obtenez les informations du registre directement. D'autres méthodes peuvent renvoyer des données incorrectes.

Invoke-Command -ComputerName Desktop-93FVJN -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred
Comment vérifier la version de PowerShell sur des ordinateurs distants
  • Puis saisissez les informations de connexion d'un compte administrateur du domaine ou local
Comment vérifier la version de PowerShell sur des ordinateurs distants
  • La version de PowerShell du PC distant s'affiche alors

L’article Comment connaître la version de PowerShell installée sur Windows est apparu en premier sur malekal.com.

Comment mettre à jour PowerShell sur Windows

13 septembre 2021 à 13:01

Windows PowerShell existe en de nombreuses versions comme PowerShell 5.1, 6,0, 6.1, 7,0, 7.1, etc.
Selon vos besoins, il peut être nécessaire de mettre à PowerShell.

Microsoft continue d'améliorer constamment PowerShell avec de nouvelle version.
Il existe d'ailleurs deux versions : une version classique ou stable et une version de développement.
Ainsi régulièrement, une nouvelle version de PowerShell apparaît apportant de nouvelles fonctionnalités.
Si vous n'avez pas besoin particulier, il n'est pas nécessaire de mettre à jour manuellement Powershell.
En effet, Microsoft livre les mises à jour à travers les mises à jour de fonctionnalités de Windows 10 et Windows 11.

Grâce à ce tutoriel, vous allez trouver toutes les méthodes pour mettre à jour PowerShell sur Windows.

Comment mettre à jour PowerShell sur Windows

Comment mettre à jour PowerShell sur Windows

Vérifier la version de PowerShell

Comment mettre à jour PowerShell 4 vers PowerShell 5

PowerShell 4 est la version par défaut de Windows 8.1 et Windows Server 2012 R2.

Comment mettre à jour PowerShell 4 vers PowerShell 5

Pour passer de la version 4 à la version 5 de PowerShell, vous devez d'abord installer le .Net Framework 4.5.2 ou plus récent puis ensuite installez Windows Management Framework 5.1 (WMF).

  • Installez .NET Framework 4.8 depuis ce lien
  • Redémarrez votre PC
  • Ensuite installez WMF 5.1 à partir de ce lien
  • Après le redémarrage du serveur, ouvrez la console PS et assurez-vous que la version PowerShell a été mise à jour vers 5.1

Comment installer ou mettre à jour vers PowerShell 7

PowerShell 7 s'installe à côté de PowerShell 5.
Ainsi, il est possible de faire tourner les deux versions sur un même PC.

Par le fichier MSI

La première méthode vise à installer Microsoft PowerShell 7 par l'installeur MSI.
Dans ce cas, PowerShell 7 s'installe dans C:\Program Files\PowerShell\7\pwsh.exe.

  • Puis exécutez le pour lancer l'installation
  • Cliquez sur Next pour passer à l'étape suivante
Comment mettre à jour vers PowerShell 7 par le fichier MSI
  • Puis laissez vous guider en cliquant sur Next à chaque étape
  • Par défaut l'installation s'effectue dans C:\Program Files\PowerShell, vous pouvez changer cela par le bouton Change
Comment mettre à jour vers PowerShell 7 par le fichier MSI
  • Puis les copies de fichiers s'effectue
Comment mettre à jour vers PowerShell 7 par le fichier MSI
  • Enfin PowerShell 7 s'ajoute dans la liste des applications du menu Démarrer. Vous pouvez le lancer à partir de cet emplacement
Comment mettre à jour vers PowerShell 7 par le fichier MSI

Par le Microsoft Store

Dans cette seconde méthode, on utilise Microsoft Store pour installer PowerShell 7.
PowerShell 7 s'installe alors dans C:\Program Files\WindowsApps\Microsoft.PowerShell_7.1.4.0_x64__8wekyb3d8bbwe\pwsh.exe.

  • Cliquez sur ce lien pour ouvrir la fiche PowerShell du store
  • Puis cliquez sur le bouton bleu installer ou gratuit
  • L'installation est alors automatique
Comment mettre à jour vers PowerShell 7 par Windows Store
  • Pour ouvrir Powershell 7, cliquez sur le menu Démarrer et cherchez les applications dans la lettre P
Comment mettre à jour vers PowerShell 7 par Windows Store

Par winget

Winget est un gestionnaire de paquet pour Windows.
Vous pouvez l'utiliser pour installer PowerShell 7 sur votre PC.

  • Suivez ce tutoriel pour installer winget sur votre PC
  • Pour mettre à jour PowerShell vers la dernière version avec winget :
winget install --id=Microsoft.PowerShell -e
  • Pour mettre à jour vers une version spécifique, inspirez vous de cette commande en modifiant la version :
winget install --id=Microsoft.PowerShell -v "7.1.2" -e

L’article Comment mettre à jour PowerShell sur Windows est apparu en premier sur malekal.com.

Office 365 : comment convertir un compte synchronisé en compte Cloud ?

6 septembre 2021 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment convertir un compte utilisateur synchronisé à partir d'un Active Directory on-premise (local) en compte Cloud sur votre tenant Office 365.

Lorsque l'on utilise Azure AD Connect, les comptes de l'Active Directory local sont synchronisés sur Office 365. Les objets synchronisés et disponibles sur le tenant Office 365 sont donc liés à ceux de l'Active Directory local. Dans certains cas, on peut avoir besoin de convertir un compte synchronisé en compte Cloud, ce qui permet de dissocier les deux comptes et de les rendre indépendants. De cette façon, on peut désactiver (voire supprimer) le compte dans l'AD local sans impacter le compte du tenant Office 365.

Vous l'aurez compris, dans cet exemple j'utilise un tenant Office 365, un domaine Active Directory et l'outil Azure AD Connect pour synchroniser mon annuaire Active Directory avec Office 365. Un grand classique !

II. Convertir un compte utilisateur synchronisé en compte Cloud

Plusieurs étapes sont nécessaires pour convertir un compte synchronisé à partir d'un Active Directory local en compte Cloud sur Office 365. L'exemple ci-dessous peut s'appliquer à un ou plusieurs utilisateurs et PowerShell sera notre allié une fois de plus pour automatiser ce processus de conversion.

A. Désynchroniser l'utilisateur d'Office 365

Le compte "[email protected]" est créé dans l'Active Directory et il est synchronisé sur le tenant Office 365. Il suffit de regarder la valeur de la colonne "État de synchronisation" pour s'en convaincre.

Dans un premier temps, nous devons désynchroniser cet utilisateur c'est-à-dire qu'il ne doit plus être dans le périmètre de la synchronisation. Deux cas de figure avec Azure AD Connect :

  • Synchronisation basée sur l'appartenance à une unité d'organisation (OU) de l'AD : vous devez déplacer l'utilisateur dans une unité d'organisation qui n'est pas synchronisée.
  • Synchronisation basée sur l'appartenance à un groupe de sécurité : vous devez retirer l'utilisateur du groupe en question, car seuls les membres sont synchronisés sur votre tenant.

Lorsque c'est fait, vous pouvez forcer une synchronisation d'Azure AD Connect ou patienter jusqu'à la prochaine synchronisation automatique.

Attention, cette action n'est pas sans conséquence ! 

Lorsqu'un utilisateur n'est plus dans le périmètre de la synchronisation, il sera supprimé du tenant Office 365 ! Autrement dit, il ira dans la corbeille en ligne de votre tenant puisqu'Azure AD Connect ne le verra plus dans l'AD local. Si le compte est en cours d'utilisation, vous devez prévenir l'utilisateur qu'il va y avoir des perturbations comme par exemple Outlook qui se déconnecte du compte.

Rassurez-vous, les données ne seront pas perdues ! Lorsqu'un compte est supprimé, il est récupérable pendant 30 jours, sans perte des données.

Une fois cette opération de désynchronisation effectuée, je ne parviens plus à trouver mon utilisateur dans les utilisateurs actifs (sur l'interface d'Office 365).

Par contre, dans les "Utilisateurs supprimés", je retrouve bien "[email protected]". Nous pouvons dire qu'il est bien désynchronisé.

Passons à la seconde étape.

B. Restaurer l'utilisateur Office 365 avec PowerShell

Nous devons restaurer l'utilisateur. Il est possible d'effectuer cette action via l'interface graphique, mais aussi en PowerShell. Via l'interface graphique, il suffit de cliquer sur l'utilisateur supprimé et de cliquer sur le bouton "Restaurer l'utilisateur".

Voyons comment faire en PowerShell, ce qui sera bien utile s'il y a de nombreux comptes concernés par l'opération. Tout d'abord, il vous faut le module MSOnline sur votre machine.

Install-Module MSOnline

Ensuite, il faut s'authentifier sur le tenant Office 365. Exécutez la commande suivante :

Connect-MsolService

Pour lister tous les utilisateurs supprimés, on utilise Get-MsolUser avec l'option -ReturnDeletedUsers et -All pour obtenir la liste complète :

Get-MsolUser -ReturnDeletedUsers -All

Pour cibler seulement "[email protected]", c'est tout simple :

Get-MsolUser -UserPrincipalName "[email protected]" -ReturnDeletedUsers

Résultat :

UserPrincipalName             DisplayName     isLicensed
-----------------             -----------     ----------
[email protected]    Utilisateur 1   True

Enfin, pour restaurer l'utilisateur il suffit de s'appuyer sur la commande prévue pour cela : Restore-MsolUser. Ce qui donne :

Restore-MsolUser -UserPrincipalName "[email protected]"

Dans le cas où l'on veut restaurer tous les utilisateurs situés dans la "Corbeille" d'Office 365 :

Get-MsolUser -ReturnDeletedUsers -All | Restore-MsolUser

On pourrait aussi faire une boucle Foreach pour restaurer une liste d'utilisateurs spécifiques, en s'appuyant sur un fichier CSV ou une liste de comptes d'une OU.

Après cette opération de restauration, l'utilisateur "[email protected]" est de retour dans les utilisateurs actifs du tenant ! Si l'on regarde l'état de synchronisation de ce compte, on peut voir que l'icône a changé : il s'agit désormais d'un compte Cloud ! C'est un succès ! 🙂


Ensuite, l'utilisateur peut se reconnecter à son compte, avec le même mot de passe (et c'est tant mieux). Par contre, vous ne devez pas remettre l'utilisateur dans le périmètre de la synchronisation Azure AD Connect afin qu'il reste indépendant de l'utilisateur Cloud.

Dernier conseil : pour vous roder, créez un compte de test. 😉

The post Office 365 : comment convertir un compte synchronisé en compte Cloud ? first appeared on IT-Connect.

Office 365 : attribuer des licences avec PowerShell

1 septembre 2021 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment attribuer des licences Office 365 / Microsoft 365 à des utilisateurs à partir de commandes PowerShell. Idéal pour automatiser cette tâche, même s'il y a d'autres façons de faire.

Pour suivre ce tutoriel, vous avez besoin d'une console PowerShell avec un accès sur votre tenant Office 36 et au minimum une licence disponible sur le tenant. En complément, vous devez avoir le module MSOnline de PowerShell sur votre machine.

Sur le sujet des licences avec Office 365 / Microsoft 365, je vous recommande la lecture de ces deux articles en complément :

II. Attribuer une licence Office 365 avec PowerShell

Comme d'habitude, la première étape consiste à se connecter à son tenant :

Connect-MsolService

Ensuite, suivez les étapes ci-dessous.

A. Lister les licences disponibles sur Office 365

il faut lister les licences enregistrées sur votre tenant. C'est important pour récupérer le nom de la licence à attribuer à nos utilisateurs. En effet, le nom d'affichage visible sur l'interface Web n'a rien à voir avec le nom en PowerShell, qui est plutôt un nom technique.

Get-MsolAccountSku

Voici un exemple de sortie :

AccountSkuId                          ActiveUnits WarningUnits ConsumedUnits
------------                          ----------- ------------ -------------
itconnect:ENTERPRISEPACKPLUS_FACULTY  160         0            151 
itconnect:STANDARDWOFFPACK_STUDENT    1000000     0            1842

Quant à la signification, voici pour les deux licences ci-dessus :

ENTERPRISEPACKPLUS_FACULTY = Office 365 Plan A3 pour les enseignants

STANDARDWOFFPACK_STUDENT = Office 365 Plan A1 pour les étudiants

Pour vous aider et avoir la correspondance entre les noms techniques et les noms commerciaux, je vous invite à consulter cette page : Microsoft Docs

Dans cet exemple, je vais attribuer la licence "itconnect:STANDARDWOFFPACK_STUDENT" à un utilisateur.

B. Affecter la licence avec Set-MsolUserLicense

Commençons par affecter le nom de la licence à une variable.

$Licences = "itconnect:STANDARDWOFFPACK_STUDENT"

Si l'on veut attribuer plusieurs licences en même temps, c'est possible. Voici un exemple :

$Licences = "itconnect:ENTERPRISEPACKPLUS_FACULTY","itconnect:STANDARDWOFFPACK_STUDENT"

Toutefois, attention si vous affectez plusieurs licences à un utilisateur, car il peut y avoir des conflits entre certaines licences. Faites un test sur un utilisateur pour valider.

Pour affecter cette licence à l'utilisateur "[email protected]", je vais m'appuyer sur le cmdlet Set-MsolUserLicense. L'option -AddLicenses va permettre de spécifier la ou les licences à attribuer.

Set-MsolUserLicense -UserPrincipalName "[email protected]" -AddLicenses $Licences

Si l'on veut associer cette licence à tous les utilisateurs du tenant qui n'ont pas de licences, on pourra s'appuyer sur Get-MsolUser et l'option -UnlicensedUsersOnly.

Get-MsolUser -UnlicensedUsersOnly -All | Set-MsolUserLicense -AddLicenses $Licences

Si un utilisateur n'a pas de licence, la propriété isLicensed retournée par Get-MsolUser sera égale à False. Après l'exécution de la commande ci-dessus, elle passera sur True puisque l'utilisateur aura une licence.

On peut être plus précis puisque l'on peut afficher la ou les licences affectées à un utilisateur :

(Get-MsolUser -UserPrincipalName "[email protected]").Licenses.AccountSkuId

C. Retirer une licence Office 365 avec PowerShell

Pour finir, un petit bonus pour effectuer l'opération inverse, à savoir retirer la licence Office 365 associée à un utilisateur. Pour cela, la commande Set-MsolUserLicense est nécessaire sauf que l'on va utiliser un paramètre différent : -RemoveLicenses.

Pour supprimer l'affectation de la licence "itconnect:STANDARDWOFFPACK_STUDENT", il suffira de faire :

$Licences = "itconnect:STANDARDWOFFPACK_STUDENT"
Set-MsolUserLicense -UserPrincipalName "[email protected]" -RemoveLicenses $Licences

Si l'on veut retirer toutes les licences attribuées à un utilisateur, peu importe le nom, on peut s'appuyer sur une petite boucle :

$UPN = "[email protected]" 

(Get-MsolUser -UserPrincipalName $UPN).Licenses.AccountSkuId | 
   foreach{
      Set-MsolUserLicense -UserPrincipalName $UPN -RemoveLicenses $_
   }

À vous de jouer !

The post Office 365 : attribuer des licences avec PowerShell first appeared on IT-Connect.

Powerline: Customize your PowerShell console

31 août 2021 à 21:37

Learn how to customize your PowerShell console to display meaningful metadata in your Windows command shell with Powerline.

The post Powerline: Customize your PowerShell console first appeared on 4sysops.

Manage Azure Policy using PowerShell

26 août 2021 à 17:17

Azure policies are becoming increasingly popular, as they provide a wide range of management capabilities over Azure resources. Not only do they allow us to enforce policy rules to control Azure resources, but they can also enable us to automatically evaluate compliance and remediate noncompliant resources. In this post, we will look at how to manage Azure Policy using PowerShell for common tasks, including creating policy definitions, managing policy assignments, and reporting compliance status.

The post Manage Azure Policy using PowerShell first appeared on 4sysops.

Microsoft Store : télécharger et installer manuellement un package APPX

25 août 2021 à 10:00

I. Présentation

Sous Windows 10 (et Windows 11), lorsque l'on installe une application à partir du Microsoft Store, l'installation s'effectue grâce à un fichier au format "appx" ou "appxbundle". Ceci est dû au fait que ce sont des applications universelles : UWP pour Universal Windows Platform.

Le Microsoft Store permet d'effectuer une installation en local, mais il ne permet pas de télécharger le fameux package d'installation pour le déployer sur une autre machine et réaliser, ce que l'on pourrait appeler, une installation hors ligne d'un package APPX. Dommage, car sur des machines isolées du réseau ou avec des configurations particulières, cela pourrait s'avérer bien pratique.

Dans ce tutoriel, nous allons voir qu'il est possible de récupérer le package APPX / APPXBundle d'une application du Microsoft Store pour réaliser une installation manuelle sur un poste Windows.

II. Télécharger un paquet APPX pour une installation hors ligne

La première étape consiste à générer un lien de téléchargement pour notre application du Microsoft Store et à récupérer le fichier d'installation. Pour cela, je vais prendre l'application Microsoft To-Do comme exemple.

Note : la méthode détaillée dans cet article ne fonctionne pas avec les applications payantes. Autrement dit, elle ne permet pas de récupérer gratuitement des applications payantes !

Commencez par vous rendre sur le Microsoft Store à partir d'un navigateur : Microsoft Store

Recherchez l'application qui vous intéresse, pour ma part Microsoft To-Do, et lorsque vous êtes sur la page de l'application, effectuer un "copier" de l'URL.

Ouvrez un deuxième onglet pour accéder au site suivant : store.rg-adguard.net

Ce site permet d'obtenir des liens de télécharger pour les paquets du Microsoft Store. Il est fiable et gratuit, en l'échange de quelques publicités.

Sélectionnez "URL (link)" et collez l'adresse de votre application. Cliquez sur le bouton pour valider.

Une liste (assez longue) de résultats est retournée ! Nous avons plusieurs paquets différents et c'est normal. Le site affiche notre application Microsoft To-Do mais également les paquets correspondants aux dépendances. Je ne vous apprends rien si je vous dis que l'application ne fonctionnera pas sans ses dépendances.

Vous devez maintenant récupérer les différents paquets, en suivant les consignes suivantes :

  • Téléchargez l'application au format "appx" ou "appxbundle", dans la version la plus récente
  • Les paquets avec l'extension "eappx" ou "eappxbundle" correspondent à des mises à jour, on peut les ignorer pour une installation initiale
  • Un paquet appxbundle intègre toutes les architectures tandis qu'un fichier appx correspond à une architecture spécifique, par exemple x64 : faites le bon choix
  • Téléchargez les paquets correspondants aux différentes dépendances (si nécessaire en fonction de la configuration de la machine cible)

Au final, vous allez télécharger plusieurs fichiers : l'application et ses dépendances. Bonne nouvelle : vous avez tout ce qui est nécessaire pour installer l'application UWP en mode hors ligne.

Pour ma part, voici le nom du paquet de l'application :

Microsoft.Todos_2.50.42141.0_neutral_~_8wekyb3d8bbwe.appxbundle

III. Installer manuellement un paquet APPX

Basculez sur une machine où l'application n'est pas présente (ou pas à jour) et transférez les paquets. Pour installer un package APPX ou APPXBUNDLE sur Windows, c'est simple il suffit de l'ouvrir.

Une fenêtre comme celle ci-dessous s'affiche pour vous proposer l'installation (ou la mise à jour).

Quelques secondes plus tard, le tour est joué ! L'application s'ouvre !

Dans un premier temps, je vous invite à tenter l'installation de l'application en elle-même, sans vous occuper des dépendances. Ensuite, si vous avez un message d'erreur, il y a des chances pour que ce soit à cause d'une dépendance qui est manquante. Dans ce cas, installez d'abord les dépendances puis, dans un second temps, l'application.

IV. Installer plusieurs paquets APPX avec PowerShell

PowerShell intègre une commande capable de réaliser l'installation d'un paquet APPX ou APPXBUNDLE alors pourquoi s'en priver ? Comme vous le savez, j'adore PowerShell alors je suis obligé de vous expliquer comment faire !

L'idée est la suivante : utiliser le cmdlet Add-AppxPackage et spécifier le chemin vers le package à installer (-Path). Voici un exemple :

Add-AppxPackage -Path "C:\Users\Florian\Desktop\Microsoft.Todos_2.50.42141.0_neutral_~_8wekyb3d8bbwe.appxbundle"

Ce qui est cool, c'est qu'avec une simple boucle nous allons pouvoir installer plusieurs paquets APPX très facilement !

Par exemple, pour installer tous les fichiers APPX (ou APPXBUNDLE) stockés dans le dossier "C:\Sources\", voici comment procéder. La commande Get-ChildItem va nous permettre de récupérer les éléments du dossier (avec un filtre sur l'extension) et grâce à une boucle, nous allons installer chaque paquet avec la commande Add-AppxPackage.

Ce qui donne :

Get-ChildItem "C:\Sources\" -Filter *.appxbundle | Foreach{ Add-AppxPackage -Path $_.FullName }

Pour inclure plusieurs extensions, car on peut rencontrer le cas, voici la syntaxe :

Get-ChildItem "C:\TEMP\APPX\*" -Include ('*.appx','*.appxbundle') | Foreach{ Add-AppxPackage -Path $_.FullName }

À vous de jouer ! 🙂

The post Microsoft Store : télécharger et installer manuellement un package APPX first appeared on IT-Connect.

PowerShell grep : rechercher des chaînes de caractères avec Select-String

23 août 2021 à 11:00

I. Présentation

Dans ce tutoriel, nous allons voir comment utiliser grep en PowerShell grâce à la commande Select-String dans le but de rechercher une chaîne de caractères dans un ensemble de fichiers.

La commande "grep" est très populaire sous Linux et elle est très appréciée des administrateurs système. En effet, elle permet de rechercher des chaînes de caractères au sein de fichiers présents sur votre machine, de manière efficace. Au quotidien, c'est très pratique pour rechercher un mot clé dans un fichier de configuration ou effectuer une recherche au sein d'un fichier de log.

Sous Windows, il existe une commande équivalente à grep par l'intermédiaire de PowerShell. Il s'agit de la commande Select-String et je vous propose d'apprendre à l'utiliser en lisant cet article. Il y a également une autre alternative sous Windows, par l'intermédiaire de l'outil natif findstr.exe.

II. Les paramètres de Select-String

La commande Select-String contient de nombreux paramètres qui vont être utiles pour affiner notre filtre de recherche. Avant de passer à la pratique, il me semblait intéressant de vous lister et de vous expliquer les paramètres principaux.

-AllMatches

Rechercher toutes les occurrences de notre chaîne de caractères / de notre filtre sur une même ligne. Par défaut, Select-String va s'arrêter dès qu'il trouvera un premier résultat sur une ligne, ce qui peut s'avérer contraignant. Avec ce paramètre, nous aurons tous les résultats, sans limites. Autrement dit, sans -AllMatches, on peut avoir seulement un résultat par ligne.

-CaseSensitive

Par défaut, la recherche n'est pas sensible à la casse. Lorsque ce paramètre est défini, la recherche va tenir compte de la casse, c'est-à-dire des minuscules et majuscules.

-Context

Paramètre très intéressant qui va permettre d'indiquer combien de lignes avant et après le match (résultat) il faut afficher, en plus de la ligne correspondante à la recherche. Je trouve cela particulièrement intéressant lorsque l'on s'intéresse à des logs.

-Encoding

Permets de spécifier l'encodage à utiliser. Par défaut "utf8NoBOM", mais il y a d'autres choix : ascii, oem, unicode, utf8, utf32, etc.

-Exclude

Exclure certains fichiers du périmètre de la recherche. Par exemple, tous les fichiers qui utilisent une extension spécifique.

-Include

Inclure uniquement les fichiers correspondants au filtre -Inclure. Par exemple, pour effectuer une recherche uniquement sur les fichiers .log.

-InputObject

Rechercher dans un objet existant (envoyé en entrée) plutôt qu'au sein des fichiers stockés dans un dossier.

-NotMatch

Afficher les résultats qui ne correspondent pas au filtre de recherche / recherche inverse.

-Pattern

C'est ici que l'on spécifie le filtre de la recherche, ce qui peut être une simple chaîne de caractères, plusieurs chaînes de caractères, mais aussi un filtre sous la forme d'une expression régulière (regex).

-Path

Ce paramètre basique sert à spécifier le répertoire dans lequel effectuer la recherche ou le fichier dans lequel rechercher.

Maintenant que le décor est planté, passons à la pratique : connaître les paramètres de Select-String c'est bien, savoir les utiliser c'est encore mieux.

III. PowerShell grep avec Select-String : exemples

Pour mieux comprendre le fonctionnement de la commande "grep" à la sauce Windows, je vous propose quelques exemples.

A. PowerShell - Rechercher une chaîne de caractères dans un fichier

Commençons par rechercher une chaîne de caractères simple dans un fichier spécifique : la chaîne "florian" dans le fichier "data.csv" qui contient une liste d'utilisateurs.

Voici le contenu du fichier :

prenom;nom;
florian;burnel;
gerard;mensoif;
vincent;tyme;
maude;zarella;

Voici la commande recherche :

Select-String -Path "C:\TEMP\GREP\Data.csv" -Pattern "florian"

Voici le résultat :

Exemple d'utilisation de Select-String (grep) en PowerShell

Le résultat est correct puisqu'il a trouvé la ligne avec la chaîne "florian". Le terme est surligné dans le résultat pour bien montrer son emplacement dans la liste. Plus précisément, voici comment se décompose la ligne :

TEMP\GREP\Data.csv:2:florian;burnel;
<fichier-où-se-situe-le-résultat>:<numéro de ligne>:<contenu de la ligne>

Il y a plusieurs propriétés associées à cette commande. Par exemple, nous pouvons récupérer le numéro de la ligne :

(Select-String -Path "C:\TEMP\GREP\Data.csv" -Pattern "florian").LineNumber

Pour visualiser toutes les propriétés et méthodes disponibles, on utilisera "Get-Member" (gm).

Select-String -Path "C:\TEMP\GREP\Data.csv" -Pattern "florian" | gm

B. PowerShell - Rechercher une chaîne de caractères dans plusieurs fichiers

Nous pouvons rechercher la chaîne "florian" dans plusieurs fichiers, et pas seulement dans le fichier "data.csv". Si l'on veut rechercher ce terme dans tous les fichiers du dossier "C:\TEMP\GREP", on utilisera cette commande :

Select-String -Path "C:\TEMP\GREP\*" -Pattern "florian"

Voici le résultat :

TEMP\GREP\Data.csv:2:florian;burnel;
TEMP\GREP\Data3.csv:4:florian;burnel;

Cette fois-ci, la commande a trouvé deux résultats différents, au sein de deux fichiers distincts.

C. PowerShell - Rechercher plusieurs chaînes de caractères

Si l'on veut rechercher plusieurs chaînes de caractères différentes, il n'est pas nécessaire d'utiliser plusieurs commandes : le paramètre -Pattern prend en charge les valeurs multiples. Il suffit de les séparer par une virgule.

Voici un exemple :

Select-String -Path "C:\TEMP\GREP\*" -Pattern "florian","tyme"

Voici le résultat :

Lorsque l'on commence à rechercher plusieurs chaînes dans plusieurs fichiers, il me semble pertinent de revoir un petit peu la mise en forme du résultat. Pour cela, nous allons nous aider du cmdlet Select-Object pour sélectionner les propriétés que l'on souhaite afficher.

Par exemple, on peut récupérer le nom du fichier, le pattern trouvé et le contenu de la ligne :

Select-String -Path "C:\TEMP\GREP\*" -Pattern "florian","tyme" | Select-Object FileName, Pattern, Line

Ce qui donne :

Note : on pourrait remplacer "Filename" par "Path" pour afficher le chemin complet vers le fichier.

Pratique, n'est-ce pas ? 🙂

Pour affiner la recherche et sélectionner uniquement les fichiers TXT, il y a deux manières de procéder.

Note : au préalable, je fais une copie du fichier data.csv en data10.txt pour que cela fonctionne.

Tout d'abord, on peut indiquer le filtre directement au niveau de -Path, comme ceci :

Select-String -Path "C:\TEMP\GREP\*.txt" -Pattern "florian","tyme"

Sinon, on peut utiliser le paramètre -Include pour filtrer sur une extension de fichiers. Ce qui donne la commande suivante pour un filtre sur .TXT :

Select-String -Path "C:\TEMP\GREP\*" -Include "*.txt" -Pattern "florian","tyme"

L'avantage de -Include, c'est que l'on peut préciser plusieurs filtres. Voici un exemple pour .TXT et .CSV :

Select-String -Path "C:\TEMP\GREP\*" -Include "*.txt","*.csv" -Pattern "florian","tyme"

D. PowerShell - Rechercher à l'aide du paramètre -Context de Select-String

Le paramètre -Context permet d'afficher la ligne où le pattern a été trouvé, ainsi que les X lignes précédentes et les X lignes suivantes. Si l'on utilise -Context 3, on va obtenir 7 lignes au total : 3 lignes avant la ligne où le pattern est présent, la ligne où le pattern est présent, et 3 lignes après la ligne où le pattern est présent.

Voici un exemple où je recherche les erreurs 404 au sein d'un fichier de log de Nginx :

Select-String -Path "C:\TEMP\GREP\access-light.log" -Pattern "404" -Context 3

On peut gérer de façon indépendante le nombre de lignes avant et après à afficher. Il suffit de préciser deux valeurs séparées par une virgule. La première valeur correspond au nombre de lignes avant et la seconde au nombre de lignes après.

Par exemple, pour afficher une ligne avant et trois lignes après, cela donne :

Select-String -Path "C:\TEMP\GREP\access-light.log" -Pattern "404" -Context 1,3
Exemple d'utilisation de Select-String (grep) en PowerShell avec le paramètre -Context

Grâce au caractère ">" on peut repérer facilement la ligne où a été trouvé le pattern.

Sur un fichier très conséquent, la sortie dans la console peut être importante. On peut exporter le résultat de la recherche vers un autre fichier, comme ceci (vers le fichier C:\TEMP\resultat-grep.txt) :

Select-String -Path "C:\TEMP\GREP\access-light.log" -Pattern "404" -Context 1,3 | Out-File -Path "C:\TEMP\resultat-grep.txt"

On pourrait aussi limiter l'affichage au premier résultat ou au X premiers résultats. Pour cela, on va coupler Select-String à l'utilisation de Select-Object :

Select-String -Path "C:\TEMP\GREP\access-light.log" -Pattern "404" -Context 0,1 | Select-Object -First 1

On peut aussi affiner avec Select-Object et exporter dans un fichier ce résultat affiné :

Select-String -Path "C:\TEMP\GREP\access-light.log" -Pattern "404" -Context 1,3 | Select-Object -First 1 | Out-File -Path "C:\TEMP\resultat-grep.txt"

E. PowerShell - Recherche récursive avec Select-String

Seule, la commande Select-String recherche uniquement dans le dossier courant, mais pas de manière récursive c'est-à-dire que les sous-dossiers ne sont pas pris en compte. Pour utiliser la récursivité, il faut s'appuyer sur la commande Get-ChildItem puisqu'elle va permettre de récupérer la liste de l'intégralité des fichiers et dossiers. Ce résultat sera envoyé à la commande Select-String via le pipe "|". À partir de là, on peut effectuer un grep récursif à l'aide de PowerShell.

On viendra positionner le répertoire -Path au niveau de Get-ChildItem donc il n'est plus nécessaire de le spécifier au sein de Select-String.

Get-ChildItem -Path "C:\Temp\GREP\" -Recurse | Select-String -Pattern "florian"

Puisque ls et dir sont des alias de Get-ChildItem, on peut les utiliser également.

ls "C:\Temp\GREP\" -Recurse | Select-String -Pattern "florian"
dir "C:\Temp\GREP\" -Recurse | Select-String -Pattern "florian"

On peut voir sur l'image ci-dessous que nous avons un nouveau résultat, au sein du sous-dossier "SOUS-DOSSIER", ce qui n'était pas le cas précédemment.

PowerShell : comment utiliser Select-String de manière récursive ?

F. PowerShell - Rechercher toutes les adresses IP dans un fichier

Pour finir, je vous propose un dernier exemple où l'on va rechercher les adresses IP dans un fichier. Nous n'allons pas rechercher une adresse IP précise, car c'est trop facile, mais l'on va rechercher toutes les adresses IP présentes dans le fichier de log "access.log".

Pour cela, on va s'appuyer sur une expression régulière. Comme je l'expliquais dans mon tutoriel sur le sujet, on peut rechercher une adresse IP avec le pattern suivant :

\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

Bien qu'il ne soit pas ultra précis, car il autorise les adresses IP 300.300.300.300, 400.500.600.700, etc... Il devrait être suffisant pour s'attaquer à ce fichier de log. Il suffit de préciser l'expression régulière au sein du paramètre -Pattern :

Select-String -Path "C:\TEMP\GREP\access.log" -Pattern "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"

Ce qui donne :

Rechercher toutes les adresses IP présentes dans un fichier

Suite à cette recherche, on pourrait facilement obtenir la liste de toutes les adresses IP référencées dans ce fichier. Pour cela, il faut regarder au sein des différents matchs de la Regex avec une boucle sur $_.Matches et une seconde boucle pour récupérer la valeur de chaque match. Ce qui donne la commande suivante :

Select-String -Path "C:\TEMP\GREP\access.log" -Pattern "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" | Foreach{ $_.Matches } | Foreach{ $_.Value }

Ensuite, on obtient la liste des adresses IP trouvées dans le fichier access.log :

On pourrait affiner notre pattern et rechercher toutes les requêtes qui correspondent à un réseau IP spécifique, ou qui commence d'une certaine façon. Par exemple, pour rechercher toutes les requêtes (c'est-à-dire toutes les lignes) où l'on trouve une adresse IP sous la forme "211.X.X.X", on fera :

Select-String -Path "C:\TEMP\GREP\access.log" -Pattern "211.\d{1,3}.\d{1,3}\.\d{1,3}"

De la même façon, on pourrait rechercher toutes les lignes avec une adresse IP sous la forme "192.168.X.X" :

Select-String -Path "C:\TEMP\GREP\access.log" -Pattern "192.168.\d{1,3}\.\d{1,3}"

Voilà, c'est la fin du dernier exemple sur l'utilisation de Select-String. Mais ce n'est pas terminé, il nous reste un petit bonus à découvrir.

IV. Bonus : créer un alias grep pour Select-String

Vous aimeriez pouvoir saisir "grep" plutôt que "Select-String" ? Alors j'ai une solution pour vous : la création d'un alias !

Il suffit de créer un alias de cette façon :

New-Alias grep Select-String

Ensuite, on peut utiliser grep à la place de Select-String, mais les paramètres restent les mêmes, bien entendu.

grep -Path "C:\TEMP\GREP\access.log" -Pattern "127.0.\d{1,3}\.\d{1,3}"
Créer un alias grep pour la commande Select-String

Attention, cet alias sera temporaire : lorsque la console PowerShell sera fermée, il sera supprimé. Pour le rendre persistant, je vous invite à lire mon tutoriel sur les alias en PowerShell : PowerShell - Alias

N'hésitez pas à partager vos astuces avec Select-String en PowerShell en postant un commentaire sur cet article ! 😉

The post PowerShell grep : rechercher des chaînes de caractères avec Select-String first appeared on IT-Connect.

Comment changer la police par défaut dans Terminal Windows

22 août 2021 à 11:44

Windows Terminal est l'application de terminal par défaut dans Windows 11. Voici des façons faciles différentes d'ouvrir la borne Windows dans Windows 11.

Contrairement à Windows 10, le nouveau terminal Windows est l'application de terminal par défaut dans Windows 11. Vous n'avez plus besoin de l'installer manuellement. Il est inclus par défaut. Par rapport aux précédents shell de Windows, Windows Terminal est moderne, rapide et puissant. Si vous avez vu Windows Terminal, vous savez qu'il fournit une interface utilisateur unifiée pour accéder à toutes les shell de Windows dans un emplacement central avec une interface utilisateur à onglets.
Grâce à l'option Profils, vous pouvez créer plusieurs profils avec différentes configurations de shell.
Parmi les options pour personnaliser l'affichage et l'apparence, on peut modifier les police de caractères.

Dans ce tutoriel, nous allons voir comment changer la police par défaut dans Terminal Windows.

Comment changer la police par défaut dans Terminal Windows

Comment changer la police par défaut dans Terminal Windows

Par défaut, chaque profil utilise la même police de caractères Cascadia Mono.

La police d'écriture de Windows Terminal
  • Ouvrez Windows Terminal
  • Puis cliquez sur le menu déroulant sur la barre de titre
  • Sélectionnez l'option Paramètres. Notez que vous pouvez accéder directement aux paramètres par le raccourci clavier : CTRL+,
Ouvrir les paramètres de Windows Terminal
  • Ensuite cliquez sur le profil depuis le menu de gauche 1
  • Puis cliquez sur le menu Apparence en haut 2
Accéder au menu Apparence de Windows Terminal
  • Puis vous accédez aux paramètres de polices, texte. Vous pouvez modifier le type de police et en dessous la taille de la police
  • Enfin plus bas, vous pouvez définir l'épaisseur du texte
Comment changer la police par défaut dans Terminal Windows
  • Cliquez sur Enregistrer en bas à droite de l'écran pour prendre en compte les modifications
  • Ouvrez un nouvel onglet du profil pour bénéficier des changements de police de caractères
Comment changer la police par défaut dans Terminal Windows
Bravo ! vous avez réussi à changer la police sur Windows Terminal.

Modifier la police par défaut globale sur Windows Terminal

Comme nous venons de le voir, les modifications des polices se font sur les profils.
Mais comment changer la police par défaut de manière globale sur Windows Terminal ?
Cela se fait dans le fichier de configuration settings.json.

  • Cliquez en bas à gauche sur Ouvrir le fichier JSON
Ouvrez le fichier de configuration settings.json de Windows Terminal
  • Cela ouvre le fichier de configuration Windows Terminal dans l'éditeur de texte. Repérez la ligne du profil par défaut :
"defaults": {},
Modifier la police par défaut globale sur Windows Terminal
  • Puis saisissez fontFace suivi du nom de la police en respectant la syntaxe suivante
"defaults": {
		"fontFace": "Consolas"
	},
  • Enregistrez les modifications par le raccourci clavier CTRL+S
Modifier la police par défaut globale sur Windows Terminal
Bravo ! vous avez réussi à changer la police par défaut de Windows Terminal.

L’article Comment changer la police par défaut dans Terminal Windows est apparu en premier sur malekal.com.

Comment changer l’image d’arrière plan de Windows Terminal (Personnalisation)

21 août 2021 à 13:44

Pour rendre votre Windows Terminal plus esthétique et le personnaliser, il est possible de changer l'image d'arrière plan.
La possibilité de définir l'image de fond de terminal Windows est une option de personnalisation très utiles.
Ainsi, lors de l'exécution de plusieurs coquilles sous la borne Windows, régler des images d'arrière-plan pour chaque coquille le rend beaucoup plus accueillant et facile à reconnaître.

Dans ce tutoriel, je vous guide pour changer l'image d'arrière plan de Windows Terminal de Windows 11 et Windows 10.

Comment changer l'image d'arrière plan de Windows Terminal

Comment changer l'image d'arrière plan de Windows Terminal

Vous pouvez définir des images de fond séparées pour chaque shell du terminal. La bonne chose, contrairement aux versions plus anciennes où vous devez modifier le fichier JSON des paramètres, vous pouvez maintenant utiliser le panneau Paramètres pour définir ou modifier l'image d'arrière-plan.

  • Ouvrez Windows Terminal
  • Puis cliquez sur le menu déroulant sur la barre de titre
  • Sélectionnez l'option Paramètres. Notez que vous pouvez accéder directement aux paramètres par le raccourci clavier : CTRL+,
Ouvrir les paramètres du terminal de Windows
  • Ensuite cliquez sur le profil depuis le menu de gauche 1
  • Puis cliquez sur le menu Apparence en haut 2
Accéder au menu Apparence de Windows Terminal
  • Descendez pour chercher le paramètre Image d'arrière plan
  • Cliquez sur Parcourir
Comment changer l'image d'arrière plan de Windows Terminal
  • Puis naviguez dans vos dossiers pour sélectionner l'image de fond à appliquer
Comment changer l'image d'arrière plan de Windows Terminal
  • Enfin cliquez sur sur le bouton Enregistrer en bas à droite
Comment changer l'image d'arrière plan de Windows Terminal
  • La nouvelle image de fond s'applique automatiquement sur Windows Terminal
Comment changer l'image d'arrière plan de Windows Terminal

Personnaliser l'apparence de l'image de fond dans le terminal Windows

Après avoir défini l'image de fond de terminal Windows, vous pouvez modifier son apparence et vous sentir en modifiant la transparence, l'acrylique, la position et les effets d'étirement.

Toutes ces options sont disponibles sous l'onglet "Apparence" des paramètres Shell.
d".

  • Accédez au menu Apparence du profil
  • Si la position par défaut de l'image de fond n'est pas à votre goût, changez-la sous la section Alignement de l'image de fond
  • Pour rendre l'image un peu transparente, modifiez le curseur Opacité de l'image de fond
Personnaliser l'apparence de l'image de fond dans le terminal Windows

De la même manière, vous pouvez activer l'effet translucide flou en allumant l'option acrylique.

  • Descendez plus bas pour activer Acrylique
  • Puis réglez l'opacité de l'acrylique
  • Enfin cliquez sur sur le bouton Enregistrer en bas à droite
Personnaliser l'apparence de l'image de fond dans le terminal Windows
  • Automatiquement la transparence s'applique au profil
Personnaliser l'apparence de l'image de fond dans le terminal Windows

Changer et personnaliser l'image d'arrière plan de Windows Terminal par settings.json

Vous pouvez aussi personnaliser l'image d'arrière plan et transparence directement dans le fichier settings.json.
On accède à ce dernier par le bouton Ouvrir le fichier JSON en bas à gauche de la page des paramètres.

Ouvrez le fichier de configuration settings.json de Windows Terminal

Dans la partie profil, jouez sur les paramètres suivants pour changer l'image de fond et l'opacité.

"backgroundImage" : "C:/Users/MaK/Images/malekalbanner-phpbb.png",
"backgroundImageOpacity" : 0.75,
"backgroundImageStretchMode" : "fill",

backgroundImageOpacity est la valeur qui permet de jouer sur l'opacité de l'image du Windows Terminal.

Modifier l'image de fond et transparence du Windows Terminal

La transparence se règle grâce à acrylicOpacity.
Les valeurs vont de 0.75 à 0.5.
Enfin useAcrylic doit être réglé sur True.

Par exemple sur le profil Windows Powershell :

{
                "useAcrylic": true
                "acrylicOpacity": 0.31,
                "backgroundImage" : "C:/Users/MaK/Images/malekalbanner-phpbb.png",
                "backgroundImageOpacity" : 0.75,
                "backgroundImageStretchMode" : "fill",
                "commandline": "powershell.exe",
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "hidden": false,
                "name": "Windows PowerShell"             
            },

Pour appliquer la transparence à tous les profils, il faut modifier la section defaults :

  • Modifiez le fichier settings.son
  • Cherchez la sections defaults
  • Enfin modifiez la en ajoutant le code suivant
"defaults":
        {
            "acrylicOpacity" : 0.08,
            "backgroundImage" : "C:/Users/MaK/Images/malekalbanner-phpbb.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStretchMode" : "fill",
            "closeOnExit" : true,
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 12,
            "historySize" : 9001,
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "useAcrylic" : true,
        },

L’article Comment changer l’image d’arrière plan de Windows Terminal (Personnalisation) est apparu en premier sur malekal.com.

Comment ajouter un nouveau profil dans Windows Terminal

20 août 2021 à 09:55

Windows Terminal vous permet de créer plusieurs profils de shell différents.
Voici comment ajouter un nouveau profil sous Windows Terminal.

Dans Windows 11 et Windows 10, Microsoft propose une nouvelle application de Terminal.
Celle-ci regroupe tous les Shells dans une seule application pour centraliser la ligne de commandes.
Ainsi avec Windows Terminal, vous pouvez ouvrir un Shell PowerShell, Invite de commandes, une distribution Linux Ubuntu, Debian ou autres via WSL mais aussi Azure Cloud Shell.
Les applications et les développeurs peuvent également ajouter un nouveau profil dans le terminal Windows. C'est l'une des raisons pour lesquelles vous voyez le shell Linux dans Windows Terminal dès que vous installez un système d'exploitation basé sur Linux via le sous-système Windows pour Linux.
Outre les profils par défaut, il peut y avoir des situations dans lesquelles vous devez créer des profils personnalisés sous Windows Terminal. Le nouveau profil peut être un nouveau shell ou dupliquer un shell existant ou un shell existant avec des arguments et une configuration personnalisée. Dans ces cas, vous pouvez facilement créer et ajouter un nouveau profil sous Windows Terminal.
Enfin puisque vous pouvez personnaliser les profils de terminal Windows individuellement, il sera facile de différencier les profils en double.

Ce tutoriel rapide et simple me permet de vous montrer comment ajouter un nouveau profil sous Windows Terminal.

Comment ajouter un nouveau profil dans Windows Terminal

Comment ajouter un nouveau profil dans Windows Terminal

  • Ouvrez Windows Terminal
  • Puis cliquez sur le menu déroulant sur la barre de titre
  • Sélectionnez l'option Paramètres. Notez que vous pouvez accéder directement aux paramètres par le raccourci clavier : CTRL+,
Ouvrir les paramètres du terminal de Windows
  • Ensuite cliquez sur Ajouter un nouveau profil dans le menu de gauche
Comment ajouter un nouveau profil dans Windows Terminal
  • Vous avez la possibilité de dupliquer un profil existant. Pour créer un nouveau profil de zéro, cliquez sur le bouton bleu en haut Nouveau profil vide
Comment ajouter un nouveau profil dans Windows Terminal
  • Puis saisissez les informations du profil, commencez par saisir un Nom
  • Puis dans ligne de commandes, cliquez sur Parcourir pour naviguer dans vos dossiers et sélectionnez l'exécutable du profil. Dans notre exemple, j'ajoute l'exécutable de Cygwin

(Facultatif) Si vous souhaitez définir un répertoire de départ personnalisé, vous pouvez le faire en décochez la case "Utiliser le répertoire de processus parent" et en ajoutant le chemin au champ Démarrer le répertoire.
Cette option est bénéfique si vous souhaitez que la coquille commence dans un répertoire spécifique plutôt que dans le répertoire par défaut.

Comment ajouter un nouveau profil dans Windows Terminal
  • Puis dans Icône, cliquez sur Parcourir pour sélectionner l'icône du profil, en général, en sélectionnant le fichier EXE. Sinon utilisez le fichier C:\Windows\system32\shell32.dll ou C:\Windows\System32\imageres.dll pour ouvrir la bibliothèque d'icônes de Windows
Comment ajouter un nouveau profil dans Windows Terminal
  • Enfin saisissez le nom de l'onglet tel qu'il apparaîtra lorsque vous ouvrez ce dernier
Comment ajouter un nouveau profil dans Windows Terminal
Vous pouvez personnaliser l'affichage de ce profil, notamment en modifiant l'image d'arrière plan pour mieux identifier ce dernier.
Cela se fait depuis le menu Apparence. Pour plus de détails, suivre ce tutoriel : Comment changer l'image d'arrière plan de Windows Terminal (Personnalisation).
  • Enfin cliquez sur Enregistrer en bas à droite
Comment ajouter un nouveau profil dans Windows Terminal
  • Le nouveau profil Windows Terminal s'ajoute dans la liste de gauche
Comment ajouter un nouveau profil dans Windows Terminal

Enfin vous pouvez très facilement ouvrir ce nouveau profil :

  • Cliquez sur le menu déroulant sur la barre de titre
  • Le nouveau profil doit apparaître, cliquez dessus
Comment ajouter un nouveau profil dans Windows Terminal
  • Dans mon cas, Cygwin s'ouvre dans une fenêtre différente et pas dans Windows Terminal
Comment ajouter un nouveau profil dans Windows Terminal
Bravo ! vous avez réussi à ajouter et créer un nouveau profil sur Windows Terminal.

L’article Comment ajouter un nouveau profil dans Windows Terminal est apparu en premier sur malekal.com.

Comment ouvrir Windows Terminal sur Windows 11

19 août 2021 à 14:00

Windows Terminal est l'application de terminal par défaut dans Windows 11.
Voici plusieurs façons faciles pour ouvrir Windows Terminal dans Windows 11.

Contrairement à Windows 10, Windows Terminal est l'application de terminal par défaut dans Windows 11.
Il est est moderne, rapide et puissant avec une interface utilisateur unifiée pour accéder à toutes les shell de Windows dans un emplacement centralisé avec une interface utilisateur à onglets.
Vous pouvez créer plusieurs profils avec différentes configurations de shell : PowerShell, WSL, Azure Cloud Shell ou Invite de commandes.
Sans parler, le soutien aux fonctionnalités avancées telles que le rendu GPU, la transparence, opacité, etc.

Ce tutoriel rapide et simple vous montre les différentes manières d'ouvrir Windows Terminal dans Windows 11.

Comment ouvrir Windows Terminal sur Windows 11

Comment ouvrir Windows Terminal sur Windows 11

Depuis le clic droit du menu Démarrer

Les outils Windows les plus utilisés sont toujours disponibles dans le menu Win + X.. Auparavant, Windows PowerShell est disponible dans le menu Win + X. Dans Windows 11, cette option a été remplacée par le terminal Windows.
C'est la façon la plus rapide pour accéder au Terminal de Windows 11.

  • Appuyez sur le raccourci
    + X ou cliquez avec le bouton droit de la souris sur le menu Démarrer.
  • Dans le menu Flyout, sélectionnez l'option "Windows Terminal". Si vous souhaitez ouvrir le terminal Windows avec les droits de l'administrateur, sélectionnez l'option "Terminal Windows (admin)"
Ouvrir Windows Terminal sur Windows 11 avec le clic droit du menu Démarrer

Par les applications du menu Démarrer

Voici une méthode classique puisqu'elle consiste à ouvrir l'application Terminal à partir de la liste des applications du menu Démarrer de Windows 11.

  • Cliquez sur le menu Démarrer de Windows 11
  • Puis en haut à toutes les applications
Ouvrir toutes les applications du menu Démarrer de Windows 11
  • Descendez dans les W pour ouvrir le Windows Terminal
Ouvrir Windows Terminal sur Windows 11 avec le menu Démarrer

Avec la commande wt

Comme avec une invite de commande ou PowerShell, vous pouvez également ouvrir Windows Terminal à l'aide de la commande Exécuter. Voici comment faire.

  • Sur votre clavier, appuyez sur les touches
    + R
  • puis dans la fenêtre exécutez saisissez wt
  • Windows Terminal s'ouvre
Ouvrir Windows Terminal sur Windows 11 avec la commande wt
  • Windows Terminal s'ouvre avec le profil par défaut

Par la recherche Windows

  • Ouvrez le menu Démarrer de Windows 11
  • Ensuite saisissez Windows Terminal afin de lancer une recherche
  • Enfin cliquez sur le résultat pour ouvrir l'application Terminal
Ouvrir Windows Terminal sur Windows 11 par la recherche Windows
  • Vous accédez à l'application Windows Terminal

Depuis le bureau de Windows 11

Cette autre méthode est aussi très rapide pour accéder à Windows Terminal.

  • Accédez au bureau de Windows 11
  • Faites un clic droit pour ouvrir le menu contextuel
  • Puis cliquez sur Ouvrir dans Windows Terminal
Ouvrir Windows Terminal  de Windows 11 depuis le bureau de Windows 11

Depuis l'explorateur de fichiers

Saviez-vous que vous pouvez ouvrir le terminal Windows directement à partir d'Explorateur de fichiers? La meilleure chose à propos de cette méthode est qu'elle ouvrira directement la terminaison Windows dans le dossier de votre choix plutôt que dans le dossier de maison ou le dossier System32 par défaut.
Ceci est très utile si vous ne voulez pas naviguer dans un dossier après avoir ouvert le terminal Windows manuellement.

Pour ouvrir le terminal Windows depuis l'explorateur de fichiers :

  • Appuyez sur
    + E pour ouvrir l'explorateur de fichiers
  • Ouvrez le disque vers le dossier qui vous interresse
  • Puis cliquez avec le bouton droit de la souris sur le dossier
  • Enfin sélectionnez l'option Ouvrir dans la borne Windows
Ouvrir Windows Terminal sur Windows 11 avec l'explorateur de fichiers
  • Windows Terminal s'ouvre sur le dossier

Depuis le gestionnaire de tâches

Enfin dans cette dernière méthode pour accéder à Windows Terminal, je vous propose de le faire depuis le gestionnaire de tâches.
Cela est utile, si le menu Démarrer de Windows 11 se bloque ou ne répond pas.

Ouvrir le gestionnaire de tâches sur Windows 11
  • Ensuite cliquez sur le menu Fichier > Exécuter une nouvelle tâche
  • Saisissez wt puis cliquez sur OK. Pour ouvrir Windows Terminal en administrateur, cochez l'option Créez cette tâche avec les privilèges d'administration
Ouvrir Windows Terminal sur Windows 11 avec le gestionnaire de tâches
  • Vous arrivez sur l'interface de Windows Terminal

L’article Comment ouvrir Windows Terminal sur Windows 11 est apparu en premier sur malekal.com.

How to reset an Active Directory password with PowerShell

10 août 2021 à 17:06
Par : Leos Marek

Active Directory (AD) account password reset is a common task for support personnel. In this post, we will take a look at several possibilities for how to reset an AD password using PowerShell.

The post How to reset an Active Directory password with PowerShell first appeared on 4sysops.

Display the progress of long-running tasks in PowerShell with Show-Progress instead of Write-Progress

28 juillet 2021 à 15:44

The Show-Progress function provides a nice, compact way to display the progress of longer-running tasks in PowerShell. You can use it as a replacement for Write-Progress. While this has the advantage of being a "native" cmdlet with a few options to customize the progress of tasks, it occupies a bit of real estate in the PowerShell window (the upper portion of the console), sometimes hiding interesting information. The Show-Progress function is only a single line of text, at the current cursor position, and does not hide any output or status messages from other commands.

The post Display the progress of long-running tasks in PowerShell with Show-Progress instead of Write-Progress first appeared on 4sysops.

Comment copier ou déplacer des fichiers avec PowerShell

8 juillet 2021 à 09:49

PowerShell est un Shell puissant disponible sur Windows 7, 8 et 10.
Il existe des commandes et cmdlet pour copier et déplacer des fichiers avec Copy-Item et Move-Item.

Dans ce tutoriel, je vous donne plusieurs exemples pour utiliser les commandes PowerShell afin de copier ou déplacer des fichiers avec PowerShell.

Comment copier ou déplacer des fichiers avec PowerShell

Comment copier avec PowerShell

Copier un fichier

L'utilisation du cmdlet Copy-Item est assez identique à la commande CMD copy.

Voici la syntaxe pour copier un fichier où on spécifie le chemin du fichier source et le dossier de destination :

Copy-Item "nomfichier" "C:\dossier\destination\dossier"

ou

Copy-Item "nomfichier" -Destination "C:\dossier\destination\dossier"
Copier un fichier en PowerShell

Par défaut, PowerShell n'affiche pas les fichiers copiés. Pour obtenir la liste, ajoutez -PassThru :

Copy-Item "latencymon.jpg" "C:\Users\Mak\Desktop" -PassThru
Copier un fichier en PowerShell

Pour copier un fichier en renommant le fichier de destination, spécifiez le nom du fichier :

Copy-Item "nomfichier" -Destination "C:\dossier\destination\dossier\nouveau-nom-fichier"

On peut aussi spécifier un UNC pour copier des fichiers par le réseau.
Par exemple pour copier le fichier \\PC1\Partage\fichier.txt vers \\PC2\Partage2\fichier2.txt.

Copy-Item "\\PC1\Partage\fichier.txt" -Destination "\\PC2\Partage2\fichier2.txt"

Copier un dossier en recursif avec arborescence complète

Pour copier les dossiers en récursif et ainsi copier l'arborescence, on utilise l'option -Recurse :

Copy-Item -Path "C:\Logfiles\*" -Destination "C:\Drawings" -Recurse
Copier un dossier en recursif avec arborescence complète

On peut aussi utiliser Get-ChildItem que l'on pipe vers Copy-Item.
Par exemple pour copier le dossier C:\Dossier vers D:\Dossier1

Get-ChildItem -Path C:\Dossier\ | Copy-Item -Destination C:\Dossier1 -Recurse

Ainsi, on peut aussi filtrer sur l'extension de fichiers.
Pour copier tous les fichiers avec l'extension png vers le dossier C:\Users\Mak\Desktop.

Get-ChildItem -Path ".\*.png" -Recurse | Copy-Item -Destination "C:\Users\Mak\Desktop"

Copier un fichier ou dossier sur un ordinateur distant

Tout d'abord, on créé une session sur l'ordinateur distant nommé PC01 avec les informations d'identification de MaK\Utilisateur01 que l'on stocke dans une variable $Session.
Ensuite on utilise cette session pour copier le fichier local C:\Dossier\journal.log vers le dossier distant D:\Dossier

$Session = New-PSSession -ComputerName "PC01" -Credential "MaK\Utilisateur01"
Copy-Item "C:\Dossier\journal.log" -Destination "D:\Dossier\" -ToSession $Session

En suivant le même principal, on peut aussi copier l'intégralité d'un dossier local vers un ordinateur distant.

$Session = New-PSSession -ComputerName "PC01" -Credential "MaK\Utilisateur01"
Copy-Item "C:\Dossier\" -Destination "D:\Dossier\" -ToSession $Session

Enfin pour copier l'arborescence complète, ajoutez -Recurse :

$Session = New-PSSession -ComputerName "PC01" -Credential "MaK\Utilisateur01"
Copy-Item "C:\Dossier\" -Destination "D:\Dossier\" -ToSession $Session -Recurse

Comment déplacer avec PowerShell

Pour déplacer des fichiers avec PowerShell, on utilise le cmdlet Move-Item.
Ce dernier fonctionne exactement comme Copy-Item.

Ainsi on peut utiliser exactement les mêmes exemples que donnés précédemment.

Move-Item Image.jpg C:\Downloads

Mais aussi avec Get-ChildItem :

Get-ChildItem -Path ".\*.jpg" -Recurse | Move-Item -Destination "D:\Downloads"

L’article Comment copier ou déplacer des fichiers avec PowerShell est apparu en premier sur malekal.com.

Comment copier des fichiers en invite de commandes (CMD)

30 mars 2020 à 13:39

Parfois, on peut avoir besoin de copier des fichiers depuis l'invite de commandes de Windows.
Mais comment faire un copier coller sur cmd ?
En effet parfois lorsque Windows 10 plante au démarrage et que l'on n'a accès qu'aux options de récupération et de dépannage.

Dans cet article, nous allons voir comment copier un dossier en ligne de commande Windows.
Notamment avec la commande xcopy ou copy.

Comment copier des fichiers en invite de commandes

Comment copier des fichiers en invite de commandes

Copier des fichiers consiste donc à faire en quelque sorte, un copier / coller du contenu d'un dossier vers l'autre.
Ainsi, on définit :

  • Une source : comme un dossier ou un fichier. Ce dernier est ensuite copier vers la destination.
  • La destination : c'est l'emplacement de destination du disque vers lequel le fichier ou dossier est copier.

On peut copier un fichier ou un dossier et même une arborescence complète.
Dans ce dernier cas, le dossier, les sous-dossiers est alors copier en intégralité.

Pour copier des fichiers en invite de commandes, Windows propose plusieurs commande : copy, xcopy et robocopy.
Les deux premières sont de vieilles commandes issues de MS-DOS et encore présentes dans Windows.

La différence essentielle entre les deux commandes copy et copy est que lorsque vous fournissez le chemin d'un dossier à copier, seuls les fichiers de ce dossier seront copiés vers la destination spécifiée.
Alors que xcopy copiera le dossier lui-même ainsi que son contenu (sous réserve des indicateurs utilisés avec la commande) vers la destination spécifiée.

Attention si votre objectif est de sauvegarder et récupérer vos données lorsque Windows est planté.
Il existe des solutions plus simples à bas de Live USB de secours comme le Live CD Malekal.
Toutes les solutions sont indiquées dans la page : Comment récupérer ses données lorsque Windows 10 est planté.

copy

Attention, la commande copy ne copie par l'arborescence complète. Ainsi, les sous-dossiers et leurs contenus ne sont pas copiés.
Pour copier une arborescence complète en invite de commandes, il faut utiliser xcopy.

Pour copier des fichiers, dossiers depuis l'invite de commandes :

copy source destination
La source peut-être un dossier ou fichier.

Ainsi pour copier un fichier spécifique, vous pouvez utiliser xcopy de cette manière :

copy C:\Superdossier\compte-local-VS-compte-Microsoft.png F:\sauvegardes-donnees
Comment copier des fichiers en invite de commandes avec copy

L'invite de commandes indique alors un fichier copié.

Puis par exemple pour copier tous les fichiers du dossier C:\Superdossier vers F:\Sauvegardes-donnees.
Il faudra utiliser la commande copy de cette manière :

copy C:\superdossier F:\sauvegardes-donnees
Comment copier des fichiers en invite de commandes avec copy
Bravo ! vous avez réussi à copier vos données en invite de commandes avec copy.

Enfin copy reconnaît quelques paramètres mais restent assez limités :

/AIndique un fichier texte ASCII.
/BIndique un fichier binaire.
/D Permet au fichier cible d’être créé sous forme déchiffrée.
/VVérifie l’écriture du ou des fichiers cible.
/NUtilise un nom de fichier court, s’il est disponible, lors de la copie d’un fichier ayant un nom supérieur à 8.3 caract.
/YSupprime la confirmation de remplacement d’un fichier cible existant.
/-YDemande une confirmation pour remplacer un fichier cible existant.
/ZCopie les fichiers réseau en mode redémarrage.
/LSi la source est un lien symbolique, copie le lien sur la cible plutôt que le fichier sur lequel pointe le lien source.

Par exemple le paramètre /v permet de vérifier que la copie s'est correctement déroulée.

Xcopy

xcopy va donc plus loin puisqu'il permet de copier l'intégralité d'une arborescence sous DOS.
Ils propose aussi beaucoup de paramètres.
C'est donc la commande idéal pour sauver vos données quand vous n'avez plus qu'accès à l'invite de commandes.

La syntaxe basique donne ceci :

xcopy source destination /E /C /H /R /K /O /Y

Pour copier toute l'arborescence, c'est à dire un dossier et les données contenues dans les sous-dossiers, il faut utiliser le paramètre /E.
Soit dans notre exemple :

xcopy C:\superdossier F:\sauvegardes-donnees /E
Comment copier des fichiers en invite de commandes avec xcopy
Bravo ! vous avez réussi à copier vos fichiers en invite de commandes avec xcopy.

Voici la liste des principaux paramètres de la commande xcopy :

/E Copie les répertoires et sous-répertoires, y compris les répertoires vides.
/C Continue la copie même si des erreurs se produisent.
/HCopie également les fichiers cachés et les fichiers systèmes.
/RRemplace les fichiers en lecture seule.
/SCopie les répertoires et sous-répertoires à l'exception des répertoires vides.
/T Crée la structure de répertoires mais ne copie pas les fichiers. N'inclut pas les répertoires ou sous-répertoires vides. /T /E incluent les répertoires et sous-répertoires vides.
/KCopie les attributs de fichiers. Xcopy normal réinitialise les attributs en lecture seule.
/UCopie seulement les fichiers existants déjà dans la destination.
/OCopie la propriété du fichier et les informations ACL.
/YSupprime l'invite à confirmer que vous souhaitez remplacer un fichier de destination existant.
/L Affiche les fichiers devant être copiés.

Je vous rappelle que vous pouvez afficher l'aide de cette manière :

xcopy /?
Comment copier des fichiers en invite de commandes avec xcopy

Par exemple ici xcopy va copier les fichiers cachés et en lecture seule et créer le dossier de destination et les sous-dossiers s'ils n'existent pas.

xcopy C:\superdossier F:\sauvegardes-donnees /D /E /C /R /H /I /K /Y

xcopy permet par exemple de copier une arborescence sans les fichiers Windows avec le paramètre T.

Comment copier des fichiers en invite de commandes avec xcopy

On voit bien que xcopy a copié l'arborescence complète sans les fichiers.

Robocopy

Enfin robocopy est une commande plus moderne est apparue plus tard.
Elle permet de créer le miroir d’une arborescence.

En effet, il est capable de copier que les fichiers modifiés, générer un journal, etc.
C'est donc une commande beaucoup plus sophistiqués pour copier vos fichiers depuis l'invite de commandes.

On l'utilise donc plutôt pour de la réplication de données et de sauvegarde.

Exemple de copies de fichiers en invite de commandes

CMD propose plusieurs options ou astuces pour copier des fichiers.
Voici quelques exemples.

Copier de multiples fichiers

Imaginons que vous ne souhaitez que copier des fichiers avec une extensions particulières.
Par exemple pour copier que les fichiers Excel d'une source.
Cela est possible grâce au caractère joker (ou wildcard).
Il faut alors utiliser *. voulant dire : tous les fichiers avec n'importe quel nom.

Ainsi cela donne :

copy *.xls F:\sauvegardes donnees

Cela est très pratique pour filtrer les copies de fichiers depuis l'invite de commandes.

Copier des dossiers ou fichiers avec des espaces

Une remarque concernant les dossiers avec des espaces en source ou destination.
Pour copier des dossiers avec des espaces en invite de commandes, vous devez les entourer de guillemets.
Il s'agit du caractère " accessibles avec la touche 3 du clavier.

Par exemple ici on copie des dossiers avec des espaces.
Il faut alors les encadrer avec le caractère ".

xcopy "C:\super dossier" "F:\sauvegardes donnees" /E
Copier des dossiers ou fichiers avec des espaces en invite de commandes

Voici quelques autres exemples de copies de fichiers en invite de commandes.

Copier des fichiers en renommant le fichier de destination

Si vous spécifiez le fichier de destination dans la commande, cela va alors le renommer.
Par exemple pour changer le nom de l'image source :

copy C:\Superdossier\compte-local-VS-compte-Microsoft.png F:\sauvegardes-donnees\les-comptes-utilisateurs-windows.png

Utilisation des variables d'environnements

On peut bien entendu utiliser les variables d'environnements de Windows.
Par exemple pour copier les fichiers vers le dossier documents de l'utilisateur en invite de commandes.

Copy "C:\super dossier" %USERPROFILE%\Documents\

Comment copier des fichiers en invite de commandes en vidéo

L’article Comment copier des fichiers en invite de commandes (CMD) est apparu en premier sur malekal.com.

ScriptRunner Portal Edition: Manage PowerShell scripts throughout your organization

7 juillet 2021 à 17:17

Managing PowerShell across an organization can be difficult. ScriptRunner Portal Edition R1 is a PowerShell management platform with a new web portal for PowerShell script administration.

The post ScriptRunner Portal Edition: Manage PowerShell scripts throughout your organization first appeared on 4sysops.

Import Microsoft Defender Firewall rules from an Excel sheet with PowerShell in Windows 10

6 juillet 2021 à 18:58

With my PowerShell script, you can easily import rules from an Excel sheet to the Microsoft Defender Firewall in Windows 10. The script reads the ports that need to be opened or blocked from a simple CSV file.

The post Import Microsoft Defender Firewall rules from an Excel sheet with PowerShell in Windows 10 first appeared on 4sysops.
❌