Guest User

dhcp scope range parsing

a guest
Sep 2nd, 2013
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. cls
  2. $file = Get-Content "show_iprange.txt" | Out-String
  3.  
  4. #$regexStr = "Options for Scope (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):\r\n\r\n\tDHCP Standard Options :\r\n\tGeneral Option Values:\r\n\t(OptionId : (\d+) \r\n\tOption Value: \r\n\t\tNumber of Option Elements = \d+\r\t\tOption Element Type = \w\r\n\t\tOption Element Value = ([\r\n]+)\r\n)+"
  5. $regexStr = "Changed the current scope context to (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) scope.[\r\n]+([^\r\n]+\r\n){3} +(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) +- +(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) +- +DHCP ONLY\r\n"
  6. $regex = [regex]::Matches($file, $regexStr, [System.Text.RegularExpressions.RegexOptions]::Multiline -bor [System.Text.RegularExpressions.RegexOptions]::IgnoreCase)
  7.  
  8. $objArr = @()
  9.  
  10. $regex | foreach {
  11.     $ScopeName = $_.Groups[1].Value
  12.    
  13.     $StartRange = $_.Groups[3].Value
  14.     $EndRange = $_.Groups[4].Value
  15.    
  16.     $obj = New-Object System.Object
  17.     $obj | Add-Member -Name "ScopeName" -MemberType NoteProperty -Value $ScopeName
  18.     $obj | Add-Member -Name "StartRange" -MemberType NoteProperty -Value $StartRange
  19.     $obj | Add-Member -Name "EndRange" -MemberType NoteProperty -Value $EndRange
  20.     $objArr += $obj
  21. }
  22. $objArr | Export-Csv "DHCP_Range.csv" -Encoding UTF8 -Delimiter ";" -NoTypeInformation
Advertisement
Add Comment
Please, Sign In to add comment