windows:powershell:navigation
Table des matières
PowerShell
Manipulation des fichiers et dossiers
Alias des commandes cmd
CMD | CmdLet | Syntaxe |
---|---|---|
DIR | Get-ChildItem | Get-ChildItem -patch “C:\Program Files\PowerShell\7” |
CD | Set-Location | Set-Location E:\Users\ |
MD | New-Item | New-Item -type directory “myrep” |
RD | Remove-Item | Remove-Item C:\temp\*.log |
Move | Move-Item | Move-Item –path C:\Temp\*.txt –destination C:\Temp\TXT\ |
Ren | Rename-Item | Rename-Item –path Journal.txt new_journal.txt |
Copy | Copy-Item | Copy-Item –path C:\Temp\journal.txt –destination C:\Temp\TXT\ |
Explorer les dossiers
La commande Get-ChildItem
permet de visualiser les objets présents dans un dossier.
PS C:\> Get-ChildItem -Path C:\Windows\ -Directory #_Renvoie un tableau contenant quelques dizaines de répertoires PS C:\> Get-ChildItem -Path C:\Windows\ -Directory | ForEach-Object { $_.name } #_Renvoie une liste des noms de dossiers contenu dans C:\Windows\
Ecrire des données dans un fichier
4 CmdLets permettent d'écrire des données dans un fichier :
Set-Content | Ecrit les données sans les reformater. Ecrase le contenu du fichier de destination |
---|---|
Add-Content | Ecrit les données sans les reformater, à la fin du fichier s'il existe |
Out-File | Formate le flux avant d'écrire les données (voir options). |
Tee-Object | Comme Out-File, mais applique une double sortie : fichier & console powershell |
Recherche de contenu dans des fichiers
Select-String
permet de rechercher dasn un ou plusieurs fichiers une chaîne de caractère.
- Paramètres de Select-String
Paramètre | Description |
---|---|
Pattern | Chaîne ou RegEx à rechercher |
Path | Cible de la recherche : chaîne ou fichier |
Include | Récupère uniquement les éléments spécifiés |
Exclude | Omet les éléments spécifiés |
CaseSensitive | Respecte la casse |
List | Spécifie qu(une seule correspondance doit être retournée par fichier |
Quiet | Retourne une valeur booléenne TRUE si la chaîne est trouvée |
Exemples :
- Recherche des fichiers *.txt dans C:\Temp, contenant le mot “formation”
PS C:\> Select-String -Path C:\Temp\*.txt -Pattern "formation"
- Recherche des fichiers *.txt dans C:\Temp et ses sous-dossiers, contenant le mot “formation”
PS C:\> Get-ChildItem C:\Temp -include *.txt -recurse | Select-String -Pattern "formation"
- Expression régulière pour la recherche d'adresse IP
PS C:\> Get-ChildItem *.ps1 | Select-String -pattern ("[0-9](3).[0-9](3).[0-9](3).(3)")
Exporter / Importer en CSV
- Paramètres de
Export-csv
^Paramètre ^Description ^
Path | Chemin du fichier de destination |
InputObject | Accepte un objet comme entrée |
Force | Remplace le fichier si celu-ci existe déjà |
Encoding | Type d'encodage. Par défaut ASCII |
NoTypeInformation | Ne prend pas en compte l'en-tête |
NoGlobber | Ne pas écraser le fichier s'il existe |
- Paramètres de
Import-csv
^Paramètre ^Description ^
Path | Chemin du fichier source |
- Exemple
On liste le journal des événements applications, et enregistre les 100 premiers événements dans un fichier Event.csv.
Ecriture du fichier CSV
PS C:\> Get-EventLog application -newest 1000 | Sort-Object -property instanceid -Unique | Select-Object TimeGenerated, EntryType, Source, EventID, message | Export-csv C:\Temp\Event.csv -Delimiter ";" -NoTypeInformation -Encoding utf8
Lecture du fichier CSV
PS C:\> Import-csv C:\Temp\event.csv -Delimiter ";" TimeGenerated : 05/07/2022 08:58:33 EntryType : Information Source : edgeupdate EventID : 0 Message : Service stopped. TimeGenerated : 23/06/2022 14:10:31 EntryType : Warning Source : Microsoft-Windows-WMI EventID : 63 Message : Un fournisseur, DMWmiBridgeProv1, a été inscrit dans l’espace de noms Windows Management Instrumentation root\cimv2\mdm\dmmap, afin d’utiliser le compte LocalSystem. Ce compte bénéficie de privilèges et le fournisseur peut provoquer une violation de sécurité s’il ne représente pas correctement les demandes utilisateur. TimeGenerated : 04/07/2022 09:30:33 ...
windows/powershell/navigation.txt · Dernière modification : 2022/07/05 12:13 de zandor