2015-07-22 2 views
1

У меня есть небольшой скрипт, который выводит текст в переменную. Мне нужно пройти через линию, чтобы разобрать ее. Я мог бы сделать это, выведя переменную в текстовый файл, а затем прочитав ее с помощью Get-Content, но это кажется немного избыточным.Итерация по переменной строка за строкой

Мой сценарий подключается к устройству Fortigate и запускает определенный запрос. Ответ - это то, что я ищу для анализа.

New-SshSession 10.0.0.138 -Port 65432 -Credential (Get-Credential) -AcceptKey 
$command = 'config router policy 
show' 
$result = Invoke-SSHCommand -Index 0 -Command $command 
+0

Почему я был отвергнут? Это не может быть найдено нигде в Stackoverflow ... – JustAGuy

+0

Если ваша переменная уже является '[Object []]', перейдите прямо сейчас. Если нет, используйте 'split'. – Vesper

+1

И о путях, они, вероятно, говорят, что вы не искали достаточно сильно. Вероятно, укажите код о том, как вы получаете содержимое переменной, XXXXing конфиденциальных данных, если они есть. – Vesper

ответ

4

По вашему описанию ваша переменная представляет собой строку с символами новой строки. Вы можете превратить его в массив строку однострочного по телефону это:

$result = $result -split "`r`n" 
7
ForEach ($line in $($result -split "`r`n")) 
{ 
    Write-host $Line 
} 
+0

Метод -split не работает для меня, но $ Result.Split ("' r'n ") работает? –

+0

Ваши окончания строк могут быть \ 'r или \' n vs. \ 'r \' n – realslacker

Смежные вопросы