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\ |
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\
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 |
Select-String
permet de rechercher dasn un ou plusieurs fichiers une chaîne de caractère.
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 :
PS C:\> Select-String -Path C:\Temp\*.txt -Pattern "formation"
PS C:\> Get-ChildItem C:\Temp -include *.txt -recurse | Select-String -Pattern "formation"
PS C:\> Get-ChildItem *.ps1 | Select-String -pattern ("[0-9](3).[0-9](3).[0-9](3).(3)")
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 |
Import-csv
^Paramètre ^Description ^
Path | Chemin du fichier source |
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 ...