BigRedEO
BigRedEO

Reputation: 837

Powershell how to take string from file and put into a variable

I am writing a Powershell script to "build" Windows 7 PCs: adding users, printers, applications, changing settings, et al. I am adding some printer drivers using PNPUtil, but the problem is I won't know what "Published name" the drivers will be given.

If I put the output from the PNPUtil command into a .txt file, is there a way for me to then take the __.inf Published name and put it into a variable so that I can then use that name to add the printer using $printerclass.CreateInstance()?

Upvotes: 0

Views: 2015

Answers (2)

BigRedEO
BigRedEO

Reputation: 837

Okay - I found my own solution: Once the .inf file is added, all the driver names in that .inf are stored in the Microsoft update files. I just need to know the specific name of the driver I need from each .inf file in order to add the Printers.

However, I'd still love to know how to get a string from a line from a file using Powershell.

Upvotes: 0

Keith Hill
Keith Hill

Reputation: 201672

You don't have to use a file if PNPUtil only outputs the name your interested in. That is, you can assign its output to a variable like so:

$result = pnputil.exe

BTW if you want to use a file, to read content from a file you use Get-Content:

pnputil.exe > result.txt
$result = Get-Content result.txt
$line = $result | Foreach {if ($_ -match 'assigned an (\w+\.inf)') {$matches[1]}}

Upvotes: 2

Related Questions