Is using Get-Content on a Text file the right cmdlet for searching for data within my text file?


hello,

the intent of script determine there no errors in output of gpotool command contained in text file.

an example of text, output of gpotool command (which in text file read script get-content) follows.  understand get-content creates array, want after read in txt file , create array specific words/characters such "policy {",  "friendly name:", , "policy ok". 

when run code below in powershell ise, "policy {" statements grouped together.  due array?  hoping array kept "policy {",  "friendly name:", , "policy ok" statements when found when policy not ok, reference previous "policy {",  "friendly name:" lines , write out know gpos have issues.

if issue im seeing due array, there way read in text file can process file 'line line'?

thanks in advance.

powershell code

# assign variables
$policywbracket                 = "policy {"

# read in file , process
$line = get-content file.txt
do  {
   $line[$i]
   $line -match $policywbracket
   $i ++
  } until ($i -eq $line.length) 

file.txt


validating dcs...
available dcs:
abc123
abc456
abc789
searching policies...
found 97 policies
============================================================
policy {039f4919-2137-41ca-a17e-781c69eb02d4}
friendly name: acme enable ping buffer size of 1024 v1.0
policy ok
details:
------------------------------------------------------------
dc: abc123
friendly name: acme enable ping buffer size of 1024 v1.0
created: 5/22/2010 12:11:33 pm
changed: 5/25/2010 1:03:48 pm
ds version:     0(user) 4(machine)
sysvol version: 0(user) 4(machine)
flags: 0 (user side enabled; machine side enabled)
user extensions: not found
machine extensions: [{35378eac-683f-11d2-a89a-00c04fbbcfa2}{0f6b957d-509e-11d1-a7cc-0000f87571e3}]
functionality version: 2
------------------------------------------------------------
------------------------------------------------------------
dc: abc456
friendly name: acme enable ping buffer size of 1024 v1.0
created: 5/22/2010 12:11:33 pm
changed: 5/25/2010 1:04:36 pm
ds version:     0(user) 4(machine)
sysvol version: 0(user) 4(machine)
flags: 0 (user side enabled; machine side enabled)
user extensions: not found
machine extensions: [{35378eac-683f-11d2-a89a-00c04fbbcfa2}{0f6b957d-509e-11d1-a7cc-0000f87571e3}]
functionality version: 2
------------------------------------------------------------
------------------------------------------------------------
dc: abc789
friendly name: acme enable ping buffer size of 1024 v1.0
created: 5/22/2010 12:11:33 pm
changed: 5/25/2010 1:04:48 pm
ds version:     0(user) 4(machine)
sysvol version: 0(user) 4(machine)
flags: 0 (user side enabled; machine side enabled)
user extensions: not found
machine extensions: [{35378eac-683f-11d2-a89a-00c04fbbcfa2}{0f6b957d-509e-11d1-a7cc-0000f87571e3}]
functionality version: 2
------------------------------------------------------------
============================================================
policy {0405faf6-9b2b-41ed-b643-db9866c66543}
friendly name: acme enable desktop managed workstation policy v1.1
policy ok
details:
------------------------------------------------------------
dc: abc123
friendly name: acme enable desktop managed workstation policy v1.1
created: 9/23/2004 9:14:44 pm
changed: 4/16/2010 12:55:22 pm
ds version:     1(user) 10(machine)
sysvol version: 1(user) 10(machine)
flags: 1 (user side disabled; machine side enabled)
user extensions: not found
machine extensions: [{35378eac-683f-11d2-a89a-00c04fbbcfa2}{0f6b957d-509e-11d1-a7cc-0000f87571e3}{53d6ab1d-2488-11d1-a28c-00c04fb94f17}][{827d319e-6eac-11d2-a4ea-00c04f79f83a}{803e14a0-b4fb-11d0-a0d0-00a0c90f574b}][{b1be8d72-6eac-11d2-a4ea-00c04f79f83a}{53d6ab1d-2488-11d1-a28c-00c04fb94f17}]
functionality version: 2
------------------------------------------------------------
------------------------------------------------------------
dc: abc456
friendly name: acme enable desktop managed workstation policy v1.1
created: 9/23/2004 9:14:44 pm
changed: 4/16/2010 12:55:25 pm
ds version:     1(user) 10(machine)
sysvol version: 1(user) 10(machine)
flags: 1 (user side disabled; machine side enabled)
user extensions: not found
machine extensions: [{35378eac-683f-11d2-a89a-00c04fbbcfa2}{0f6b957d-509e-11d1-a7cc-0000f87571e3}{53d6ab1d-2488-11d1-a28c-00c04fb94f17}][{827d319e-6eac-11d2-a4ea-00c04f79f83a}{803e14a0-b4fb-11d0-a0d0-00a0c90f574b}][{b1be8d72-6eac-11d2-a4ea-00c04f79f83a}{53d6ab1d-2488-11d1-a28c-00c04fb94f17}]
functionality version: 2
------------------------------------------------------------
------------------------------------------------------------
dc: abc789
friendly name: acme enable desktop managed workstation policy v1.1
created: 9/23/2004 9:14:44 pm
changed: 4/16/2010 12:55:27 pm
ds version:     1(user) 10(machine)
sysvol version: 1(user) 10(machine)
flags: 1 (user side disabled; machine side enabled)
user extensions: not found
machine extensions: [{35378eac-683f-11d2-a89a-00c04fbbcfa2}{0f6b957d-509e-11d1-a7cc-0000f87571e3}{53d6ab1d-2488-11d1-a28c-00c04fb94f17}][{827d319e-6eac-11d2-a4ea-00c04f79f83a}{803e14a0-b4fb-11d0-a0d0-00a0c90f574b}][{b1be8d72-6eac-11d2-a4ea-00c04f79f83a}{53d6ab1d-2488-11d1-a28c-00c04fb94f17}]
functionality version: 2
------------------------------------------------------------
============================================================
policy {0552864b-2f64-4f70-bc5a-03886f15270c}
friendly name: acme outlook 2007 ocs user base policy v1.0
policy ok
details:
------------------------------------------------------------


thanks help! sdedot

you use select-string...
 
that let in file, , can grab lines before , after..
or return true/false if looking found.... sorts of
options :)
 
 

justin rich
http://jrich523.wordpress.com
please remember mark replies answers if , unmark them if provide no help.


Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

2008 Windows Deployment Server Properties Error

Can no longer user MS Update - Files required to use Microsoft Update are no longer registered

How do a find data in one file, search for it in another file and if not found, write a custom message to another file