我正在编写一个 Powershell 脚本来“构建”Windows 7 PC:添加用户、打印机、应用程序、更改设置等。我正在使用 PNPUtil 添加一些打印机驱动程序,但问题是我不知道驱动程序将给出什么“已发布名称”。
如果我将 PNPUtil 命令的输出放入 .txt 文件中,有没有办法让我获取_ _ .inf 已发布名称并将其放入变量中,以便我可以使用该名称添加打印机$printerclass.CreateInstance()?
我正在编写一个 Powershell 脚本来“构建”Windows 7 PC:添加用户、打印机、应用程序、更改设置等。我正在使用 PNPUtil 添加一些打印机驱动程序,但问题是我不知道驱动程序将给出什么“已发布名称”。
如果我将 PNPUtil 命令的输出放入 .txt 文件中,有没有办法让我获取_ _ .inf 已发布名称并将其放入变量中,以便我可以使用该名称添加打印机$printerclass.CreateInstance()?
如果 PNPUtil 只输出您感兴趣的名称,则不必使用文件。也就是说,您可以将其输出分配给如下变量:
$result = pnputil.exe
顺便说一句,如果你想使用文件,从你使用 Get-Content 的文件中读取内容:
pnputil.exe > result.txt
$result = Get-Content result.txt
$line = $result | Foreach {if ($_ -match 'assigned an (\w+\.inf)') {$matches[1]}}
好的 - 我找到了自己的解决方案:添加 .inf 文件后,该 .inf 中的所有驱动程序名称都存储在 Microsoft 更新文件中。我只需要从每个 .inf 文件中知道我需要的驱动程序的具体名称即可添加打印机。
但是,我仍然很想知道如何使用 Powershell 从文件中的行中获取字符串。