如何通过 PowerShell 将“设备和打印机”中的对象查询到数组中
Posted
技术标签:
【中文标题】如何通过 PowerShell 将“设备和打印机”中的对象查询到数组中【英文标题】:How to query the objects in "Devices and Printers" into an array via PowerShell 【发布时间】:2018-12-14 23:22:57 【问题描述】:我在尝试查询设备和打印机中的项目时遇到问题。长期目标是删除位于“HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices”中的所有内容,但位于设备和打印机中的设备除外。
除非有其他方法可以做到这一点,否则我只需要“设备和打印机”中的一组项目。
【问题讨论】:
【参考方案1】:您可以使用Get-Command
或gcm
发现命令。
这应该会让你继续前进......
C:\WINDOWS\system32> gcm *printer*
CommandType Name Version Source
----------- ---- ------- ------
Function Add-Printer 1.1 PrintManagement
Function Add-PrinterDriver 1.1 PrintManagement
Function Add-PrinterPort 1.1 PrintManagement
Function Get-Printer 1.1 PrintManagement
Function Get-PrinterDriver 1.1 PrintManagement
Function Get-PrinterPort 1.1 PrintManagement
Function Get-PrinterProperty 1.1 PrintManagement
Function Read-PrinterNfcTag 1.1 PrintManagement
Function Remove-Printer 1.1 PrintManagement
Function Remove-PrinterDriver 1.1 PrintManagement
Function Remove-PrinterPort 1.1 PrintManagement
Function Rename-Printer 1.1 PrintManagement
Function Set-Printer 1.1 PrintManagement
Function Set-PrinterProperty 1.1 PrintManagement
Function Write-PrinterNfcTag 1.1 PrintManagement
Cmdlet Out-Printer 3.1.0.0 Microsoft.PowerShell.Utility
C:\WINDOWS\system32> Get-Printer
Name ComputerName Type DriverName PortName Shared Published DeviceType
---- ------------ ---- ---------- -------- ------ --------- ----------
Send To OneNote 2016 Local Send to Microsoft OneN... nul: False False Print
Microsoft XPS Document Writer Local Microsoft XPS Document... PORTPROMPT: False False Print
Microsoft Print to PDF Local Microsoft Print To PDF PORTPROMPT: False False Print
Fax Local Microsoft Shared Fax D... SHRFAX: False False Print
...
...
【讨论】:
谢谢@kory-gill!这肯定会在未来有所帮助。但是,我问的是如何将 Name 字段放入一个数组中。例如,变量 $Devices 只会输出“Send To OneNote 2016, Microsoft XPS Document Writer, etc”。Get-Printer | Select Name
会这样做。以上是关于如何通过 PowerShell 将“设备和打印机”中的对象查询到数组中的主要内容,如果未能解决你的问题,请参考以下文章