I've managed to use Select-String to get my output and my variable, it's splitting the variable up (from something like *ClientOS=ThinOS_Wyse* down to just *ThinOS_Wyse*) that's frying my brain now. I really should take reference publications kindly provided by people down the years with me onto sites :-(
All fun! On 16 April 2013 17:00, Ben Scott <mailvor...@gmail.com> wrote: > On Tue, Apr 16, 2013 at 11:05 AM, James Rankin <kz2...@googlemail.com> > wrote: > > for /f "tokens=2 delims==" %%a in ('CTXCliOS.exe ^| find "ClientOS"') do > set > > ClientOS=%%a& call :SET > > > > goto :eof > > > > :SET > > > > reg add HKCU\Software\Custom /v ClientOS /t REG_SZ /d %ClientOS% /f > > goto :eof > > > > > What I'm wondering is what format do I use to convert this to PowerShell > > (which will avoid having to invoke a separate command script file)? > > Only work will convert a script to another language. :) > > > What's the command to call an outside executable > > Nominally, just write out the command on a line, same as a batch > file or *nix shell script. However, if the external executable needs > to be quoted (e.g., file name or path contains spaces), you need to > prefix the command line with an ampersand (&). Otherwise PowerShell > treats it as a string. Kind of a wart on what's generally a much > cleaner language. You can always specify & if you want. > > I believe you want something like: > > $match = & CTXCliOS.exe | Select-String -Pattern 'ClientOS\s+(.+)' > if($match) { > $clientOS = <then a miracle occurs> > Set-ItemProperty -Path 'HKCU:\Software\Custom' -Name ClientOS > -Value $clientOS > } > > I'm having trouble figuring out how to get the regexp capture out of > the $match object returned by Select-String though. Get-Member leads > me to believe I should be able to do something with > > $match.Matches[0].Groups > > but it seems to descend into some kind of recursive nightmare at that > point that makes me believe I'm missing something more fundamental. > > -- Ben > > ~ Finally, powerful endpoint security that ISN'T a resource hog! ~ > ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~ > > --- > To manage subscriptions click here: > http://lyris.sunbelt-software.com/read/my_forums/ > or send an email to listmana...@lyris.sunbeltsoftware.com > with the body: unsubscribe ntsysadmin > -- *James Rankin* Technical Consultant (ACA, CCA, MCTS) http://appsensebigot.blogspot.co.uk ~ Finally, powerful endpoint security that ISN'T a resource hog! ~ ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~ --- To manage subscriptions click here: http://lyris.sunbelt-software.com/read/my_forums/ or send an email to listmana...@lyris.sunbeltsoftware.com with the body: unsubscribe ntsysadmin