Question
Questions/Réponses d'un vrai débutant
- Jean-Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 15 ans 4 mois #7998
par Jean-Christophe
Réponse de Jean-Christophe sur le sujet Questions/Réponses d'un vrai débutant
Merci Janel pour ces explications très claire 
je m'aperçois vraiment du nombre important de solution pour résoudre un pb. Il faut après avoir une grande expertise pour savoir laquelle utilisée avec ces avantages et ces défauts.
J'ai changé le sujet du post
Mon prochain objectif est le suivant :
grace à la commande suivante j'obtiens l'ensemble des propriété pour un fichier ou répertoire :
[code:1]Get-ChildItem|Get-Member[/code:1]
j'ai la commande :
[code:1]Get-ChildItem|Format-Table fullname,lastwritetime,directory -auto[/code:1]
je souhaiterais extraire de la première commande les propriétés pour les insérer dans la deuxième ligne de code. J'aurais ainsi l'affichage de l'ensemble des propritétés d'un fichier ou rep.
Surement évident pour vous, très peu pour moi.
Je m'y colle dès cet aprem midi et je reviens vers vous quand je bloque ou qui sait si j'ai trouvé une solution
JC
je m'aperçois vraiment du nombre important de solution pour résoudre un pb. Il faut après avoir une grande expertise pour savoir laquelle utilisée avec ces avantages et ces défauts.
J'ai changé le sujet du post
Mon prochain objectif est le suivant :
grace à la commande suivante j'obtiens l'ensemble des propriété pour un fichier ou répertoire :
[code:1]Get-ChildItem|Get-Member[/code:1]
j'ai la commande :
[code:1]Get-ChildItem|Format-Table fullname,lastwritetime,directory -auto[/code:1]
je souhaiterais extraire de la première commande les propriétés pour les insérer dans la deuxième ligne de code. J'aurais ainsi l'affichage de l'ensemble des propritétés d'un fichier ou rep.
Surement évident pour vous, très peu pour moi.
Je m'y colle dès cet aprem midi et je reviens vers vous quand je bloque ou qui sait si j'ai trouvé une solution
JC
Connexion ou Créer un compte pour participer à la conversation.
- Jean-Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 15 ans 4 mois #7999
par Jean-Christophe
Réponse de Jean-Christophe sur le sujet Questions/Réponses d'un vrai débutant
j'ai vraiment des conceptes qui m'échappent ...
Voilà mon pb, encore une fois tout bête :
je fais sur le shell les commandes suivantes :
[code:1]
$test=\"attributes,name\"
Get-ChildItem|Format-Table $test
[/code:1]
le résultat est le suivant :
J'ai essayé plusieurs syntaxe sans succès.
Une idée ??
(bon je pense que la solution que je proposerais pour le pb cité plus haut est vraiment une usine à gaz, alors que comme d'hab en 1 ligne de code ca sera réglé par les experts. J'espère pouvoir au moins trouver une solution seul avant de connaitre la bonne solution
)<br><br>Message édité par: Pouic, à: 4/11/10 16:36
Voilà mon pb, encore une fois tout bête :
je fais sur le shell les commandes suivantes :
[code:1]
$test=\"attributes,name\"
Get-ChildItem|Format-Table $test
[/code:1]
le résultat est le suivant :
Celà signifie que le contenu de ma variable n'est pas interprété comme paramètre de la command format-table mais comme données.attributes,name
J'ai essayé plusieurs syntaxe sans succès.
Une idée ??
(bon je pense que la solution que je proposerais pour le pb cité plus haut est vraiment une usine à gaz, alors que comme d'hab en 1 ligne de code ca sera réglé par les experts. J'espère pouvoir au moins trouver une solution seul avant de connaitre la bonne solution
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 15 ans 4 mois #8001
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Questions/Réponses d'un vrai débutant
Tu y étais presque :
[code:1]
$test = \"attributes\", \"name\"
get-childitem | format-table $test -auto
[/code:1]
La différence avec la syntaxe que tu donnais, c'est qu'ici $test est un tableau. Or, c'est ce qu'attend format-table : un tableau de propriétés. Extrait de l'aide de la commande :
Format-Table [[-Property] <Object[]>]
Object[] indique un tableau d'objets. En l'occurrence, on passe en argument un tableau de chaînes de caractères, chaque chaîne étant le nom d'une propriété qu'on veut afficher. Simple, non ?
[code:1]
$test = \"attributes\", \"name\"
get-childitem | format-table $test -auto
[/code:1]
La différence avec la syntaxe que tu donnais, c'est qu'ici $test est un tableau. Or, c'est ce qu'attend format-table : un tableau de propriétés. Extrait de l'aide de la commande :
Format-Table [[-Property] <Object[]>]
Object[] indique un tableau d'objets. En l'occurrence, on passe en argument un tableau de chaînes de caractères, chaque chaîne étant le nom d'une propriété qu'on veut afficher. Simple, non ?
Connexion ou Créer un compte pour participer à la conversation.
- Jean-Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 15 ans 4 mois #8004
par Jean-Christophe
Réponse de Jean-Christophe sur le sujet Re:Questions/Réponses d'un vrai débutant
Effectivement Janel, c'est simple quand on connait les petites subtilités que tu m'as indiqué 
bon voilà j'ai réussi à réaliser mon objectif. Par contre je pense que c'est bien sur la méthode la pire
La voici :
[code:1]
$prop=Get-ChildItem|Get-Member -MemberType Property|ForEach-Object {$_.name}
get-childitem | format-table $prop -autosize
[/code:1]
Bon il y a des inconvénients : vu le nombre trop important de propritété, la commande format-table ne me les affiches pas. N'y a t il pas un moyen de faire apparaitre un ascenseur horizontal voir de faire faire un retour en dessous.
J'avais trouvé la possiblité de formater chaque résultat de chaque propriété à la ligne en incluant directement dans mon foreach le format-table. Mais c'était pas mon objectif de départ.
Si vous avez des commentaires n'hésitez pas ...
bon je vais maintenant me tourner vers un vrai projet. :
Je dois chercher dans une arborescence l'ensemble des répertoires et fichiers qui n'ont plus de propriétaire car ce dernier à vu son compte AD effacé. Lorsque je trouve une ressource répondant à ce critère, je la supprime.
C'est parti.
JC
bon voilà j'ai réussi à réaliser mon objectif. Par contre je pense que c'est bien sur la méthode la pire
La voici :
[code:1]
$prop=Get-ChildItem|Get-Member -MemberType Property|ForEach-Object {$_.name}
get-childitem | format-table $prop -autosize
[/code:1]
Bon il y a des inconvénients : vu le nombre trop important de propritété, la commande format-table ne me les affiches pas. N'y a t il pas un moyen de faire apparaitre un ascenseur horizontal voir de faire faire un retour en dessous.
J'avais trouvé la possiblité de formater chaque résultat de chaque propriété à la ligne en incluant directement dans mon foreach le format-table. Mais c'était pas mon objectif de départ.
Si vous avez des commentaires n'hésitez pas ...
bon je vais maintenant me tourner vers un vrai projet. :
Je dois chercher dans une arborescence l'ensemble des répertoires et fichiers qui n'ont plus de propriétaire car ce dernier à vu son compte AD effacé. Lorsque je trouve une ressource répondant à ce critère, je la supprime.
C'est parti.
JC
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 15 ans 4 mois #8005
par Arthur
Réponse de Arthur sur le sujet Re:Questions/Réponses d'un vrai débutant
[code:1]get-childitem | format-table -Property * -AutoSize[/code:1]
J'avoue que je ne pige pas l'utilité de ton exo enfin bon c'est un exo faut pas comprendre.
Il ne me semble pas que l'on puisse avoir une barre horizontal dans la console.Enfin j'ai jamais regardé si on pouvait en créer une.
En revanche je pense que l'on peut coder une appli C# ou un snippet qui le permet.
Tu peut aussi utiliser la cmdlet \"Out-Gridview\" par exemple
Sinon bonne chance pour ton projet je ne vais pas te donné de conseils pour que tu cherche tout seul (
) mais si tu as un problème n’hésite pas à post sur le forum.
EDIT : Tout compte fait ma solution n'est pas bonne elle affiche les \"NoteProperty\" en plus des \"Property\"
Message édité par: bilbao, à: 5/11/10 12:29<br><br>Message édité par: bilbao, à: 5/11/10 12:35
J'avoue que je ne pige pas l'utilité de ton exo enfin bon c'est un exo faut pas comprendre.
Il ne me semble pas que l'on puisse avoir une barre horizontal dans la console.Enfin j'ai jamais regardé si on pouvait en créer une.
En revanche je pense que l'on peut coder une appli C# ou un snippet qui le permet.
Tu peut aussi utiliser la cmdlet \"Out-Gridview\" par exemple
Sinon bonne chance pour ton projet je ne vais pas te donné de conseils pour que tu cherche tout seul (
EDIT : Tout compte fait ma solution n'est pas bonne elle affiche les \"NoteProperty\" en plus des \"Property\"
Message édité par: bilbao, à: 5/11/10 12:29<br><br>Message édité par: bilbao, à: 5/11/10 12:35
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 4 mois #8006
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Questions/Réponses d'un vrai débutant
bilbao écrit:
[code:1]
[MTA] G:\temp> $host.ui.RawUI
ForegroundColor : Gray
BackgroundColor : Black
CursorPosition : 0,155
WindowPosition : 0,106
CursorSize : 25
BufferSize : 320,300 ***
WindowSize : 160,50 * max 160 sous PS !
MaxWindowSize : 160,62
MaxPhysicalWindowSize : 160,62
KeyAvailable : False
WindowTitle : G:\temp
get-childitem | format-table $prop -autosize
AVERTISSEMENT : 8 colonnes ne tiennent pas à l'écran et ont été supprimées.
[/code:1]
Avec 512 pour largeur \"Taille mémoire tampon écran\" tous les champs sont affichés.
Mais à mon avis ce n'est pas très pratique à l'usage, a moins de trouver l'API pour le faire directement dans la console
Je regarde ça dés que j'ai un peu de temps.
On peut utiliser les propriétés de la fenêtre :Il ne me semble pas que l'on puisse avoir une barre horizontal dans la console.Enfin j'ai jamais regardé si on pouvait en créer une.
[code:1]
[MTA] G:\temp> $host.ui.RawUI
ForegroundColor : Gray
BackgroundColor : Black
CursorPosition : 0,155
WindowPosition : 0,106
CursorSize : 25
BufferSize : 320,300 ***
WindowSize : 160,50 * max 160 sous PS !
MaxWindowSize : 160,62
MaxPhysicalWindowSize : 160,62
KeyAvailable : False
WindowTitle : G:\temp
get-childitem | format-table $prop -autosize
AVERTISSEMENT : 8 colonnes ne tiennent pas à l'écran et ont été supprimées.
[/code:1]
Avec 512 pour largeur \"Taille mémoire tampon écran\" tous les champs sont affichés.
Mais à mon avis ce n'est pas très pratique à l'usage, a moins de trouver l'API pour le faire directement dans la console
Je regarde ça dés que j'ai un peu de temps.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.044 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Questions/Réponses d'un vrai débutant