Я не эксперт в powershell, но ищу написать функцию в powershell для чтения раздела строк из конфигурации Cisco IOS, загруженного в виде текстового файла в powershell.будет несколько разделов с разными именами, каждый раздел имеет родительскую строку с дочерним разделом, как показано ниже в конфигурации.раздел "interface" имеет имена, раздел "object" имеет имена, а раздел "object-group" имеет имена для их фильтрации или поиска.Итак, как написать функцию для получения каждого раздела строк, а затем проанализировать, чтобы получить IP-адреса из этого раздела.
Пример конфигурации IOS:
interface GigabitEthernet0/0
description XXX
speed 1000
duplex full
nameif XXX
security-level 100
ip address 1.1.1.1 255.255.255.0
!
interface GigabitEthernet0/1
description YYY
speed 1000
duplex full
nameif YYY
security-level 100
ip address 2.2.2.2 255.255.255.0
!
...
object network APP_NETWORK
subnet 10.10.10.1 255.255.255.0
object network WEB_NETWORK
host 10.10.10.2
object network DB_NETWORK
range 10.10.10.3 10.10.10.5
...
object-group network APP_GROUP
network-object host 10.10.20.1
network-object host 10.10.20.2
network-object host 10.10.20.3
object-group network WEB_GROUP
network-object host 10.10.30.1
network-object host 10.10.30.2
network-object host 10.10.30.3
...
Например, я попытался выполнить следующее, чтобы прочитать все "родительские разделы сети объектной группы:
$config = Get-Content $runconfig -ErrorAction stop
$config | where { $_.Contains("object-group network") }
Но не удалось получить дочерний раздел вместе с.Как написать функцию, чтобы получить родительский и дочерний раздел как.Example1
Get-Section(object-group network APP_GROUP)
должен возвращать следующее
object-group network APP_GROUP
network-object host 10.10.20.1
network-object host 10.10.20.2
network-object host 10.10.20.3
Example2
Get-Section(nameif XXX) OR Get-Section(interface GigabitEthernet0/0)
должно возвращать что-то подобное
interface GigabitEthernet0/0
description XXX
speed 1000
duplex full
nameif XXX
security-level 100
ip address 1.1.1.1 255.255.255.0
!
Я искал многоблоги, ваша помощь или советы будут действительно оценены!Спасибо!