Projet

Général

Profil

Function Write-Properties

function Write-Properties($InputObject, $PropertyName ="*", [Switch] $Passthru, [Switch] $Silently)

Cette fonction affiche le détail de toutes les propriétés d'un objet. Par défaut Powershell affiche une liste de propriétés les plus utilisés ou les plus pertinentes.
Par exemple l'affichage pour un fichier
$F=dir C:\AUTOEXEC.BAT
$F

ce résume à :
    Répertoire : Microsoft.PowerShell.Core\FileSystem::C:\

Mode           LastWriteTime       Length Name
----           -------------       ------ ----
-a---    07/03/2007    16:30            0 AUTOEXEC.BAT

L'utilisation de Write-properties affiche le contenu de toutes les propriétés de l'objet :
Write-Properties $F #ou wp $F
Attributes : Archive
BaseName : AUTOEXEC
CreationTime : 03/07/2007 16:30:06
CreationTimeUtc : 03/07/2007 15:30:06
...
PSProvider : Microsoft.PowerShell.Core\FileSystem
ReparsePoint :

Pour les objets imbriqués, le détail n'est pas affiché.

Cette fonction émet également ces informations vers le debugger actif au moment de l'appel, par exemple Visual Studio, ou l'utilitaire gratuit DebugView.

Autres exemples :

$a=dir
 # Affiche sur la console
Write-Properties $a[-1]

 # Affiche sur la console et émet l'objet dans le pipe
Write-Properties $a[-1] -pass |%{Write-host $_ -fore DarkGreen}

 #Affiche sur la console la propriété Name et récupére du  pipe la liste des fichiers
$Fichiers=$A|Where {$_.psiscontainer -eq $false}|Write-Properties -PropertyName Name -pass
$Fichiers

 #émet les datas dans le pipe, aucun affichage sur la console
Write-Properties $a[-1] -pass -silently |%{Write-host $_ -fore DarkGreen}

  # Affiche uniquement les propriétés listées
wp $A[-1] Name,Extension,L*