我试图打印一个数组(我试图用for循环和直接与.ToString()
),但我总是得到一个System.Object
输出。在Powershell中打印数组
数组的内容是这个命令的结果:
$singleOutput = Invoke-Command -ComputerName $server -ScriptBlock {
Get-ChildItem C:\*.txt -Recurse |
Select-String -Pattern "password" -AllMatches
}
这是我得到的输出:
System.Object[]
我缺少什么?
编辑:
这是整个功能:
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"
我也试图与:
foreach ($i in $result) {
$result[$i].ToString()
}
这是一组对象,没事。你为什么用'tostring()'打印?你想要什么输出?你是写对象还是写主机? – TessellatingHeckler
然后我添加$ result + = $ singleOutput(声明的第一个$ result = @()) –
我正在使用写主机 –