Archive

Archives pour la catégorie ‘Powershell’

Les dimensions d’une images avec Powershell

Cela ne va pas servir tous les jours mais voici comment obtenir les dimensions d’une image avec Powershell.

$image = New-Object -ComObject Wia.ImageFile            
$image.LoadFile(".\image.jpg")            
$image.Width, $image.Height

Categories: Powershell Tags: ,

Générer un nombre aléatoire

Voici comment générer un nombre aléatoire à 4 chiffres.

$rand = New-Object System.Random
[char]$rand.next(1000,9999)

Categories: Powershell Tags:

Convertir un texte au format nom propre.

Un moyen simple permet de convertir un chaîne de texte au format nom propre.

(Get-Culture).TextInfo.ToTitleCase("string")

Cette méthode peut gérer les espaces, « , », « - » et « _ ». tous les mots de la chaîne seront traités.
La première lettre de chaque mots sera mise en majuscule et le reste n minuscule.

Categories: Powershell Tags:

Rechercher du texte dans une chaîne ou un fichier

A la manière d’un Grep sous Unix, il est possible avec la commande Select-String de rechercher un texte dans un fichier de logs.

Select-String -Path .\test.txt -Pattern "rechercher ce texte" -Context 0,2

Avec le paramètre Context, il est possible d’afficher les lignes précédentes ou suivant à la ligne ou se trouve le texte recherché.

Categories: Powershell Tags: ,

Recherche DNS avec Powershell.

Voici comment effectuer une recherche DNS avec Powershell à partir d’un FQDN ou d’une adresse IP.

A partir du nom complet DNS:

[System.Net.Dns]::GetHostAddresses('server001.domain.com') | fl

A partir de l’dress IP.

[System.Net.Dns]::GetHostbyAddress('192.168.4.67') | fl

Categories: Powershell Tags: ,

Sélectionner le dernier fichier créé.

Voici la méthode pour sélectionner les dernier fichier qui a été créé dans un dossier.
Cela me permet de récupérer le dernier fichier de logs ou de traiter le dernier rapport.

$file = Get-ChildItem -Path .\Logs -recurse -include *.log | Sort-Object -Property CreationTime | Select-Object -Last 1
$file

Categories: Powershell Tags:

Trouver les fichiers datant de plus d’un mois.

Dans la continuité de l’article précédent voici comment afficher tous les fichiers non modifiés depuis plus d’un mois.

$date= (get-date).AddMonths(-1)
Get-ChildItem * | Where-Object {$_.LastWriteTime -lt $date} | Select-Object LastWriteTime,Name,DirectoryName

Categories: Powershell Tags:

Voyager dans le temps.

Pour voyager dans le temps un peu comme McFly.
Il est possible de définir une valeur de temps dans le passé ou le futur par rapport à la date actuelle.

Dans le futur:
Exemple: Ajouter 10 jours à la date actuelle.

$date = (get-date).AddDays(10)

Dans le passé:
Exemple: Ajouter 6 heures à la date actuelle.

$date = (get-date).AddHours(-6)

Il est possible de remplacer « AddDays » par:
AddHours
AddMinutes
AddMonths
AddSeconds
AddYears

Categories: Powershell Tags:

Envoyer la valeur d’une variable dans un fichier.

Permet de transférer la valeur d’une variable dans un fichier texte.

$christophe = get-mailbox *christophe*
Set-Content christophe.txt $christophe

Categories: Powershell Tags: ,

Modifier le contenu d’un fichier texte.

Voici quelques commandes pour traiter un fichier texte.

Supprimer les lignes contenant une chaine de caractères:

Get-Content .\fichier.txt | where { $_ -notmatch "Ligne à supprimer" }

Conserver les lignes contenant une chaine de caractères:

Get-Content .\fichier.txt | where { $_ -like "Ligne à garder*" }

Remplacer ou supprimer une chaine de caractère dans toutes les lignes:

Get-Content .\fichier.txt | foreach { $_ -replace "Mailbox: ","" }

Supprimer les lignes vides:

Get-Content .\fichier.txt | where { $_ -ne "$null" }

Categories: Powershell Tags: