如何获取打印机对象并在Powershell 2.0中重命名它

时间:2015-10-12 18:56:25

标签: powershell wmi powershell-v2.0

我的任务是让客户在十几个Windows 2008r2节点上重命名数千台打印机。显然,这是powershell的工作。但我只有PowerShell 2.0。我想删除它们只是重建它们,但这需要更长的时间。

我需要做的是抓住打印机并更改其名称。问题,对于我的生活,我无法找到如何获得特定的打印机!

我需要知道的是如何按名称查找打印机(我有电子表格),获取其对象,并将其修改为新名称。求救!

请注意,我不知道如何使用vbscript。昨天和今天早上我花了很多时间试图找出如何在vb中使用Win32_Printer而我只是放弃了。

1 个答案:

答案 0 :(得分:2)

要与PowerShell中的Win32_Printer进行互动,请使用Get-WmiObject

$Printer = Get-WmiObject -Query "SELECT * FROM Win32_Printer WHERE NAME = 'Printer01'"

现在,要重命名打印机,请在$Printer上调用RenamePrinter()方法:

$Rename = $Printer.RenamePrinter("NewPrinterName01")
if($Rename.ReturnValue -eq 0){
    Write-Host "Printer renamed"
} else {
    Write-Warning "Rename failed"
}