[Utilisation d'ISE]
J'ai: '$ ($ udvTest | Select ProcessName -Last 1)'
où $ udvTest
contient 5 processus en tant que membres provenant de Get-Process
.
J'obtiens les 3 lignes suivantes:
ProcessName ----------- svchost
Mais je ne veux que la chaîne "svchost" comme sortie (par exemple pour un traitement ultérieur). Qu'est-ce que je néglige pour que cette petite faveur demandée à PS semble si cachée?
4 Réponses :
$(($udvTest | Select -Last 1).ProcessName)
La voie pure PowerShell serait ceci: ou pour votre exemple particulier: p>
"PS semble tellement caché"
En fait, le fait que vous voyez une table d'informations est un indice sur l'une des meilleures choses à propos de PowerShell: les objets. Celles-ci vous rendent la vie tellement plus facile que la manipulation directe de texte.
Quoi qu'il en soit, une façon d'obtenir les informations que vous voulez est:
$udvTest[-1].ProcessName
Depuis $ udvTest
est un tableau, vous pouvez l'indexer pour trouver l'élément que nous voulons. Si vous fournissez un index négatif, PowerShell comptera le de la fin au début, donc [-1]
signifie prendre le dernier élément.
Le .ProcessName
est un autre indicateur que vous traitez avec des objets et obtiendra la valeur de la propriété ProcessName pour vous.
Merci beaucoup! Je vois maintenant que je dois donner la propriété 'ProcessName' pour en récupérer la valeur pure. Meilleur!