L'impression d'un tableau en Powershell
Je suis en train d'imprimer un tableau (j'ai essayé les deux avec une boucle for et directement avec .ToString()
), mais j'ai toujours obtenir un System.Object
de sortie.
Le contenu du tableau est le résultat de cette commande:
$singleOutput = Invoke-Command -ComputerName $server -ScriptBlock {
Get-ChildItem C:\*.txt -Recurse |
Select-String -Pattern "password" -AllMatches
}
C'est le résultat que j'obtiens:
Système.Object[]
Ce qui me manque?
EDIT:
C'est l'ensemble de la fonction:
foreach ($server in $servidores) {
$result = @()
Write-Output ("---Searching on Server:---" + $server + "----at:" +
(Get-Date).ToString() + "----")
$singleOutput = Invoke-Command -ComputerName $server -ScriptBlock {
Get-ChildItem C:\*.txt -Recurse |
Select-String -Pattern "password" -AllMatches
}
$result += $singleOutput
Write-Host $result.ToString()
}
Read-Host -Prompt "Press Enter to exit"
J'ai aussi essayé avec:
foreach ($i in $result) {
$result[$i].ToString()
}
- C'est un tableau d'objets, tout droit. Pourquoi êtes-vous l'impression de " tostring()'? La sortie en voulez-vous? Êtes-vous l'écriture de l'objet ou write-host " ing-il?
- Je puis ajouter $result += $singleOutput (déclarée d'abord $result = @())
- Je suis en utilisant write-host
"$result"
au lieu de$result.ToString()
- Au lieu de
Write-Host $result.toString()
, utilisezWrite-Host ($result -join "`r`n")
ou$result
.
Vous devez vous connecter pour publier un commentaire.
Vous utilisez
Select-String
, qui produitMatchInfo
objets. Puisqu'il semble que vous voulez l'ensemble de la correspondance des lignes des fichiers, vous devriez probablement de retour juste la valeur de laLine
propriété de laMatchInfo
objets. Aussi, votre tableau de manipulation est beaucoup trop compliqué. Juste sortie quelle que soitInvoke-Command
retourne et la capture de la boucle de sortie dans une variable. Pour la sortie de l'état de l'intérieur de la boucle d'utilisationWrite-Host
, de sorte que les messages ne sont pas saisis dans$result
.Si vous avez aussi besoin du nom d'hôte pourrait ajouter avec un propriété calculée et le retour des objets personnalisés:
De la sortie d'un tableau tout simplement en se faisant l'écho de la variable de tableau:
Pour obtenir personnalisé format de sortie, vous pouvez par exemple utiliser le format de l'opérateur (
-f
):